MKVMerge für den Matroska-Container

MKVToolnix ist ein Toolpaket für den Matroska-Container. Enthalten sind u.a. MKVInfo (zeigt detaillierte Informationen über eine Matroska-Datei), MKVExtract (Demuxing von Spuren aus einer Matroska-Datei) und der für uns wichtige Muxer MKVMerge mit seiner grafischen Oberfläche.

Dieses Kapitel beschäftigt sich mit der neuen GUI (MKVToolnix GUI), die seit Version 8.0 die offizielle GUI für MKVMerge ist. Die alte GUI (MKVMerge GUI bzw. mmg) ist nach einer Übergangsphase in Version 8.4 entfallen.

Spuren laden und konfigurieren

Wir starten MKVToolnix GUI und landen im Input-Tab. Hier laden wir sämtliche Video-, Audio- und Untertiteldateien, die im fertigen Film enthalten sein sollen. Entweder ziehen wir die Dateien per Drag & Grop in die Source-files-Liste suchen sie über den Add-source-files-Button ganz unten im Fenster zusammen.

Die Spuren sind am Ende in der gleichen Reihenfolge in der Matroska-Datei gespeichert wie sie unter Tracks erscheinen. Per Drag & Drop können wir Spuren verschieben. Dabei sollte zuerst das Video stehen, dann die Audiospuren und zum Schluss die Untertitel.

Auch die Kapiteldatei können wir so laden. Sie taucht allerdings nicht unter Source files auf, sondern wird ins passende Feld auf dem Output-Tab eingetragen.

Auf der rechten Seite des Fensters konfigurieren wir die einzelnen Spuren, und zwar immer diejenige, die in der Tracks-Liste angewählt ist.

Im Abschnitt General options sind besonders die ersten beiden Einträge interessant. Track name enthält eine kurze Beschreibung der Spur, die auch in den meisten Playern angezeigt wird, z.B. um eine Tonspur als Audiokommentar zu kennzeichnen. Für Untertitel ist hier der richtige Platz, um die Art der Spur anzugeben; z.B. »nötige Untertitel« für eine Zwangsspur oder »komplett« für eine vollständige Untertitelspur.

Unter Language stellen wir die passende Sprache ein. Die erscheint dann beim Abspielen auch wieder im Player.

Mit dem Default track flag kennzeichnen wir eine Spur als Standardspur, die bevozugt vom Player ausgewählt wird. Pro Spurtyp (Video, Audio, Untertitel) kann nur jeweils eine der vorhandenen Spuren bevorzugt sein. Standardmäßig setzt MKVToolnix GUI jeweils für die erste Video- und Audio-Spur das Flag auf yes und für alle anderen Spuren auf no. I.d.R. ist das genau die Einstellung, die wir haben wollen. Das Forced track flag funktioniert genauso, kennzeichnet aber eine erzwungene Spur, die auf jeden Fall abgespielt werden soll.

Für Video- und Audiospuren sind die beiden Flags weniger wichtig. Bei Untertiteln bewirken sie dagegen, dass Zwangsuntertitel korrekt angezeigt werden. Dafür setzen wir

  • das Default track flag bei der ersten Zwangsspur auf yes und bei allen anderen Untertitelspuren auf no.
  • Das Forced track flag muss für alle Zwangsspuren auf yes stehen, für alle anderen auf no.
  • Bei einem Film ohne Zwangsuntertitel stellen wir beide Flags für alle Untertitelspuren auf no.

So erreichen wir, dass bei Filmen mit Zwangsuntertiteln diese auch auf jeden Fall angezeigt werden, aber bei Filmen ohne Zwangsuntertitel nicht automatisch eine vollständige Untertitelspur aktiv wird. Hier noch einmal im Überblick für einen typischen Film:

Korrekt geflagte Untertitelspuren
  default track forced track
Untertitel 1: Englisch (forced)

Ja

Ja

Untertitel 2: Deutsch (forced)

Nein

Ja

Untertitel 3: Englisch (komplett)

Nein

Nein

Untertitel 4: Deutsch (komplett)

Nein

Nein

Die meisten Softwareplayer unterstützen Default- und Forced-Flag wie erwartet. Doch auch wenn wir einen unfähigen Player nutzen wollen oder müssen, lassen sich korrekte Zwangsuntertitel hintricksen. Siehe dazu das Kapitel Zwangsuntertitel simulieren. Die Flags setzen wir trotzdem genauso wie gerade besprochen.

Damit kommen wir zu Timecodes and default duration, wo wir für Audio- und Untertitelspuren unter Delay die zeitliche Verschiebung der Spur relativ zum Video angeben können.

Um diese Anzahl Millisekunden muss die Audiospur verschoben werden, um synchron zum Video zu laufen. Bei DVD-Encodings ist das oft nötig, für Blu-ray-Encodings dagegen nur in Ausnahmefällen.

Steht der Wert im Dateinamen, überträgt ihn MKVToolnix GUI automatisch in das Delay-Feld. Ansonsten tun wir das manuell, natürlich – wenn nötig – incl. negativem Vorzeichen. Wichtig: Wenn wir beim Audio-Transcoding das Delay schon einmal korrigiert haben, gilt jetzt immer ein Delay von 0.

Der folgende Abschnitt Audio properties bietet einige Spezialoptionen für Audiospuren.

Um AAC is SBR … müssen wir uns nur dann kümmern, wenn unsere AAC-Tonspuren den High-Efficiency-Modus (HE) verwenden und nicht im MP4-Container verpackt sind. Dann kann MKVMerge nämlich das Vorhandensein von HE nicht automatisch erkennen. Die üblichen AAC-Encoder – Nero und Apple/Qaac – erzeugen immer MP4-AACs, dann kann die Option auf determine automatically stehen bleiben. Ansonsten geben wir passend zur Audiospur yes (bei HE oder HEv2) oder no (bei LC) an.

Mit einem Haken bei Reduce to core können wir beim Muxen aus verlustlosen DTS-HD-MA-Spuren den DTS-Core extrahieren. Normalerweise haben wir das schon beim Rippen der Blu-ray erledigt.

Charset set gibt den Zeichensatz für Textuntertitel an und bleibt normalerweise leer. MKVMerge geht dann davon aus, dass die Untertitel in der Standard-Systemcodierung gespeichert sind. Nur wenn wir bewusst Untertitel mit einem anderen Zeichensatz erzeugt haben, stellen wir die passende Codierung hier ein. Wie immer bei Codierungsgeschichten ist UTF-8 der heißeste Kandidat dafür.

Optionen fürs Seitenverhältnis

Für anamorphe Encodings sollten wir auch das AR-Flag des Containers setzen, was unter Video properties geschieht. Vorsicht dabei! Matroska verlangt nicht – wie ansonsten immer – das PAR, sondern das DAR. Ein wenig rechnen bleibt uns deshalb nicht erspart.

I.d.R. erkennt MKVMerge automatisch das im Videostream gesetzte AR-Flag und trägt den entsprechenden Wert bei Display width/height ein. Nicht von seltsamen Zahlen verwirren lassen: Die hier angegebene »Darstellungsauflösung« dient in der Praxis nur zur Angabe des AR und definiert nicht die Auflösung des Videos.

Für Encodings mit quadratischen Pixeln – also v.a. Blu-ray- und ähnliche HD-Encodings – trägt MKVMerge unter Display width/height automatisch die physikalische Auflösung des Videos ein. Das können wir immer so stehen lassen.

Falls wir das Seitenverhältnis manuell eintragen müssen, bietet MKVToolnix GUI zwei Möglichkeiten. Die erste verbirgt sich hinter der gerade erwähnten Option Display width/height.

[x] Display width/height: 1024×432

In die beiden Felder daneben setzen wir die korrekt entzerrte Wiedergabeauflösung ein. Da sich die vertikale Auflösung nicht ändert, brauchen wir im zweiten Feld nur die Bildhöhe nach dem Cropping eintragen. Die entzerrte horizontale Auflösung berechnen wir – erinnern wir uns an den Anamorph-Abschnitt – mit dieser Formel:

Zielbreite = Breite nach Cropping × PAR.

Für den üblichen Beispielfilm Die fabelhafte Welt der Amélie ergäbe sich

Zielbreite = 704 × 16/11 = 1024.

Entsprechend würden wir in die beiden Felder 1024 und 432 eintragen.

Die zweite Möglichkeit, das DAR anzugeben, ist die Option Aspect Ratio.

[x] Aspect ratio: 2.37

Im Eingabefeld steht das DAR als einfache Fließkommazahl. Um diesen Wert zu ermitteln, benötigen wir zuerst die korrekt entzerrte Wiedergabeauflösung, so wie wir sie für die erste Möglichkeit berechnet haben. Das DAR ergibt sich dann entsprechend seiner Definition als:

DAR = Zielbreite / Zielhöhe

Für unser Amélie-Beispiel bedeutet das

DAR = 1024 / 432 = 2,370370

Auf mehr als zwei oder drei Stellen zu runden, ist Unsinn, da sich nichts mehr am Ergebnis ändern würde. Ein Bildschirm kann eben nur ganze Pixel darstellen. Beim Eintippen müssen wir darauf achten, dass MKVMerge den Punkt als Dezimaltrenner erwartet, nicht das Komma.

Einstellungen für den ganzen Film

Damit sind die Einstellungen im Input-Register abgeschlossen, und wir wechseln zu Output.

File title funktioniert ähnlich der Track-name-Angabe für die einzelnen Spuren, bezieht sich aber auf die gesamte Datei. Deswegen drängt es sich förmlich auf, hier den Filmtitel einzutragen.

Unter Chapter file können wir die Datei mit den Kapitelinformationen angeben, die wir beim Rippen erstellt haben. Dieser lässt sich eine Sprache und – wie für Textuntertitel – ein Zeichensatz zuordnen.

Unter Output file tragen wir den Pfad zur Zieldatei ein und können schließlich mit einem Klick auf Start muxing den Multiplexing-Vorgang beginnen. Der dauert ein paar Minuten, dann liegt der Film komplett fertig in einem Stück auf der Platte.

zuletzt aktualisiert: 09.05.2016

Kommentare