10

私はビデオエンコーディングに不慣れなので、我慢してください。

私はFFMPEGを使用しています。私は640x350の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 に答える