查看 pcm 位深 大小参数
# linux or mac
ffmpeg -formats | grep PCM
# win
ffmpeg -formats | findstr PCM
播放 pcm 文件
ffplay ar 44100 -ac 2 -f s16le
mac 系统查看 麦克风参数, 可以在 mac 系统报告, 里面 audio 里面查看。
查看录音时可以传入的参数
ffmpeg -hide_banner -h demuxer=avfoundation
抽取 pcm 文件
ffmpeg -i 卜卦-梅梅犬.m4a -ar 44100 -ac 2 -f s16le bg.pcm
mac ffmpeg 录制声音
必须先指定 录音设备
-i: 1 或者 -i:0
1 或者 0 代表录音设备,查看是哪个设备,使用如下命令:
ffmpeg -f avfoundation -list_devices true -i dummy
然后 指定 采样频率 采样大小 声道
-ar 44100 指定采样大小 我的 mbp 2018 的麦克风的默认 采样是 48000 ffmpeg 不允许使用这样的采样频率,因为太大了,
-f s16le 指定每个样本的大小
-channel_layout mono 指定升到布局 暂时不知道如何查看声道布局 如果指定 -channel_layout stereo 播放时不传入,则听到奇怪的录音
录制 pcm
ffmpeg -hide_banner -f avfoundation -i :1 -ar 44100 -f s16le -channel_layout mono test_record_intermial.pcm
播放 pcm
ffplay -ar 44100 -f s16le -ch_layout mono test_record_intermial.pcm
如果录音的文件后缀为 wav 则播放时 无需指定参数直接可以播放
查看支持的声道布局
ffplay -layouts # 显示所有支持的声道布局
精确控制声道
# 使用具体的声道布局掩码
ffplay -ch_layout 0x63 input.wav # 4.0布局
将 44100_s16le_2 转换成 48000_f32le_1
ffmpeg -ar 44100 -ac 2 -f s16le -i 44100_s16le_2.pcm -ar 48000 -ac 1 -f f32le 48000_f32le_1.pcm
vscode 解决 qt include 路径,红色波浪线问题,不能自动提示, 要么使用 quick fix。
要么手动配置: