FFmpeg教程-二-代码实现录音

目录

一,实现步骤

二,具体实现

1,注册设备

2,获取输入格式对象

3,打开设备

4,采集数据


一,实现步骤

二,具体实现

1,注册设备

// 初始化libavdevice并注册所有输入和输出设备
avdevice_register_all();

2,获取输入格式对象

//获取输入格式对象
const char *fmtName = "dshow";  //设备名,根据自己的来
const AVInputFormat *fmt = av_find_input_format(fmtName);

3,打开设备

AVFormatContext *ctx = NULL;//格式上下文
const char *deviceName = "audio=阵列麦克风 (AMD Audio Device)"; //自己的输入设备名
int ret = avformat_open_input(&ctx,deviceName,fmt,nullptr);  //打开
   if(ret<0)
   {
       char errbuf[1024];
       av_strerror(ret,errbuf,sizeof (errbuf));
       qDebug()<<"打开设备失败";
       return ;
   }else{
       qDebug()<<"打开成功";
   }

4,采集数据


   AVPacket pkt;//数据包
   av_read_frame(ctx,&pkt);
   file.write((const char *)pkt.data,pkt.size);  //写入。 (请自己创建文件对象file)
   file.close();

5,释放资源

   avformat_close_input(&ctx);   //关闭设备

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用FFmpeg录制视频,首先需要搭建好FFmpeg的环境。可以参考中提供的链接来了解如何搭建环境。 在搭建好环境之后,可以通过调用摄像头来录制视频和录音。具体的录制实现流程可以参考中提供的链接。 在录制视频的过程中,还需要编写将PCM编码为AAC以及将YUV编码为H264的方法。这些方法可以根据具体的需求和使用的编程语言来实现。 需要注意的是,在编写代码的过程中,需要调用FFmpeg的相关函数来进行视频的编码和保存。可以参考FFmpeg的官方文档或者其他的教程来了解如何使用FFmpeg进行视频的录制和编码。 总结起来,使用FFmpeg录制视频的步骤包括搭建环境、调用摄像头进行录制、编写编码方法将音频和视频编码,并保存录制的视频文件。具体的实现方法可以根据个人需要和编程语言进行调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ffmpeg录制视频包ffmpeg录制视频包](https://download.csdn.net/download/qq_30273575/87898080)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [FFmpeg编程开发笔记 —— Android环境使用FFmpeg录制视频](https://blog.csdn.net/weixin_32141253/article/details/117479408)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值