Was ist das Problem mit Handbrake?
Wenn Sie Handbrake verwenden, um von einem Containerformat in das andere zu konvertieren (d.h. in Ihrem Fall MKV in MP4), wird Handbrake das Video neu kodieren. Siehe auch die entsprechende Funktionsanfrage , die Video-Passthrough ermöglicht hätte:
Sorry, das Hinzufügen von Video-Passthrough ist nicht geplant. HandBrake ist als Video-Transcoder konzipiert. Es wurde nicht entwickelt, um Passthrough zu ermöglichen.
Jedes Mal, wenn Sie also mit Handbrake den Container wechseln, wird Ihr Video neu kodiert, was bedeutet, dass es a) Zeit braucht und b) zu Qualitätsverlusten führen kann.
Muss ich neu enkodieren? Könnte ich nicht einfach den Container austauschen?
Da Passthrough nicht möglich ist, fragen Sie sich: Muss ich neu kodieren? Wenn Sie nur den Container von MKV auf MP4 ändern wollen, müssen Sie normalerweise nichts kodieren, Sie ändern nur den “Wrapping” um das Video. Dabei geht die Qualität nicht verloren, und der Vorgang ist viel schneller.
Sie können mit FFmpeg einfach die Container tauschen - Sie müssen ihm nur sagen, dass es die Video- und Audioströme kopieren soll:
ffmpeg -i input.mkv -c copy -map 0 output.mp4
Es gibt auch Tools wie MP4Box , die auch MP4-Container erstellen können - das gleiche gibt es für MKV mit MKVtoolnix .
Allerdings gibt es einen großen Vorbehalt: das funktioniert nur, wenn die Audio- und Video-Codecs im Ziel-(MP4-)Container unterstützt werden, was z.B. bei H.264/H.265 und AAC der Fall ist, bei vielen anderen aber nicht. Außerdem ist die Unterstützung von Untertitelformaten bei MP4 anders als bei MKV und sogar ziemlich eingeschränkt, so dass dieser Befehl fehlschlagen kann.
Wenn dieser Befehl nicht funktioniert, und wenn Ihre Eingabe die falschen Codecs für den Ausgabecontainer verwendet, müssen Sie wahrscheinlich neu codieren. In diesem Fall werden die Codecs an den Ausgabe-Container angepasst.
Um zu verstehen, warum dies notwendig ist, ist es wichtig, den Unterschied zwischen Video-Codecs und Containern zu kennen. Dies wird Ihnen helfen zu verstehen, warum das Wechseln von Containern funktioniert und warum die Container MP4 und MKV eigentlich wenig mit Videocodecs zu tun haben.
Warum ist Re-Encoding eigentlich schlecht?
Sie können (normalerweise) nicht die volle Qualität beibehalten, wenn Sie ein bereits kodiertes Video erneut kodieren. Das liegt daran, dass das Original bereits komprimiert wurde, indem Informationen weggeworfen wurden, und wenn man es noch einmal macht, führt man Generationsverlust ein.
Oft möchte man ein Video neu kodieren, wenn sich z. B. seine Abmessungen geändert haben, oder man eine bestimmte Bitrate benötigt, um den Videostream zu komprimieren, oder das Originalvideo einen Codec verwendet, den man aus irgendeinem Grund nicht abspielen kann.
Wenn Sie also Ihr MKV-Video in Handbrake laden und es mit x264, dem H.264-Encoder, den Handbrake verwendet, neu kodieren und in einem MP4-Container speichern, werden Sie auf jeden Fall an Qualität verlieren, es sei denn Sie stellen die Bitrate oder den Qualitätsfaktor so hoch ein, dass Sie den Unterschied nicht (wirklich) sehen werden. Aber dann wird auch die Dateigröße größer sein.
Im Idealfall würden Sie das Video in ein unkomprimiertes Video konvertieren, wodurch Sie zwar keine Qualitätseinbußen erleiden, aber Dateien mit einer Größe von einem Dutzend Gigabyte erhalten, selbst für ein paar Minuten Videomaterial.
Okay, aber ich muss wirklich neu kodieren!
Wenn Sie wirklich neu kodieren müssen, stellen Sie sicher, dass Sie keine durchschnittliche Bitrate einstellen, sondern wählen Sie einen Constant Rate Factor , was so etwas wie “konstante Qualität” bedeutet. Das ist so etwas wie “variable Bitrate” für MP3: Es stellt sicher, dass die Bits für die Videoteile verwendet werden, die sie benötigen, und macht die Gesamtqualität besser - bei gleicher Dateigröße.
Sinnvolle CRF-Werte liegen zwischen 19 und 24, wobei niedriger “besser” bedeutet. Sie könnten es also mit einem Rate Factor von 19 versuchen. Stellen Sie außerdem sicher, dass Sie das Profil “High” einstellen, das es dem Encoder ermöglicht, allen Schnickschnack zu verwenden und die Qualität für eine bestimmte Bitrate zu optimieren.