2012-05-15 178 views
8

我是新来的视频编码,所以忍受着我。FFMPEG忽略比特率

我正在使用FFMPEG。我有一个640×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 =覆盖默认的音频编解码器
+2

您的非工作命令的完整ffmpeg控制台输出丢失。它可能会提供一些有用的信息,并且始终是尝试重现问题的第一步。 – LordNeckbeard

回答

4

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

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

+0

就是这样。一定是音频编解码器碰撞文件大小。我将编解码器更改为libvorbis,文件大小大幅下降。最新的问题中的最终命令。 –

+0

p.s谢谢。非常感谢。 –