web-dev-qa-db-ja.com

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を使用しています

19
x74x61

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

試してください:

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

[〜#〜] crf [〜#〜] オプションはエンコード品質を設定します。ビットレートは、ビデオ全体で一貫した品質を提供するために必要に応じて異なります。 51が最悪、0が最高—ロスレス。

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

-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"
28
paulgrav