web-dev-qa-db-ja.com

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

これを使っても品質は悪くないです。

ffmpeg -same_quant -i video.mp4 video.avi

ffmpegのドキュメントには、「これは同じ品質ではないことに注意してください。必要でない限り、このオプションを使用しないでください。」

-same_quant最高の品質、または入力と同じ品質を提供し、より推奨されるオプションはありますか?

11
sid_com

(上記のコメントからの抜粋)

使用するコーデック(一部のコーデックは一部のコンテナと互換性がない)に応じて、常にストリーム(-codec copy)。ストリームを再エンコードするのではなく、別のコンテナに再パッケージするだけで、品質の変更を回避するための最良の方法です。

オーディオ/ビデオファイルを処理する場合、 containers は、使用するコーデックからほとんど独立していることに注意してください。 「AVIビデオ」または「MP4ビデオ」としてファイルを参照する人がよく見られますが、これらはコンテナであり、技術的な制限(たとえば、 AVIはh264およびOgg Vorbisで問題が発生する可能性があります )、任意のコーデックを使用できます。

-same_quantはffmpegに同様の品質を達成するように指示する方法のようですが、ビデオを(少なくとも不可逆コーデックで)再エンコードするとすぐに、同じ品質を得る方法がなくなります。品質が気になる場合は、可能な限りストリームを再エンコードしないことをお勧めします。

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

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

@ Peter.Oが言及したように 、オプションの順序が重要であるため、ここで-codec copy 行かなければならない。それでも-same_quant、ただしストリームを再エンコードしないため、効果はありません。)

14
njsg

FreeBSD 8. 2で-codecコピーを試しましたが、unknownメッセージもデコードされました。試行錯誤の末、動作しているものはFreeBSDであることがわかりました。

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