2012-09-10 17:23:32 +0000 2012-09-10 17:23:32 +0000
44
44

Handbrake-Einstellungen zum Konvertieren von MKV in MP4 unter Beibehaltung der ursprünglichen Qualität

Ich habe eine Menge MKV-Dateien, die ich in MP4 konvertieren muss, und meine gewählte Software ist Handbrake.

Ich bin mir nicht sicher, welche Einstellungen für die Konvertierung am besten wären. Ich möchte die volle Qualität beibehalten. Konvertiere ich einfach mit den ursprünglichen Einstellungen und ändere nichts oder gibt es etwas Bestimmtes, das ich ändern muss?

Antworten (2)

87
87
87
2012-09-10 17:58:20 +0000

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.

4
4
4
2014-11-15 12:52:09 +0000

Dies funktioniert bei mir sehr gut. Im Folgenden finden Sie einen Code, der alle .mkv- in .mp4-Dateien unter Windows konvertiert.

  • Möglicherweise müssen Sie ffmpeg zu Ihrem Pfad hinzufügen. Sie können einfach den vollständigen Pfad zur ausführbaren Datei ffmpeg eingeben, D:\apps\ffmpeg\bin\ffmpeg.exe
  • Laden Sie ffmpeg für Windows hier herunter.
  • Verwendung: Legen Sie eine .mkv-Datei darauf. Es wird das ganze Verzeichnis bearbeitet.

Speichern Sie in einer Datei namens convert.bat.

for %%a in ("*.mkv") do ffmpeg.exe -i "%%a" -vcodec copy -acodec copy "%%~na .mp4"
pause