FFmpeg: 変換中に品質を維持する

FFmpeg: 変換中に品質を維持する

重複の可能性あり:
品質を保ったままAVIをMP4に変換する

大量の wmv、mpg、avi ファイル (オーディオとビデオのエンコードが異なる) を同等の品質で mp4/x264/aac に変換したいと考えています。次のコマンドでいくつかテストを行いました。

ffmpeg.exe -i "test.avi" -c:v libx264 -c:a libvo_aacenc "test.mp4"

(ご覧のとおり、オーディオとビデオのビットレートと品質を指定するオプションは省略しています)

このコマンドを使用すると、FFmpeg はビデオのサイズを自動的に保持しますが、ビットレートなどが省略された場合にどのように処理されるのかはまだわかりません。ビデオを別の形式やコーデックに変換しながら、ビデオの品質を維持する最善の方法は何ですか?

私は64ビットWindows 7とffmpeg-20121230-git-518239c-win64-sharedを使用しています

答え1

FFmpeg は-crfデフォルトでオプションを 23 に設定します。

試す:

ffmpeg.exe -i "test.avi" -c:v libx264 -crf 20 -c:a aac -strict -2 "test.mp4"

CRFSオプションはエンコード品質を設定します。ビットレートは、ビデオ全体で一貫した品質を提供するために必要に応じて変化します。51 が最低で、0 が最高 (ロスレス) です。

私は、すべてのエンコードを 20 に設定する傾向があります。これは Handbrake のデフォルトであり、品質に満足しています。この値を試してみて、自分に受け入れられる品質レベルを見つけることをお勧めします。

-ssおよび-tオプションを使用して、短いテスト エンコードを作成することもできます。-ssは開始時間、-tは継続時間 (どちらも秒単位) です。許容範囲を判断するためにビデオ全体をエンコードする必要はおそらくありません。

ビデオの 1 分目から始まる 1 分間のクリップを作成するには:

ffmpeg.exe -i "test.avi" -c:v libx264 -crf 20  -c:a aac -strict -2 -ss 60 -t 60 "test.mp4"

関連情報