Gibt es eine Möglichkeit, den Qualitätsverlust einer Generation zu vermeiden, wenn eine .mp4-Datei nach Änderungen erneut exportiert wird?

Ich habe zuvor eine .mp4-Videodatei in Adobe Premiere Pro erstellt. Ich habe noch keine der Originaldateien (oder die Projektdatei). Ich habe jetzt einen sehr kleinen Fehler bemerkt, der mich wirklich stört, aber wenn ich die .mp4-Datei in Premiere importieren würde, schneide den Sekundenbruchteilfehler heraus (es ist ein unerwünschtes Geräusch, das ich aus irgendeinem Grund nicht mitbekommen habe, als ich gemacht) und es dann erneut exportieren/kodieren, würde es "eine Generation" an Bild- (und Ton?) Qualität verlieren.

Das ist für mich nicht akzeptabel.

Ich möchte genau das gleiche Video ohne den Sekundenbruchteilfehler exportieren. Keine Änderungen in der Video-/Audioqualität. Beachten Sie, dass ich es nicht verlustfrei exportieren kann, da es dann kein .mp4 mehr ist und eine RIESIGE Menge Speicherplatz beanspruchen wird.

Gibt es wirklich keine Möglichkeit, dies zu erreichen? Es ist so ärgerlich, dass ich einen ernsthaften Qualitätsverlust erleiden muss, wenn ich nicht alle verlustfreien Quelldateien für immer für alles aufbewahre. Es ist einfach nicht praktikabel, und ich sehe ehrlich gesagt keinen Grund, warum es uns dies nicht ermöglichen könnte.

Nein, das kann auf keinen Fall passieren. Dies ist nicht nur eine Funktion, die in Premiere nicht enthalten war, sondern eine inhärente Eigenschaft der Mathematik verlustbehafteter Codecs. FWIW, die meisten Profis bewahren normalerweise keine verlustfrei codierten Quelldateien auf. Sie behalten jedoch normalerweise verlustbehaftete codierte Quelldateien bei, entweder unter Verwendung des ursprünglichen Akquisitionscodecs oder eines zwischengeschalteten Firmenstandardformats, das als Mezzanine-Format bezeichnet wird.
Aber ... Da "die Mathematik" für die Algorithmen bereits einmal durchgeführt wurde, könnte sie nicht alle Teile "rekonstruieren" mit Ausnahme des kleinen Teils, den ich entfernen möchte, und sie dann wieder "zusammenfügen", ohne sie tatsächlich zu rekonstruieren -Codierung?
Nr. H.264 ist ein verlustbehafteter Codec, der, wie der Name schon sagt, beim Codieren Informationen verliert. Sie können eine gute Annäherung an das Original "rekonstruieren", aber Sie verlieren immer an Qualität, weil Sie von weniger Informationen ausgehen, als Sie ursprünglich hatten. Das führt aufgrund der zusätzlichen Generation immer zu Artefakten. Ein verlustfreier Codec hingegen macht genau das, was Sie beschreiben. Mathematik, die alle Informationen speichert, um die Datei beim Codieren kleiner zu machen, und die entgegengesetzte Mathematik, um beim Decodieren das genaue Original wiederherzustellen.
Möchten Sie auch nur einen Ton oder den entsprechenden Teil des Videos entfernen?
In diesem Fall würde das Audio ausreichen, in anderen Fällen aber auch das Video.

Antworten (2)

@ user2248 ist auf dem Geld. Die einzige mir bekannte Software, die so etwas kann, ist ffmpeg. Ich werde seine Antwort erweitern:

  • Importieren Sie mymovie.mp4 in Premiere Pro oder Vorsprechen oder was auch immer.
  • Führen Sie Ihre Tonbearbeitung durch und exportieren Sie nur das Audio nach myfixedaudio.wav (oder .aiff).
  • Jetzt kommt das gruselige Kommandozeilen-Zeug:
ffmpeg -i mymovie.mp4 -i myfixedaudio.wav -c:v copy -map 0:v -map 1:a myfixedmp4.mp4

Wow, eine ganze Zeile Tippen, das wird ewig dauern. Im Ernst, es mag mysteriös und schwierig erscheinen, aber es ist tatsächlich weniger Arbeit, als es mit der GUI zu tun. Lassen Sie uns diesen Befehl aufschlüsseln, damit Sie sehen können, was er tut:

  • -i mymovie.mp4 -i myfixedaudio.wavImportieren Sie den Film und das Audio. FFMPEG-Nummern von 0, also ist mymovie.mp4 Quelle 0 und myfixedaudio.wav ist Quelle 1
  • -c:v copyStellen Sie den Codec für Video auf Kopieren ein, auch bekannt als vollständig verlustfreie Kopie des ursprünglich codierten Videos, Bit für Bit kopiert. Wir müssen den Codec für Audio nicht einstellen, da er standardmäßig den passenden Audio-Codec für mp4 (aac) einstellt.
  • -map 0:v -map 1:adas Video von der ersten Quelle und das Audio von der zweiten Quelle den ersten und zweiten Streams der Ausgabe zuordnen. Dh die Ausgabe hat jetzt einen identischen Videostream zum Originalfilm und einen neu codierten Audiostream aus der fixierten Version in der wav-Datei.
  • myfixedmp4.mp4ffmpeg verwendet das erste, was es sieht, als Dateinamen ohne eine -Option davor als Ausgabe.
  • Wenn Sie mehr Audioqualität erhalten möchten, können Sie mit den Audioeinstellungen herumspielen, Sie würden dies vor dem Ausgabenamen tun.

Vergleichen Sie das mit dem, was Sie in Premiere tun würden:

  • Importieren Sie den Film und das Audio
  • eine neue Zeitleiste erstellen
  • Fügen Sie das richtige Video zur Timeline hinzu, indem Sie den Ton deaktivieren und dann das Video in die Timeline ziehen, oder indem Sie die Original-Audiospur aus dem Film auswählen und löschen
  • Fügen Sie das neue Audio hinzu
  • Exportieren Sie den Film, nachdem Sie die Exporteinstellungen angepasst haben

Dasselbe, nur dass Sie es mit viel mehr Klicken und Ziehen und Tastenanschlägen tun. Ganz zu schweigen davon, dass es eigentlich nicht das kann, was ffmpeg kann.

Dadurch wird Ihr Audio nicht verlustfrei erhalten, aber nichts wird es tun. Es wird jedoch einen Generationsverlust bei Ihrem Video vermeiden, und dies ist die einzige mir bekannte Möglichkeit, dies zu tun.

Vielen Dank. Ich habe dafür Ihre Methode verwendet und anschließend überprüft, ob das Video bis zum letzten Pixel identisch ist. Es hat also funktioniert. Allerdings stört es mich sehr, dass der Ton nicht auch für alle nicht geschnittenen Teile identisch sein konnte. Außerdem habe ich, als ich fertig war, die Tonspur aller drei Versionen verglichen und große Unterschiede sowohl in der Lautstärke als auch beim Start festgestellt. Sehr unerwartet. Und frustrierend. Keine Ahnung, warum es ändert, wo es beginnt. Außerdem habe ich versucht, Ihre Lösung zu verbessern, aber diese Site ließ mich nicht, weil es sich um einen POS handelt.

ffmpeg kann einen -codec copyParameter entweder für Ton oder Bild verwenden. So können Sie Ihre Datei ganz einfach in Video und Ton demultiplexen, den Ton bearbeiten und dann wieder zusammensetzen. Auf diese Weise würde nur die Tonqualität durch die Neucodierung beeinträchtigt. Die Verwendung einer höheren Bitrate würde hier die meisten Probleme lindern (je nach Codec) und die Videobandbreite wird den Unterschied sehr wahrscheinlich wie einen Tropfen auf den heißen Stein erscheinen lassen.

Hmm ... "ffmpeg" ist keineswegs das, was ich für "einfach" halte. Ich würde lügen, wenn ich behaupten würde, diese Lösung zu verstehen, aber trotzdem scheint es eine Menge manuelles Fummeln zu erfordern und das Audio scheint nicht verlustfrei zu bleiben?