如何使用ffmpeg编码ogg音频文件?

如何使用ffmpeg编码ogg音频文件?

我想转换以下简单oggenc命令以供使用ffmpeg

oggenc -b 8 input.wav -o out.ogg

来自ffmpeg libvorbis 包装器文档, 它说,

libvorbis 包装器支持以下选项。这些选项的 oggenc 等效项列在括号中。

  b (-b)

设置 ABR 的比特率(以比特/秒为单位)。oggenc -b 以千比特/秒为单位表示。

但我不知道如何应用它ffmpeg,我试过了,

ffmpeg -i input.aac -c:a libvorbis -b 8 out.ogg
ffmpeg -i input.aac -c:a libvorbis b 8 out.ogg
ffmpeg -i input.aac -c:a libvorbis=b:8 out.ogg

但都未能按预期发挥作用。

更新:我想知道如何将 ffmpeg (libvorbis 包装器) 文档中列出的选项“翻译”为 ffmpeg 命令。我可以使用-abswitch 进行转码,但我认为这不是libvorbis 包装器特定选项。因此,如果您提供答案,请提供同时指定以下所有选项的演示。

b (-b)

q (-q)

minrate (-m)

maxrate (-M)

iblock

答案1

答案就在你的问题里:

oggenc option    corresponding ffmpeg option
-b               -b:a
-q               -q:a
-m               -minrate
-M               -maxrate

示例命令

ffmpeg -i input.aac -c:a libvorbis -b:a 8k output.oga

如果您期望的值8k失败,则使用更高的比特率或降低音频采样率-ar,例如-ar 8000

编码器和复用器信息

您可以通过以下方式查看附加信息以及特定于此编码器的单个私有选项:

ffmpeg -h encoder=libvorbis

您还可以获取有关多路复用器/输出容器格式的信息:

ffmpeg -h muxer=ogg

答案2

这对我有用:

ffmpeg -i test.aac -c:a libvorbis -b:a 64k test.ogg

我认为 8kb/s 不是一个有效值,但我可能是错的。:-)

相关内容