ビデオを複数回再エンコードする必要がある場合、最後の再エンコードまで最速のプリセットを使用するのが最も賢明ですか?

ビデオを複数回再エンコードする必要がある場合、最後の再エンコードまで最速のプリセットを使用するのが最も賢明ですか?

ビデオに対して、ffmpeg切り取り、サイズ変更、変換、コンパイル (連結)、再変換などの複数の変更を行う必要があるため、 を使用してビデオを複数回再エンコードする必要がある場合ultrafast、最後の再エンコードまでのすべての再エンコード中に などのエンコード プリセットを使用し、その後 または のようなものを使用するのが最も賢明ではないでしょslowうかveryslow

slowこれを行うことは、オンまたは全体の再エンコードとまったく同じですveryslow。唯一の違いは、一方は時間を無駄にし、もう一方は時間を効率的に使用するということです。これは正しいですか?

それとも、これを行うと品質が低下しますか?

答え1

あなたは間違っている。

「高速」プリセットを使用してエンコードする段階では、同じパスを低速プリセットで実行するよりも品質が低下します。各段階での損失は累積し、選択した方法と低速プリセットを使用したフル実行との間に、ある程度の (潜在的に重要な) 違いが生じます。

この問題は世代損失各世代を低品質 (より高速なプリセット) で実行すると、世代ごとに失われるデータが多くなります。特に品質ベースの設定を使用する場合、最後の低速ステージではファイル サイズが類似している可能性がありますが、これは与えられた入力に「忠実」になるように努力していることを意味します。実際には、以前のステージで発生したノイズや品質の低下を再現するために努力しています。

複数段階の変換を行う場合は、最初の段階から非圧縮出力に変換し、すべての処理を非圧縮ビデオで実行してから、最終的な圧縮段階を実行する方が、速度と品質の両方の点ではるかに優れています。

それ以外の場合は、プログラムを 1 回実行して、できるだけ多くのビデオ変換手順を実行するようにしてください。これにより、ffmpeg切り取り、サイズ変更、変換を 1 つの手順にまとめることができ、生成損失が 1 つの手順のみで済むと考えています。

ファイルのサイズが同じか類似していることはほとんど意味がありません。以前の実行ですでに視覚的な忠実度が失われており、回復することはできません。

関連情報