ffmpeg を使用して mp4 から avi に変換するときに最高の品質を得るにはどうすればよいですか?

ffmpeg を使用して mp4 から avi に変換するときに最高の品質を得るにはどうすればよいですか?

これを使うと、品質は悪くないように見えます。

ffmpeg -same_quant -i video.mp4 video.avi

ドキュメントにはffmpeg次のように書かれています: 「これは同じ品質ではないことに注意してください。必要な場合を除き、このオプションを使用しないでください。」

最高の品質が得られます-same_quantか、それとも入力と同じ品質が得られ、より推奨されるオプションがありますか?

答え1

(上記のコメントから引用)

使用されるコーデックによっては (一部のコーデックは一部のコンテナと互換性がありません)、ストリームをコピーするだけで済みます ( -codec copy)。これは、ストリームを再エンコードするのではなく、別のコンテナに再パッケージ化するだけなので、品質の変化を避ける最善の方法です。

オーディオ/ビデオファイルを扱う際には、次の点に留意することが重要です。コンテナ使用されるコーデックからはほとんど独立しています。ファイルを「AVIビデオ」や「MP4ビデオ」と呼ぶのが一般的ですが、これらはコンテナであり、プレーヤーがストリームを再生できるかどうかについてはほとんどわかりません。技術的な制限(たとえば、AVI は h264 と Ogg Vorbis で問題が発生する場合があります) の場合は、任意のコーデックを使用できます。

-same_quantffmpeg に同様の品質を達成するように指示する方法のようですが、ビデオを再エンコードすると (少なくとも非可逆コーデックの場合)、同じ品質を得る方法がなくなります。品質を気にする場合、可能な場合はストリームの再エンコードを避けるのがよい経験則です。

したがって、ffmpeg を使用してストリームをコピーするには、次のようにします。

ffmpeg -i video.mp4 -codec copy video.avi

@Peter.Oが述べたように、オプションの順序は重要なので、ここには-codec copy必ず を配置します。 を保持することもできます-same_quantが、ストリームを再エンコードしないので効果はありません。

答え2

FreeBSD 8. 2 では、-codec copy を試しましたが、メッセージ unknown decoded も表示されました。試行錯誤の結果、FreeBSD で動作するものを見つけました。

ffmpeg -i video.mp4 -vcodec copy video.avi

関連情報