我正在捕获 Opus 的实时音频流,无论我为音频采样率选择什么,我都会得到 48khz 的输出。
这是我的命令行
./ffmpeg -f alsa -ar 16000 -i sysdefault:CARD=CODEC -f alsa -ar 16000 -i sysdefault:CARD=CODEC_1 -filter_complex join=inputs=2:channel_layout=stereo:map=0.1-FR\|1.0- FL,asetpts=expr=N/SR/TB -ar 16000 -ab 64k -c:a opus -vbr off -compression_level 5 output.ogg
这就是 ffmpeg 的回应:
输出 #0,ogg,到“output.ogg”:元数据:编码器:Lavf57.48.100 流 #0:0:音频:opus (libopus),16000 Hz,立体声,s16,延迟 104,填充 0,64 kb/s (默认)元数据:编码器:Lavc57.54.100 libopus
但是,似乎 ffmpeg 撒了谎,因为再次分析文件时,我得到:
输入 #0,ogg,来自“output.ogg”:持续时间:00:00:03.21,开始:0.000000,比特率:89 kb/s 流 #0:0:音频:opus,48000 Hz,立体声,s16,延迟 156 ,填充0元数据:编码器:Lavc57.54.100 libopus
我尝试了很多采样率的排列,简化为单个音频输入等 - 总是得到相同的结果。
有任何想法吗?