欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 一.ffmpeg打开麦克风,录制音频并重采样

一.ffmpeg打开麦克风,录制音频并重采样

2025/3/17 22:45:53 来源:https://blog.csdn.net/Ricardo_XIAOHAO/article/details/146217176  浏览:    关键词:一.ffmpeg打开麦克风,录制音频并重采样

一.windows

windows下使用msys编译ffmpeg,先编译libx264和libx265,然后编译ffmpeg的时候需要添加这两个库的路径才能--enable;为什么ffplay--enable了还是没有呢,仔细看编译打印,可能刚有一段报错提示SDL找不到,这个时候咱们就直接使用msys安装SDL,然后--enable启动sdl,这样ffplay就可以编译成功了。参考这个博主:

FFmpeg在 Windows 环境编译(64位)支持h264,h265,和Intel QSV,Nvidia Cuda,AMD amf 硬件加速_ffmpeg x64-CSDN博客

注意:

此时ffmpeg的libfdk_aac、opus等编码器还没下载,需要使用msys下载

 pacman -S mingw-w64-x86_64-fdk-aacpacman -S mingw-w64-x86_64-lamepacman -S mingw-w64-x86_64-opus

#windows中我这里使用cmakelists进行编译,使用的工具是msys+make(随便一搜就有如何下载)
#build下构建指令
cmake .. -G "Unix Makefiles"
make

ffmpeg的源码是c风格的,添加头文件需要使用extern “C”{}括起来 

打开麦克风

#查看自己系统的音频设备信息
ffmpeg -list_devices true -f dshow -i dummy
#录制音频(windows)
ffmpeg -f dshow -i audio="virtual-audio-capturer" out1.wav
#linux
ffmpeg -f alsa-i audio="virtual-audio-capturer" out1.wav

录制音频

#采样率44100 双声道 s16le表示位深度为16位,
#意味着每个样本大小使用16位(8位一个字节,2个字节)来表示值
ffmpeg -f dshow -i default -ac 2 -ar 44100 -c:a s16le output.wav  

重采样

在重采样之前,我们先获取自己的音频设备采样参数:

//获取音频设备列表
ffmpeg -list_devices true -f dshow -i dummy
//获取音频采样参数
ffmpeg -f dshow -i audio="xxxxx"

也可以先用ffmpeg在本地录制一段音频,然后使用ffplay播放就可以看到了。

#使用ffplay播放pcm
ffplay -f s16le -ar 44100 -ac 2 out.pcm

注意:需要戴耳机否则没麦声音特别小。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词