次のメディア情報を含むmovファイルがあります。
Stream 0
Type: Video
Codec: H264-MPEG-4 AVC (part 10)avc1
Language: English
Resolution: 1280x720
Frame rate: 24
Stream 1
Type: Audio
Codec: MPEG AAC Audio (mp4a)
Language: English
Channels: Stereo
Sample rate: 44100HZ
そして、FFmpegを使用して、そのMOVファイルをAVIファイルに変換したいと思います。
私はオーディオとビデオのビットレートを指定できることを知っています( この記事 から):
ffmpeg -i InputFile.mpg -ab 128 -b 1200 OutputFile.avi
しかし、私の場合、元の品質を維持したい場合、オーディオとビデオのビットレートはどのようにする必要がありますか?
ビデオとオーディオのターゲットビットレートを指定するには、それぞれ-b:v
および-b:a
オプションを使用します。 kBit/sの場合はK
、MBit/sの場合はM
のような省略形を使用できます。
例えば:
ffmpeg -i input.mp4 -b:v 1M -b:a 192k output.avi
注意:
これは、最後に指定されたビットレートに到達しようとする単純なワンパスエンコードです。これにより、ビデオパーツのビットレート推定が誤ったものになる可能性があります。特定のビットレートをターゲットにする場合は、2パスエンコーディングモードを使用することをお勧めします。その他のヒントについては、 H.264エンコーディングガイド を参照してください。
品質を確認してください:必要ですか?次に、より高いビットレートを使用します。あなたに最適なものを試してみてください。入力と同じビットレートを単純に使用すると、可能性が高くなります 生成損失 により、元の品質よりも品質が大幅に低下します。
ffmpegは、AVIコンテナーのデフォルトのビデオおよびオーディオコーデックを選択します。これは、それぞれmpeg4
およびlibmp3lame
エンコーダーであるため、MPEG-4パートIIビデオおよびMP3オーディオです。 。元のビデオおよびオーディオコーデック(H.264およびAAC)は、AVIコンテナーでサポートされていないため、ここでは使用できません。
ほとんどどのコーデックでも特定のビットレートを設定できますが、多くのコーデックには可変ビットレート/固定品質モードがあります。特定のファイルサイズを気にしない場合は、代わりにこのモードを使用してください。 H.264エンコーディングガイド および 定数レート係数 のセクションをお読みください。