2012-05-15 94 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謝謝。非常感謝。 –