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


11

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

ffmpeg -same_quant -i video.mp4 video.avi

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

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


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

これを試してみると、次のようになりますUnknown decoder 'copy'
sid_com

3
それは後に-codec copy行く必要があるようです-あなたは試すことができますか?(ここでも機能しますが、ストリームをコピーするだけなので何もしません) -i video.mp4ffmpeg -i video.mp4 -codec copy video.avi-same_quant
njsg

ffmpegののコマンドラインオプションの配置については、参照ffmpegのドキュメントを- 2説明:以下はその抜粋です:一般的なルールとして、オプションが適用されている 次の 指定されたファイル。したがって、順序は重要です...
Peter.O

THX!今で-codec copyは正しい場所で作品です。
sid_com

回答:


14

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

使用するコーデック(一部のコーデックは一部のコンテナーと互換性がない)に応じて、常にストリームを単にコピーすることができます(-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ますが、ストリームを再エンコードしないため、効果はありません。)


あなたの解決策は私にとってうまくいきます。私はそれが見るavconv今の代わりに推奨されffmpeg、実際に私が使用したものです。
Faheem Mitha 2013

3

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

ffmpeg -i video.mp4 -vcodec copy video.avi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.