10

我是视频编码的新手,所以请耐心等待。

我正在使用 FFMPEG。我有一个 640 x 350 的 mp4 文件,平均比特率约为 2000kb(我认为),文件大小为 80Mb。我想将其转换为比特率低得多(128kb)但宽度和高度相同的 ogv 文件。我正在使用以下命令...

ffmpeg -i input.mp4 -b:v 128k output.ogv

...但 FFMPEG 似乎忽略了我的比特率选项并输出比特率约为 600kb 且文件大小约为 3Mb 的文件。

我可以使用 FFMPEG2THEORA 使用以下命令执行此操作...

ffmpeg2theora -V 128 input.mp4 -o output.ogv

...但我想知道是否可以使用 FFMPEG。

有任何想法吗?

编辑

mark4o 解决了我的问题。事实证明,默认的音频编解码器增加了文件大小。将其更改为 libvorbis 已大大减少了文件大小。最终命令看起来像

ffmpeg -i input.mp4 -b:v 128k -b:a 128k -codec:a libvorbis output128.ogv
  • -i= 输入文件
  • -b:v= 视频流的比特率
  • -b:a= 音频流的比特率
  • -codec:a= 覆盖默认音频编解码器
4

1 回答 1

5

-b:v只影响视频比特率。出于某种原因ffmpeg,默认使用 flac 音频编解码器进行.ogv输出(至少在某些版本中)。在这种情况下,flac 音频将比您的视频更大。

假设您想要 vorbis 音频,请在输出文件名之前使用选项-codec:a libvorbis(或在某些版本中)来指定它。-acodec libvorbis您可能还想为音频指定比特率,例如-b:a 32k(或-ba 32k)。如果您希望比特率为 128kbps,请指定总计为 128k 的音频和视频比特率(或者如果您想补偿 ogg 容器开销,则要少一些)。

于 2012-05-15T19:47:50.013 回答