【发布时间】:2020-08-05 01:28:41
【问题描述】:
是否可以仅使用 ffmpeg 过滤器设置音频格式?
我的用例是程序化使用,所以如果可以使用过滤器,那将简化一切。
# create sample s16 audio
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -c:a pcm_s16le -ar 8000 test.wav
# works
ffmpeg -i test.wav -y -af 'aresample=osf=flt,aformat=sample_fmts=flt' -f f32le test_f32.raw
# fails
ffmpeg -i test.wav -y -af 'aresample=osf=flt,aformat=sample_fmts=flt' test_f32.raw
# [NULL @ 0x56042863d980] Unable to find a suitable output format for 'test_f32.raw'
【问题讨论】:
-
您的“有效”命令应该是如何完成的。
.raw不是通用扩展,所以 ffmpeg 猜不出你想要的格式。 -
我以为
aformat可以指定输出格式而不是-f,不是吗? -
aformat 仅处理帧中音频样本的格式。 -f 处理输出文件格式。
-
little/big-endian (e.g. pcm_s16le, pcm_s16be) 只与输出文件格式有关吗?框架内使用什么字节序?总是小端的吗?
-
啊,看来我的问题在这里得到了回答:stackoverflow.com/questions/40115629/…