Wenn Videos mehrere Male neu kodiert werden müssen, ist es dann am klügsten, bis zur allerletzten Neukodierung die schnellste Voreinstellung zu verwenden?

Wenn Videos mehrere Male neu kodiert werden müssen, ist es dann am klügsten, bis zur allerletzten Neukodierung die schnellste Voreinstellung zu verwenden?

Wenn ein Video mehrere Male neu kodiert werden muss, ffmpegweil mehrere Änderungen daran vorgenommen werden müssen, wie z. B. Zuschneiden, Größenänderung, Konvertieren, Kompilieren (Concat), erneutes Konvertieren usw., wäre es dann nicht am klügsten, ultrafastwährend aller Neukodierungen bis zur allerletzten Neukodierung eine Kodierungsvorgabe wie zu verwenden und dann etwas wie slowoder zu verwenden veryslow?

Dies zu tun ist genau dasselbe wie die Neucodierung während slowder veryslowgesamten Zeit. Der einzige Unterschied besteht darin, dass das eine meine Zeit verschwendet und das andere meine Zeit effizient nutzt. Habe ich das richtig verstanden?

Oder würde dadurch die Qualität verloren gehen?

Antwort1

Sie liegen falsch.

JedenPhase der Kodierung mit einer „schnellen“ Voreinstellung führt zu einem größeren Qualitätsverlust als die gleiche Phase mit einer langsamen Voreinstellung. Der Verlust in jeder Phase wird sich bis zu dem Punkt summieren, an dem es einen (möglicherweise signifikanten) Unterschied zwischen Ihrer Methode und einem vollständigen Durchlauf mit langsameren Voreinstellungen gibt.

Das Problem ist bekannt alsGenerationsverlust. Wenn Sie jede Generation mit niedrigerer Qualität (schnellere Voreinstellung) ausführen, verlieren Sie mehr Daten pro Generation. Die Dateigrößen können in der letzten langsamen Phase ähnlich sein, insbesondere wenn Sie eine qualitätsbasierte Einstellung verwenden. Das bedeutet jedoch nur, dass mehr versucht wird, den Eingaben treuer zu bleiben. Tatsächlich wird mehr versucht, Rauschen und Qualitätsverluste zu reproduzieren, die in früheren Phasen entstanden sind.

Wenn Sie Konvertierungen in mehreren Schritten durchführen, sind Sie sowohl hinsichtlich der Geschwindigkeit als auch der Qualität viel besser dran, wenn Sie die Konvertierung in der ersten Stufe in eine unkomprimierte Ausgabe durchführen, die gesamte Verarbeitung auf dem unkomprimierten Video vornehmen und dann eine letzte Komprimierungsstufe durchführen.

Andernfalls sollten Sie versuchen, so viele Schritte der Videokonvertierung wie möglich in einem Programmdurchlauf durchzuführen. Ich glaube, dass Sie damit ffmpegZuschneiden, Größenänderung und Konvertierung in einem Schritt zusammenfassen können, sodass nur ein einziger Schritt Generierungsverlust entsteht.

Dass die Größe der Datei gleich oder ähnlich ist, bedeutet fast nichts. Sie haben bei den früheren Durchläufen bereits mehr visuelle Wiedergabetreue verschenkt und diese kann nicht wiederhergestellt werden.

verwandte Informationen