Provided by: mkvtoolnix_45.0.0-2_amd64 bug

NAME

       mkvmerge - fügt Multimedia-Datenströme in eine Matroska-Datei zusammen.

ÜBERSICHT

       mkvmerge [globale Optionen] {-o Ausgabe} [Optionen1] {Datei1} [[Optionen2] {Datei2}]
                [@Optionendatei.json]

BESCHREIBUNG

       Dieses Programm nimmt die Eingabe von mehreren Mediendateien und vereinigt ihre
       Datenströme (alle oder nur eine Auswahl) in eine Matroska-Datei. Siehe die
       Matroska-Website[1].

           Wichtig
           Die Reihenfolge der Befehlszeilenoptionen ist wichtig. Bitte lesen Sie den Abschnitt
           »Reihenfolge der Optionen«, falls sie ein neuer Nutzer des Programms sind.

   Globale Optionen
       -v, --verbose
           erhöht die Detailstufe.

       -q, --quiet
           unterdrückt die Statusausgabe.

       -o, --output Dateiname
           schreibt in die Datei Dateiname. Falls Aufteilung benutzt wird, wird dieser Parameter
           etwas anders behandelt. Einzelheiten finden Sie in der Erläuterung der Option --split.

       -w, --webm
           erstellt eine WebM-konforme Datei. Dies wird auch eingeschaltet, falls die
           Namensendung der Ausgabedatei »webm« ist. Dieser Modus erzwingt mehrere
           Einschränkungen. Die einzigen erlauben Codecs sind VP8-, VP9-Video und Opus-,
           Vorbis-Tonspuren. Das Kopfelement DocType wird in »webm« geändert.

           Bei Kapiteln und Tags ist nur eine Untermenge aller Elemente erlaubt. mkvmerge(1)
           entfernt automatisch alle Elemente, die laut Spezifikation nicht erlaubt sind.

       --title Titel
           setzt den allgemeinen Titel für die Ausgabedatei, z.B. den Namen des Films.

       --default-language Sprachcode
           Setzt das Standard-Sprachkürzel, das für alle Spuren benutzt wird, für die keine
           Sprache mit der Option --language angegeben wurde und für die der Quellcontainer keine
           Sprache bereitstellt.

           Das Standard-Sprachkürzel ist das für »undefiniert« stehende »und«.

   Handhabung von Segmentinformationen (globale Optionen)
       --segmentinfo Dateiname.xml
           liest Segmentinformationen aus einer XML-Datei. Diese Datei kann die Segmentfamilie
           UID enthalten, die Segment-UID und die vorherigen und nächsten Segment-UID-Elemente.
           Eine Beispieldatei und ein DTD sind in dem veröffentlichten MKVToolNix enthalten.

           Einzelheiten finden Sie im Abschnitt weiter unten über
           Segmentinformations-XML-Dateien.

       --segment-uid SID1,SID2,...
           setzt die zu verwendenden UIDs. Dies ist eine durch Kommas getrennte Liste von
           128-Bit-Sgement-UIDs in der gewöhnlichen UID-Form: Hexadezimalzahlen mit oder ohne
           Präfix »0x«, mit oder ohne Leerzeichen, exakt 32 Ziffern lang.

           Falls SID mit einem = beginnt, so wird der Rest als Name einer Matroska-Datei
           interpretiert, deren Segment-UID gelesen und benutzt wird.

           Jede erstellte Datei enthält ein Segment und jedes Segment hat eine Segment-UID. Falls
           mehr Segment-UIDs angegeben als Segmente erstellt werden, werden die überschüssigen
           UIDs ignoriert. Falls weniger Segment-UIDs angegeben als Segmente erstellt werden,
           dann werden für diese Segmente zufällige UIDs erzeugt.

   Handhabung von Kapiteln und Tags (globale Optionen)
       --chapter-language Sprachcode
           setzt den ISO-639-2-Sprachcode, der für jeden Kapiteleintrag geschrieben wurde.
           Voreinstellung ist »eng«. Einzelheiten finden Sie im nachfolgenden Abschnitt über
           Kapitel.

           Diese Option kann sowohl für einfache Kapiteldateien als auch für Quelldateien benutzt
           werden, die Kapitel enthalten, aber keine Informationen über die Sprache der Kapitel,
           z.B. MP4- und OGM-Dateien.

           Die mit dieser Option gesetzte Sprache wird ebenfalls beim Erzeugen von Kapiteln mit
           Hilfe der Option --generate-chapters benutzt.

       --chapter-charset Zeichensatz
           setzt den Zeichensatz, der für die Umwandlung einfacher Kapiteldateien in UTF-8
           verwendet wird. Eine Erklärung, wie mkvmerge(1) Zeichensätze umwandelt, finden Sie im
           Abschnitt über Textdateien und Zeichensätze.

           Dieser Schalter gilt auch für Kapitel, die aus bestimmten Containertypen kopiert
           werden, z.B. Ogg/OGM- und MP4-Dateien. Einzelheiten finden Sie im nachfolgenden
           Abschnitt über Kapitel.

       --chapter-sync d[,o[/p]]
           passt die Zeitstempel von Kapiteln in der folgenden Quelldatei um d ms an. Alternativ
           kann die Option --sync mit der speziellen Spur-ID -2 benutzt werden (siehe Abschnitt
           Spezielle Spur-IDs)."

           o/p: passen die Zeitstempel um o/p an, um lineare Verschiebungen zu beheben. Falls p
           weggelassen wird, ist sie standardmäßig 1. Sowohl o als auch p können Fließkommazahlen
           sein.

           Voreinstellung: keine manuelle Synchronisationskorrektur (was dasselbe wie d = 0 und
           o/p = 1.0ist).

           Diese Option kann mehrfach für eine Eingabedatei benutzt werden und gilt für mehrere
           Spuren, indem jedesmal eine andere Spur-ID ausgewählt wird.

       --generate-chapters Modus
           mkvmerge(1) kann automatisch Kapitel erzeugen. Die folgenden zwei Modi werden momentan
           unterstützt:

           •   'when-appending' – Dieser Modus erzeugt ein Kapitel am Anfang sowie ein weiteres
               Kapitel jedes Mal, wenn eine Datei angehängt wird.

                   Anmerkung
                   mkvmerge(1) benötigt eine Video- oder Audio-Spur, um feststellen zu können,
                   wann eine neue Datei angehängt wird. Falls eine oder mehr Videospuren gemuxt
                   werden, so wird die erste davon benutzt. Andernfalls wird die erste Audio-Spur
                   benutzt.

           •   'interval:Zeit-Spec' – Dieser Modus erzeugt ein Kapitel in festen Zeitabständen,
               die durch Zeit-Spec angegeben werden. Das Format folgt entweder der Form
               HH:MM:SS.nnnnnnnnn, oder es ist eine Zahl gefolgt von einer der Einheiten 's',
               'ms' oder 'us'.

               Beispiel: --generate-chapters interval:45s

           Die Namen der neu erzeugten Kapitel werden durch die Option
           --generate-chapters-name-template kontrolliert. Die Sprache wird mittels der Option
           --chapter-language festgelegt, welche vor --generate-chapters erscheinen muss.

       --generate-chapters-name-template Vorlage
           Dies setzt die Vorlage für durch die Option --generate-chapters erzeugte Kapitelnamen.
           Falls die Option nicht angegeben wurde, wird der Standardwert 'Kapitel <NUM:2>'
           benutzt.

           Es gibt mehrere Variablen, die in der Vorlage benutzt werden können und die durch ihre
           tatsächlichen Werte ersetzt werden, sobald ein Kapitel erzeugt wird. Die Zeichenkette
           '<NUM>' wird durch die Kapitelnummer ersetzt. Die Zeichenkette '<START>' wird durch
           den Startzeitpunkt des Kapitels ersetzt.

           Die Zeichenketten »>FILE_NAME>« und »<FILE_NAME_WITH_EXT>« sind nur bei der
           Kapitelerzeugung beim Anhängen von Dateien gesetzt. Sie werden durch den Namen der
           gerade angehängten Datei ohne bzw. mit der Erweiterung ersetzt. Beachten Sie, dass
           ausschließlich der Basisname und Erweiterung eingefügt werden, nicht aber die
           Verzeichnis- oder Laufwerkskomponenten.

           Sie können mit »<NUM:Stellen>« eine Mindestanzahl von Stellen für die Kapitelnummer
           angeben, z.B. »<NUM:3>«. Die Nummer wird mit führenden Nullen aufgefüllt, falls die
           Stellenanzahl geringer als angegeben ist.

           Sie können das für den Startzeitstempel benutzte Format mit <START:format> anpassen.
           Als Format wird standardmäßig '%H:%M:%S' genommen, falls keines angegeben wird.
           Gültige Formatanweisungen sind:

           •   %h – Stunden

           •   %H – Stunden, mit Nullen auf zwei Stellen aufgefüllt

           •   %m – Minuten

           •   %M – Minuten, mit Nullen auf zwei Stellen aufgefüllt

           •   %s – Sekunden

           •   %S – Sekunden, mit Nullen auf zwei Stellen aufgefüllt

           •   %n – Nanosekunden mit neun Stellen

           •   %<1-9>n – Nanosekunden mit bis zu neun Stellen (z.B. drei Stellen mit %3n)

       --cue-chapter-name-format Format
           mkvmerge(1) unterstützt das Lesen von CUEsheets für Audiodateien als Eingabe für
           Kapitel. CUEsheets enthalten normalerweise für jeden Indexeintrag die Einträge
           PERFORMER (»Interpret«) und TITLE (»Titel«). mkvmerge(1) benutzt diese beiden
           Zeichenketten, um den Kapitelnamen aufzubauen. Mit dieser Option kann das für diesen
           Namen verwendete Format gesetzt werden.

           Falls diese Option nicht angegeben wurde, ist das Format »%p - %t« (der Interpret
           gefolgt von einem Leerzeichen, einem Gedankenstrich, einem weiteren Leerzeichen und
           dem Titel) die Voreinstellung von mkvmerge(1).

           Falls das Format angegeben wurde, dann wird alles außer den folgenden Metazeichen, so
           wie es ist, kopiert und die Metazeichen werden wie folgt ersetzt:

           •   %p wird durch die Zeichenkette PERFORMER des aktuellen Eintrags ersetzt,

           •   %t wird durch die Zeichenkette TITLE des aktuellen Eintrags ersetzt,

           •   %n wird durch die aktuelle Spurnummer ersetzt und

           •   %N wird durch die aktuelle Spurnummer, aufgefüllt mit einer führenden Null, falls
               sie kleiner als zehn ist, ersetzt.

       --chapters Dateiname
           liest Kapitelinformationen aus der Datei Dateiname. Einzelheiten finden Sie im
           nachfolgenden Abschnitt über Kapitel.

       --global-tags Dateiname
           liest globale Tags aus der Datei Dateiname. Einzelheiten finden Sie im nachfolgenden
           Abschnitt über Tags.

   Allgemeine Ausgabesteuerung (fortgeschrittene globale Optionen)
       --track-order FID1:TID1,FID2:TID2,...
           Diese Option ändert die Reihenfolge, in der die Spuren für eine Eingabedatei erstellt
           werden. Das Argument ist eine durch Kommas getrennte Liste von ID-Paaren. Jedes Paar
           enthält zuerst die Datei-ID (FID1), die einfach die Zahl ist, an welcher Stelle auf
           der Befehlszeile, beginnend bei 0, die Datei erscheint. Als zweites kommt die Spur-ID
           (TID1) dieser Datei. Falls irgendwelche Spuren weggelassen werden, dann werden diese
           Spuren erstellt, nachdem die mit dieser Option angegebenen erstellt wurden.

       --cluster-length Spezifikation
           begrenzt die Anzahl von Datenblöcken oder die Laufzeit von Daten in jedem Cluster. Der
           Parameter Spezifikation kann entweder eine Zahl n ohne eine Einheit oder eine Zahl d
           sein, der »ms« folgt.

           Falls keine Einheit benutzt wird, wird mkvmerge(1) höchstens n Datenblöcke in jeden
           Cluster ablegen. Die maximale Anzahl von Blöcken liegt bei 65535.

           Falls der Zahl d ein »ms« folgt, dann wird mkvmerge(1) höchstens d Millisekunden Daten
           in jeden Cluster ablegen. Das Minimum für d liegt bei »100ms« und das Maximum bei
           »32000ms«.

           Standardmäßig legt mkvmerge(1) höchstens 65535 Datenblöcke und 5000 ms Daten in einen
           Cluster.

           Programme, die versuchen, ein bestimmtes Bild zu finden, können nur einen Cluster
           direkt suchen und müssen danach den ganzen Cluster lesen. Daher kann das Erstellen
           großer Cluster zu ungenauem oder langsamem Durchsuchen führen.

       --no-cues
           teilt mkvmerge(1) mit, dass es die Indexdaten nicht erzeugen und schreiben soll, die
           mit einem Index in einem AVI verglichen werden können. Matroska-Dateien können ohne
           die Indexdaten abgespielt werden, aber das Durchsuchen ist möglicherweise ungenauer
           und langsamer. Benutzen Sie dies nur, falls Sie wirklich dringend Platz brauchen oder
           für Testzwecke. Siehe auch die Option --cues, die für jede Eingabedatei angegeben
           werden kann.

       --clusters-in-meta-seek
           sagt mkvmerge(1), dass es ein Metasuchelement am Ende der Datei erstellen soll, das
           alle Cluster enthält. Siehe auch den Abschnitt über das Matroska-Datei-Layout.

       --no-date
           Standardmäßig setzt mkvmerge(1) das "Datum"-Segment-Informationen-Feld auf die Uhrzeit
           & Datum, als das Multiplexen gestartet wurde. Mit dieser Option wird das Feld gar
           nicht geschrieben.

       --disable-lacing
           deaktiviert das Zusammenbinden aller Spuren, Dies erhöht die Größe der Datei,
           insbesondere dann, wenn es viele Tonspuren gibt. Diese Option ist nicht für den
           täglichen Gebrauch gedacht.

       --enable-durations
           schreibt die Laufzeiten für alle Blöcke. Dies erhöht die Größe der Datei und bietet
           dem, der es abspielt, im Moment keinen zusätzlichen Wert.

       --disable-track-statistics-tags
           Normalerweise schreibt mkvmerge(1) bestimmte Tags mit Statistiken für jede Spur. Falls
           solche Tags bereits existieren, werden sie überschrieben. Die Tags lauten BPS,
           DURATION, NUMBER_OF_BYTES und NUMBER_OF_FRAMES.

           Mit dieser Option wird mkvmerge(1) angewiesen, keine solchen Tags zu schreiben und
           bereits existierende Tags mit denselben Namen nicht zu verändern.

       --timestamp-scale Faktor
           erzwingt den Faktor Faktor für die Zeitstempelskala. Gültige Werte sind im Bereich
           1000..10000000 und der Spezialwert -1.

           Normalerweise wird mkvmerge(1) einen Wert von 1000000 benutzen. Das bedeutet, dass
           Zeitstempel und Laufzeiten die Genauigkeit von 1 ms haben. Für Dateien, die keine
           Videospuren aber mindestens eine Tonspur enthalten, wird mkvmerge(1) automatisch einen
           Faktor der Zeitstempelskala so wählen, dass alle Zeitstempel und Laufzeiten die
           Genauigkeit eines Audio-Samples bekommen. Dies verursacht einen größeren Aufwand,
           ermöglicht aber genaueres Suchen und Extrahieren.

           Falls der Spezialwert -1 benutzt wird, dann wird mkvmerge(1) die Genauigkeit des
           Samples auch dann verwenden, wenn eine Videospur vorhanden ist.

   Datei aufteilen, verknüpfen, anhängen und verketten (weitere globale Optionen)
       --split Spezifikation
           teilt die Ausgabedatei nach der angegebenen Größe oder Zeit auf. Bitte beachten Sie,
           dass Spuren nur kurz vor einem Schlüsselbild geteilt werden können. Daher kann sich
           der Aufteilungspunkt ein wenig von dem unterscheiden, den der Benutzer angegeben hat.

           Derzeit unterstützt mkvmerge(1) vier verschiedene Modi.

            1. Aufteilen anhand der Größe

               Syntax: --split [size:]d[k|m|g]

               Beispiele: --split size:700m oder --split 150000000

               Der Parameter d kann mit »k«, »m« oder »g« enden, um anzuzeigen, ob die Größe in
               kB, MB beziehungsweise GB vorliegt. Andernfalls wird von einer Größe in Byte
               ausgegangen. Nachdem die aktuelle Ausgabedatei diese Größenbegrenzung erreicht
               hat, wird eine neue angefangen.

               Das Präfix »size:« kann aus Kompatibilitätsgründen weggelassen werden.

            2. Aufteilen nach einer Laufzeit

               Syntax: --split [duration:]HH:MM:SS.nnnnnnnnn|ds

               Beispiele: --split duration:00:60:00.000 oder --split 3600s

               Der Parameter muss entweder die Form HH:MM:SS.nnnnnnnnn haben, um die Laufzeit mit
               einer Genauigkeit bis zu einer Nanosekunde anzugeben, oder eine Zahl d gefolgt vom
               Buchstaben »s« sein, um eine Laufzeit in Sekunden anzugeben. HH ist die Anzahl der
               Stunden, MM die Anzahl der Minuten, SS die Anzahl der Sekunden und nnnnnnnnn die
               Anzahl der Nanosekunden. Sowohl die Zahl der Stunden als auch die der Nanosekunden
               kann weggelassen werden. Es könnnen bis zu neun Nachkommastellen vorliegen.
               Nachdem der Laufzeit des Inhalts in der aktuellen Ausgabe diese Begrenzung
               erreicht hat, wird eine neue Ausgabedatei begonnen.

               Das Präfix »duration:« darf aus Kompatibilitätsgründen weggelassen werden.

            3. Aufteilen nach bestimmten Zeitstempeln

               Syntax: --split timestamps:A[,B[,C...]]

               Beispiel: --split timestamps:00:45:00.000,01:20:00.250,6300s

               Die Parameter A, B, C etc. müssen alle das gleiche Format wie das haben, das für
               die Laufzeit benutzt wurde (siehe oben). Die Liste der Zeitstempel wird durch
               Kommas getrennt. Nachdem der Eingabestrom den Zeitstempel des nächsten
               Aufteilungspunkts erreicht hat, wird eine neue Datei erstellt. Dann wird der
               nächste Aufteilungspunkt in der Liste benutzt.

               Das Präfix »timestamps:« darf nicht weggelassen werden.

            4. Aufbewahren bestimmter Teile durch die Angabe von Zeitstempelbereichen, während
               andere verworfen werden

               Syntax: --split parts:Start1-Ende1[,[+]Start2-Ende2[,[+]Start3-Ende3...]]

               Beispiele:

                1. --split parts:00:01:20-00:02:45,00:05:50-00:10:30

                2. --split parts:00:01:20-00:02:45,+00:05:50-00:10:30


                3. --split parts:-00:02:45,00:05:50-
               Der Modus parts teilt mkvmerge(1) mit, dass bestimmte Zeitstempelbereiche
               aufbewahrt werden, während andere verworfen werden. Die Bereiche, die aufbewahrt
               werden sollen, müssen nach dem Schlüsselwort parts: aufgeführt und durch Kommas
               getrennt werden. Ein Bereich selbst besteht aus einem Start- und Endzeitstempel im
               selben Format, wie dem, das andere Variationen von --split akzeptieren (z.B.
               beziehen sich sowohl 00:01:20 als auch 80s auf den selben Zeitstempel).

               Falls ein Startzeitstempel weggelassen wurde, wird er standardmäßig auf das Ende
               des vorherigen Zeitstempelbereichs gesetzt. Falls es keinen vorherigen Bereich
               gab, dann wird er standardmäßig auf den Dateianfang gesetzt (siehe Beispiel 3).

               Falls ein Endzeitstempel weggelassen wird, dann wird dies standardmäßig das Ende
               der Quelldateien, wodurch mkvmerge(1) im Prinzip mitgeteilt wird, dass es den Rest
               behalten soll (siehe Beispiel 3).

               Normalerweise wird jeder Bereich in eine neue Datei geschrieben. Dies kann so
               geändert werden, dass aufeinanderfolgende Bereiche in dieselbe Datei geschrieben
               werden. Dafür muss der Benutzer dem Startzeitstempel ein + voranstellen. Dies
               teilt mkvmerge(1) mit, dass es keine neue Datei erstellen und den Bereich
               stattdessen an dieselbe Datei anhängen soll, in die der letzte Bereich geschrieben
               wurde. Zeitstempel werden angepasst, so dass es in der Ausgabedatei keine Lücke
               gibt, selbst wenn es in den beiden Bereichen in der Eingabedatei eine Lücke gab.

               Im Beispiel 1 wird mkvmerge(1) zwei Dateien erstellen. Die erste wird den Inhalt
               beginnend bei 00:01:20 bis 00:02:45 enthalten. Die zweite Datei wird den Inhalt
               von 00:05:50 bis 00:10:30 enthalten.

               Im Beispiel 2 wird mkvmerge(1) nur eine Datei erstellen. Diese Datei wird den
               Inhalt beginnend bei 00:01:20 bis 00:02:45 und den Inhalt beginnend bei 00:05:50
               bis 00:10:30 enthalten.

               Im Beispiel 3 wird mkvmerge(1) zwei Dateien erstellen. Die erste wird den Inhalt
               vom Anfang der Quelldateien bis 00:02:45 enthalten. Die zweite Datei wird den
               Inhalt beginnend bei 00:05:50 bis zum Ende der Quelldatei enthalten.

                   Anmerkung
                   Beachten Sie, dass mkvmerge(1) nur Entscheidungen über das Aufteilen an
                   Schlüsselbildpositionen trifft. Dies gilt sowohl für den Anfang als auch das
                   Ende von jedem Bereich. Daher wird mkvmerge(1) sogar dann mit der Ausgabe der
                   Bilder bis vor das nächste Bild fortfahren, wenn der Zeitstempel zwischen zwei
                   Schlüsselbildern liegt.

            5. Aufbewahren bestimmter Teile durch Angabe von Bild-/Feldnummerbereichen während
               andere verworfen werden

               Syntax: --split parts-frames:Start1-Ende1[,[+]Start2-Ende2[,[+]Start3-Ende3...]]

               Beispiele:

                1. --split parts-frames:137-258,548-1211

                2. --split parts-frames:733-912,+1592-2730


                3. --split parts-frames:-430,2512-
               Der Modus parts-frames teilt mkvmerge(1) mit, dass bestimmte Bereiche von
               Bild-/Feldnummern aufbewahrt werden, während andere verworfen werden. Die
               Bereiche, die aufbewahrt werden sollen, müssen nach dem Schlüsselwort
               parts-frames: aufgeführt und durch Kommas getrennt werden. Ein Bereich selbst
               besteht aus einer Start- und Endbildnummer. Die Nummerierung beginnt bei 1.

               Falls eine Startnummer weggelassen wird, wird sie standardmäßig auf die Endnummer
               des vorherigen Bereichs gesetzt. Falls es keinen vorherigen Bereich gibt, wird sie
               standardmäßig zum Dateianfang (siehe Beispiel 3).

               Falls eine Endnummer weggelassen wird, dann wird dies standardmäßig das Ende der
               Quelldateien, wodurch mkvmerge(1) im Prinzip mitgeteilt wird, dass es den Rest
               behalten soll (siehe Beispiel 3).

               Normalerweise wird jeder Bereich in eine neue Datei geschrieben. Dies kann so
               geändert werden, dass aufeinanderfolgende Bereiche in dieselbe Datei geschrieben
               werden. Dafür muss der Benutzer der Startnummer ein + voranstellen. Dies teilt
               mkvmerge(1) mit, dass es keine neue Datei erstellen und den Bereich stattdessen an
               dieselbe Datei anhängen soll, in die der letzte Bereich geschrieben wurde.
               Zeitstempel werden so angepasst, dass es in der Ausgabedatei keine Lücke gibt,
               auch dann nicht, wenn es in den beiden Bereichen in der Eingabedatei eine Lücke
               gab.

                   Anmerkung
                   Beachten Sie, dass mkvmerge(1) nur Entscheidungen über das Aufteilen an
                   Schlüsselbildpositionen trifft. Dies gilt sowohl für den Anfang als auch das
                   Ende jedes Bereichs. Daher wird mkvmerge(1) sogar dann mit der Ausgabe der
                   Bilder bis vor das nächste Bild fortfahren, wenn die Bild-/Feldnummer zwischen
                   zwei Schlüsselbildern liegt.
               Im Beispiel 1 wird mkvmerge(1) zwei Dateien erstellen. Die erste wird den Inhalt
               beginnend beim ersten Schlüsselbild bei oder nach 137 bis vor das erste
               Schlüsselbild bei oder nach 258 enthalten. Die zweite Datei wird den Inhalt
               beginnend bei 548 bis 1211 enthalten.

               Im Beispiel 2 wird mkvmerge(1) nur eine Datei erstellen. Diese Datei wird den
               Inhalt beginnend bei 733 bis 912 und den Inhalt beginnend bei 1592 bis 2730
               enthalten.

               Im Beispiel 3 wird mkvmerge(1) zwei Dateien erstellen. Die erste wird den Inhalt
               vom Anfang der Quelldateien bis 430 enthalten. Die zweite Datei wird den Inhalt
               beginnend bei 2512 bis zum Ende der Quelldatei enthalten.

               Dieser Modus betrachtet nur die erste Videospur, die ausgegeben wird. Falls keine
               Videospur ausgegeben wird, wird es keine Aufteilung geben.

                   Anmerkung
                   Die mit diesem Argument angegebenen Zahlen werden basierend auf der Zahl der
                   ausgegebenen Matroska-Blöcke interpretiert. Ein einzelner Matroska-Block
                   enthält entweder ein komplettes Bild (für fortlaufenden Inhalt) oder ein
                   einzelnes Feld (für Inhalt im Halbbildverfahren). mkvmerge(1) unterscheidet
                   nicht zwischen diesen beiden und zählt einfach nur die Anzahl der Blöcke. Zum
                   Beispiel: Falls jemand nach dem 25. kompletten Bild bei Inhalt im
                   Halbbildverfahren aufteilen möchte, müsste er 50 als Aufteilungspunkt benutzen
                   (zwei Felder pro komplettem Bild).

            6. Aufteilen nach bestimmten Bildern/Feldern

               Syntax: --split frames:A[,B[,C...]]

               Beispiel: --split frames:120,237,891

               Die Parameter A, B, C etc. müssen jeweils positive Ganzzahlen sein. Die
               Nummerierung beginnt bei 1. Die Liste der Bild-/Feldnummern wird durch Kommas
               getrennt. Nachdem der Eingabedatenstrom die Bild-/Feldnummer des aktuellen
               Aufteilungspunkts erreicht hat, wird eine neue Datei erstellt. Dann wird der
               nächste in der Liste angegebene Aufteilungspunkt benutzt.

               Das Präfix »frames:« darf nicht weggelassen werden.

               Dieser Modus betrachtet nur die erste Videospur, die ausgegeben wird. Falls keine
               Videospur ausgegeben wird, wird es keine Aufteilung geben.

                   Anmerkung
                   Die mit diesem Argument angegebenen Zahlen werden basierend auf der Zahl der
                   ausgegebenen Matroska-Blöcke interpretiert. Ein einzelner Matroska-Block
                   enthält entweder ein komplettes Bild (für fortlaufenden Inhalt) oder ein
                   einzelnes Feld (für Inhalt im Halbbildverfahren). mkvmerge(1) unterscheidet
                   nicht zwischen diesen beiden und zählt einfach nur die Anzahl der Blöcke. Zum
                   Beispiel: Falls jemand nach dem 25. kompletten Bild bei Inhalt im
                   Halbbildverfahren aufteilen möchte, müsste er 50 als Aufteilungspunkt benutzen
                   (zwei Felder pro komplettem Bild).

            7. Aufteilen vor bestimmten Kapiteln

               Syntax: --split chapters:all oder --split chapters:A[,B[,C...]]

               Beispiel: --split chapters:5,8

               Die Parameter A, B, C etc. müssen jeweils positive Ganzzahlen sein. Die
               Nummerierung beginnt bei 1. Die Liste der Kapitel wird durch Kommas getrennt. Die
               Aufteilung wird kurz vor dem ersten Schlüsselbild auftreten, dessen Zeitstempel
               größer oder gleich dem Startzeitstempel für die Kapitel ist, deren Nummern
               aufgelistet wurden. Ein Kapitel, das bei 0s beginnt, wird niemals für das
               Aufteilen berücksichtigt und stillschweigend verworfen.

               Anstatt alle Kapitelnummern manuell aufzuführen, kann das Schlüsselwort all
               benutzt werden.

               Das Präfix »chapters:« darf nicht weggelassen werden.

                   Anmerkung
                   Das Matroska-Dateiformat unterstützt beliebig tief verschachtelte
                   Kapitelstrukturen, »Editionseinträge« und »Kapitelelemente« genannt. Dieser
                   Modus betrachtet allerdings nur die obersten Ebenen der Kapitel über alle
                   Editionseinträge hinweg.

           Bei diesem Aufteilungsmodus wird der Ausgabedateiname anderes als im normalen Betrieb
           behandelt. Er kann einen Ausdruck »%d« enthalten, ähnlich wie printf, einschließlich
           einer Feldbreite, z.B. »%02d«. Falls dies der Fall ist, wird die aktuelle Dateizahl
           entsprechend formatiert und an der Stelle im Dateinamen eingesetzt. Falls kein
           derartiges Muster vorkommt, dann wird vom Muster »-%03d« direkt vor der
           Dateinamenserweiterung ausgegangen: »-o Ausgabe.mkv« würde zu »Ausgabe-001.mkv« führen
           und so weiter. Falls es keine Dateinamenserweiterung gibt, wird »-%03d« an den Namen
           angehängt.

       --link
           verknüpft Dateien mit anderen, wenn die Ausgabedatei aufgeteilt wird. Einzelheiten
           finden Sie im nachfolgenden Kapitel über das Verknüpfen von Dateien.

       --link-to-previous Segment-UID
           verknüpft die erste Ausgabedatei an das Segment mit der durch den Parameter
           Segment-UID angegebenen Segment-UID. Einzelheiten finden Sie im nachfolgenden
           Abschnitt über das Verknüpfen von Dateien.

           Falls SID mit einem = beginnt, so wird der Rest als Name einer Matroska-Datei
           interpretiert, deren Segment-UID gelesen und benutzt wird.

       --link-to-next Segment-UID
           verknüpft die letzte Ausgabedatei an das Segment mit der durch den Parameter
           Segment-UID angegebenen Segment-UID. Einzelheiten finden Sie im nachfolgenden Kapitel
           über das Verknüpfen von Dateien.

           Falls SID mit einem = beginnt, so wird der Rest als Name einer Matroska-Datei
           interpretiert, deren Segment-UID gelesen und benutzt wird.

       --append-mode Modus
           legt fest, wie Zeitstempel beim Anhängen von Dateien berechnet werden. Der Parameter
           Modus kann zwei Werte annehmen: »file«, der auch die Voreinstellung ist, und »track«.

           Wenn mkvmerge(1) eine Spur (von nun an »track2_1« genannt) von einer zweiten Datei
           (»file2« genannt) an eine Spur (»track1_1« genannt) von der ersten Datei (»file1«
           genannt) anhängt, dann müssen alle Zeitstempel für »track2_1« um einen Betrag versetzt
           werden. Im Modus »file« ist dies der höchste in »file1« aufgetretene Betrag, auch wenn
           dieser Zeitstempel von einer anderen Spur als »track1_1« stammt. Im Modus »track« ist
           der Versatz der höchste Zeitstempel aus »track1_1«.

           Unglücklicherweise kann mkvmerge(1) nicht bestimmen, welcher Modus zuverlässig benutzt
           werden kann. Daher ist der Modus »file« die Voreinstellung. Der Modus »file«
           funktioniert normalerweise bei Dateien besser, die unabhängig von anderen erstellt
           wurden, z.B. wenn AVI- oder MP4-Dateien angehängt werden. Der Modus »track«
           funktioniert möglicherweise besser bei Quellen, die eigentlich nur Teile einer großen
           Datei sind, z.B. bei VOB- und EVO-Dateien.

           Untertitelspuren werden immer so behandelt, als sei der Modus »file« aktiv, sogar
           dann, wenn tatsächlich der Modus »track« aktiv ist.

       --append-to SFID1:STID1:DFID1:DTID1[,...]
           Diese Option steuert, an welche Spur eine andere Spur angehängt wird. Jede
           Spezifikation enthält vier IDs: eine Datei-ID, eine Spur-ID, eine zweite Datei-ID und
           eine zweite Spur-ID. Das erste Paar aus »Quelldatei-ID« und »Quellspur-ID«
           kennzeichnet die Spur, die angehängt wird. Das zweite Paar aus »Zieldatei-ID« und
           »Zielspur-ID« kennzeichnet die Spur, an die die erste angehängt wird.

           Falls diese Option weggelassen wurde, wird eine Standardzuordnung benutzt. Diese
           Standardzuordnung hängt jede Spur der aktuellen Datei an eine Spur der vorherigen
           Datei mit derselben Spur-ID an. Dies ermöglicht einfaches Anhängen mit dem Befehl
           mkvmerge -o Ausgabe.mkv Teil1.mkv +Teil2.mkv, falls ein Film in zwei Teile geschnitten
           wurde und beide Dateien dieselbe Anzahl von Spuren und Spur-IDs haben.

       +
           Ein einzelnes »+« führt dazu, dass die nächste Datei angehängt statt hinzugefügt wird.
           Das »+« kann außerdem vor den nächsten Dateinamen gesetzt werden. Daher sind die
           beiden folgenden Befehle identisch:

               $ mkvmerge -o vollständig.mkv Datei1.mkv + Datei2.mkv
               $ mkvmerge -o vollständig.mkv Datei1.mkv +Datei2.mkv

       [ Datei1 Datei2 ]
           Falls mehrere Dateinamen in eckigen Klammern stehen, dann werden die zweite und alle
           folgenden Dateien an die erste in den Klammern stehende Datei angehängt.

           Dies ist eine alternative Syntax dafür, Dateinamen mit »+« zwischen ihnen aufzulisten.
           Deshalb sind die zwei folgenden Befehle gleichwertig:

               $ mkvmerge -o vollständig.mkv Datei1.mkv + Datei2.mkv
               $ mkvmerge -o vollständig.mkv '[' Datei1.mkv Datei2.mkv ']'

       =
           Normalerweise sucht mkvmerge(1) im selben Verzeichnis nach Dateien wie eine
           Eingabedatei, die den gleichen Basisnamen hat und sich nur in ihrer fortlaufenden
           Nummer unterscheidet (z.B. »VTS_01_1.VOB«, »VTS_01_2.VOB«, »VTS_01_3.VOB«, etc.) und
           behandelt alle diese Dateien, als ob sie zu einer einzigen großen Datei verbunden
           wären. Diese Option, ein einzelnes »=«, veranlasst mkvmerge(1), nicht nach diesen
           zusätzlichen Dateien zu suchen.

           Das »=« kann kann außerdem vor den nächsten Dateinamen gesetzt werden. Daher
           entsprechen die beiden folgenden Befehle einander:

               $ mkvmerge -o vollständig.mkv = Datei1.mkv
               $ mkvmerge -o vollständig.mkv =Datei1.mkv

       ( Datei1 Datei2 )
           Falls mehrere Dateinamen in runden Klammern stehen, dann werden diese Dateien so
           behandelt, als ob sie in einer einzigen großen Datei verbunden wären, die aus dem
           Inhalt jeder der Dateien besteht, einer nach der anderen.

           Dies kann z.B. für VOB-Dateien benutzt werden, die von einer DVD oder
           MPEG-Transportdatenströmen stammen. Es kann nicht verwendet werden, falls jede Datei
           einen eigenen Kopfdatensatz enthält, was normalerweise bei eigenständigen Dateien wie
           AVI oder MP4 der Fall ist.

           Einen Dateinamen in runde Klammern zu stecken verhindert auch, dass mkvmerge(1) nach
           zusätzlichen Dateien mit dem selben Basisnamen sucht. Dies wird bei der Option =
           beschrieben. Daher entsprechen die beiden folgenden Befehlszeilen einander:

               $ mkvmerge -o Ausgabe.mkv = Datei.mkv
               $ mkvmerge -o Ausgabe.mkv '(' Datei.mkv ')'

           Es ist auf mehrere Dinge zu achten:

            1. Sowohl nach der öffnenden als auch vor der schließenden runden Klammer müssen
               Leerzeichen stehen.

            2. Jeder Parameter in runden Klammern wird als Dateiname interpretiert. Daher müssen
               alle Optionen, die auf diese logische Datei angewandt werden, vor der öffnenden
               runden Klammer aufgeführt werden.

            3. Einige Shells behandeln runde Klammern als Sonderzeichen. Daher müssen Sie sie
               maskieren oder wie im oben gezeigten Beispiel in Anführungszeichen setzen.

   Unterstützung von Anhängen (weitere globale Optionen)
       --attachment-description Beschreibung
           Klarschriftbeschreibung des folgenden Anhangs. Gilt für die nächste Option
           --attach-file oder --attach-file-once.

       --attachment-mime-type MIME-Typ
           MIME-Typ des folgenden Anhangs. Gilt für die nächste Option --attach-file oder
           --attach-file-once. Eine Liste offiziell anerkannter MIME-Typen kann z.B. auf der
           IANA-Homepage[2] gefunden werden. Der MIME-Typ ist für einen Anhang vorgeschrieben.

       --attachment-name Name
           setzt den Namen, der in der Ausgabedatei für diesen Anhang gespeichert wird. Falls
           diese Option nicht angegeben ist, wird der Name vom Dateinamen des Anhangs abgeleitet,
           der mit der Option --attach-file oder der Option --attach-file-once vorgegeben wird.

       --attach-file Dateiname, --attach-file-once Dateiname
           erstellt einen Dateianhang innerhalb der Matroska-Datei. Der MIME-Typ muss gesetzt
           worden sein, bevor diese Option benutzt werden kann. Der Unterschied zwischen diesen
           beiden Formen besteht darin, dass während der Aufteilung die mit --attach-file
           angehängten Dateien an alle Ausgabedateien angehängt werden, während die mit der
           Option --attach-file-once angehängten nur an die erste erstellte Datei angehängt
           werden. Falls keine Aufteilung benutzt wird, tun beide dasselbe.

           mkvextract(1) kann benutzt werden, um angehängte Dateien aus einer Matroska-Datei zu
           extrahieren.

   Optionen, die für jede Eingabedatei verwendet werden können
       -a, --audio-tracks [!]n,m,...
           kopiert die Tonspuren n, m etc. Die Zahlen sind Spur-IDs, die über den Schalter
           --identify abgefragt werden können. Sie sind nicht nur einfach die Spurnummern (siehe
           den Abschnitt Spur-IDs). Voreinstellung: alle Tonspuren kopieren.

           Anstelle von Spur-IDs können auch ISO 639-2-Sprachcodes verwendet werden. Dies
           funktioniert nur bei Quelldateien, die Sprachcodes für ihre Spuren bereithalten.

           Standard: alle Spuren diesen Typs kopieren

           Falls den IDs ein ! vorangestellt ist, ist ihre Bedeutung umgekehrt: alle Spuren
           dieses Typs kopieren außer den nach ! aufgeführten.

       -d, --video-tracks [!]n,m,...
           kopiert die Videospuren n, m etc. Die Zahlen sind Spur-IDs, die über den Schalter
           --identify abgefragt werden können. Sie sind nicht nur einfach die Spurnummern (siehe
           den Abschnitt Spur-IDs). Voreinstellung: alle Videospuren kopieren.

           Anstelle von Spur-IDs können auch ISO 639-2-Sprachcodes verwendet werden. Dies
           funktioniert nur bei Quelldateien, die Sprachcodes für ihre Spuren bereithalten.

           Falls den IDs ein ! vorangestellt ist, ist ihre Bedeutung umgekehrt: alle Spuren
           dieses Typs kopieren außer den nach ! aufgeführten.

       -s, --subtitle-tracks [!]n,m,...
           kopiert die Untertitelspuren n, m etc. Die Zahlen sind Spur-IDs, die über den Schalter
           --identify abgefragt werden können. Sie sind nicht nur einfach die Spurnummern (siehe
           den Abschnitt Spur-IDs). Voreinstellung: alle Untertitelspuren kopieren.

           Anstelle von Spur-IDs können auch ISO 639-2-Sprachcodes verwendet werden. Dies
           funktioniert nur bei Quelldateien, die Sprachcodes für ihre Spuren bereithalten.

           Falls den IDs ein ! vorangestellt ist, ist ihre Bedeutung umgekehrt: alle Spuren
           dieses Typs kopieren außer den nach ! aufgeführten.

       -b, --button-tracks [!]n,m,...
           kopiert die Button-Spuren n, m etc. Die Zahlen sind Spur-IDs, die über den Schalter
           --identify abgefragt werden können. Sie sind nicht nur einfach die Spurnummern (siehe
           den Abschnitt Spur-IDs). Voreinstellung: alle Button-Spuren kopieren.

           Anstelle von Spur-IDs können auch ISO 639-2-Sprachcodes verwendet werden. Dies
           funktioniert nur bei Quelldateien, die Sprachcodes für ihre Spuren bereithalten.

           Falls den IDs ein ! vorangestellt ist, ist ihre Bedeutung umgekehrt: alle Spuren
           dieses Typs kopieren außer den nach ! aufgeführten.

       --track-tags [!]n,m,...
           kopiert die Tags für Spuren n, m etc. Die Zahlen sind Spur-IDs, die über den Schalter
           --identify abgefragt werden können. Sie sind nicht nur einfach die Spurnummern (siehe
           den Abschnitt Spur-IDs). Voreinstellung: Tags für alle Spuren kopieren.

           Falls den IDs ein ! vorangestellt ist, ist ihre Bedeutung umgekehrt: alles kopieren
           außer den nach ! aufgeführten IDs.

       -m, --attachments [!]n[:all|first],m[:all|first],...
           kopiert die Anhänge mit den IDs n, m etc. in alle Ausgabedateien oder nur in die
           erste. Jeder ID kann entweder »:all« folgen (was Voreinstellung ist, wenn nichts
           eingegeben wird) oder »:first«. Falls Aufteilen aktiv ist, dann werden diese Anhänge,
           deren IDs mit »:all« angegeben wurden, in alle resultierenden Ausgabedateien kopiert,
           während die anderen nur in die erste Ausgabedatei kopiert werden. Falls kein Aufteilen
           aktiv ist, dann haben beide Varianten dieselben Auswirkungen.

           Standardmäßig werden alle Anhänge in alle Ausgabedateien kopiert.

           Falls den IDs ein ! vorangestellt ist, ist ihre Bedeutung umgekehrt: alles kopieren
           außer den nach ! aufgeführten IDs.

       -A, --no-audio
           keine Tonspur aus dieser Datei kopieren

       -D, --no-video
           keine Videospur aus dieser Datei kopieren

       -S, --no-subtitles
           keine Untertitelspur aus dieser Datei kopieren

       -B, --no-buttons
           keine Button-Spur aus dieser Datei kopieren

       -T, --no-track-tags
           keine spurspezifischen Tags aus dieser Datei kopieren

       --no-chapters
           keine Kapitel aus dieser Datei kopieren

       -M, --no-attachments
           keine Anhänge aus dieser Datei kopieren

       --no-global-tags
           keine globalen Tags aus dieser Datei kopieren

       --chapter-charset Zeichensatz
           setzt den Zeichensatz, der für die Umwandlung der in der Quelldatei enthaltenen
           Kapitelinformation nach UTF-8 verwendet wird. Eine Erklärung, wie mkvmerge(1)
           Zeichensätze umwandelt, finden Sie im Abschnitt über Textdateien und Zeichensätze.

       --chapter-language Sprachcode
           setzt den ISO 639-2-Sprachcode, der für jeden Kapiteleintrag geschrieben wird. Diese
           Option kann für Quelldateien benutzt werden, die Kapitel, jedoch keine Informationen
           über die Sprachen der Kapitel, enthalten, z.B. bei MP4- und OGM-Dateien.

       -y, --sync TID:d[,o[/p]]
           passt die Zeitstempel der Spur mit der ID TID um d ms an. Die Spur-IDs sind dieselben,
           wie die mit --identify angegebenen (siehe den Abschnitt Spur-IDs).

           o/p: passen die Zeitstempel um o/p an, um lineare Verschiebungen zu beheben. Falls p
           weggelassen wird, ist sie standardmäßig 1. Sowohl o als auch p können Fließkommazahlen
           sein.

           Voreinstellung: keine manuelle Synchronisationskorrektur (was dasselbe wie d = 0 und
           o/p = 1.0ist).

           Diese Option kann mehrfach für eine Eingabedatei benutzt werden und gilt für mehrere
           Spuren, indem jedesmal eine andere Spur-ID ausgewählt wird.

       --cues TID:none|iframes|all
           steuert, für welchen Spurenindex Einträge für die angegebene Spur erstellt werden
           (siehe den Abschnitt Spur-IDs). »none« verhindert das Erstellen von Indexeinträgen.
           Für »iframes« werden nur Blöcke ohne Vorwärts- oder Rückwärtsbezüge (= IFrames in
           Videospuren) in das Cuesheet abgelegt. »all« veranlasst mkvmerge(1), Indexeinträge für
           alle Blöcke zu erstellen, wodurch die Datei sehr groß wird.

           Für Video- und Untertitelspuren ist die Voreinstellung »iframes«, für Audiospuren
           »none«. Siehe auch die Option --no-cues, die das Erstellen von Indexeinträgen
           verhindert, ohne die benutzten --cues-Optionen zu berücksichtigen.

           Diese Option kann mehrfach für eine Eingabedatei benutzt werden und gilt für mehrere
           Spuren, indem jedesmal eine andere Spur-ID ausgewählt wird.

       --default-track TID[:bool]
           setzt den Standardschalter für die angegebene Spur (siehe den Abschnitt Spur-IDs),
           falls das optionale Argument bool nicht vorhanden ist. Falls der Anwender nicht
           explizit selbst eine Spur auswählt, dann sollte das Abspielprogramm die Spur
           bevorzugen, für die der Standardschalter gesetzt ist. Nur eine Spur jeder Art (Ton,
           Video, Untertitel, Buttons) kann einen gesetzten »Standard«-Schalter haben. Falls der
           Anwender nicht möchte, dass der Standardspurschalter gesetzt ist, muss er bool für
           alle Spuren auf 0 setzen.

           Diese Option kann mehrfach für eine Eingabedatei benutzt werden und gilt für mehrere
           Spuren, indem jedesmal eine andere Spur-ID ausgewählt wird.

       --forced-track TID[:bool]
           setzt den Schalter »Abspielen erzwingen« für die angegebene Spur (siehe den Abschnitt
           Spur-IDs), falls das optionale Argument bool nicht vorhanden ist. Ein Abspielprogramm
           muss alle Spuren abspielen, für die der Schalter auf 1 gesetzt wurde.

           Diese Option kann mehrfach für eine Eingabedatei benutzt werden und gilt für mehrere
           Spuren, indem jedesmal eine andere Spur-ID ausgewählt wird.

       --blockadd TID:Stufe
           behält für die angegebene Spur nur die BlockAdditions bis hinauf zur Stufe Stufe.
           Standardmäßig werden alle Stufen aufbewahrt. Diese Option beeinflusst nur bestimmte
           Arten von Codecs wie WAVPACK4.

       --track-name TID:Name
           setzt den Spurnamen für die angegebene Spur (siehe den Abschnitt Spur-IDs) auf Name.

       --language TID:Sprache
           setzt die Sprache der angegebenen Spur (siehe den Abschnitt Spur-IDs). Es sind sowohl
           ISO 639-2-Sprachcodes als auch ISO 639-1-Ländercodes erlaubt. Die Ländercodes werden
           automatisch in die Sprachcodes umgewandelt. Alle Sprachcodes einschließlich ihrer ISO
           639-2-Codes können mit der Option --list-languages aufgeführt werden.

           Diese Option kann mehrfach für eine Eingabedatei benutzt werden und gilt für mehrere
           Spuren, indem jedesmal eine andere Spur-ID ausgewählt wird.

       -t, --tags TID:Dateiname
           liest Tags für die Spur mit der Nummer TID aus der Datei Dateiname. Einzelheiten
           finden Sie im nachfolgenden Abschnitt über Tags.

       --aac-is-sbr TID[:0|1]
           teilt mkvmerge(1) mit, dass die Spur mit der ID TID vom Typ SBR AAC ist (auch als
           HE-AAC oder AAC+ bekannt). Diese Option wird benötigt, falls a) die Quelldatei eine
           AAC-Datei ist (nicht für eine Matroska-Datei) und b) die AAC-Datei »SBR AAC«-Daten
           enthält. Der Grund für diesen Schalter ist, dass es technisch unmöglich ist, normale
           AAC-Daten von SBR AAC zu unterscheiden, ohne das komplette AAC-Bild zu entschlüsseln.
           Da es mehrere Patentprobleme mit AAC-Entschlüsselungsprogrammen gibt, wird mkvmerge(1)
           diese Entschlüsselungsstufe niemals enthalten. Daher ist dieser Schalter für SBR
           AAC-Dateien zwingend notwendig. Die resultierende Datei kann möglicherweise nicht
           korrekt oder gar nicht wiedergegeben werden, wenn der Schalter weggelassen wird.

           Falls die Quelldatei eine Matroska-Datei ist, sollte die CodecID ausreichen, um SBR
           AAC zu bestimmen. Falls die CodecID jedoch falsch ist, kann der Schalter benutzt
           werden, um dies zu korrigieren.

           Falls mkvmerge(1) fälschlicherweise feststellt, dass eine AAC SBR ist, können Sie »:0«
           zur Spur-ID hinzufügen.

       --reduce-to-core TID
           Einige Audio-Codecs enthalten einen verlustbehafteten Kern und implementieren
           verlustfreies Decodieren durch Erweiterungen. Diese Option weist mkvmerge(1) an, nur
           den Kern zu kopieren, nicht aber die Erweiterungen. Standardmäßig kopiert mkvmerge(1)
           sowohl den Kern als auch die Erweiterungen.

           Momentan werden nur DTS-Spuren von dieser Option beeinflusst. TrueHD-Spuren, die einen
           eingebetteten AC-3-Kern enthalten, werden statt dessen als zwei einzelne Spuren
           präsentiert, für die der Anwender separat entscheiden kann, welche kopiert werden
           sollen. Bei DTS würde das nicht funktionen, da HD-Erweiterungen nicht alleinstehend
           decodiert werden können – anders als bei TrueHD-Daten.

       --remove-dialog-normalization-gain TID
           Einige Audio-Codecs enthalten Kopfdatenfelder, die den Decoder oder das
           Abspielprogramm anweisen, eine (normalerweise negative) Signalverstärkung für
           Dialognormalisierung anzuwenden. Diese Option weist mkvmerge(1) an, diese
           Signalverstärkung zu entfernen oder zu minimieren, indem die entsprechenden
           Kopfdatenfelder verändert werden.

           Momentan werden nur AC-3-, DTS- und TrueHD-Spuren von dieser Option beeinflusst.

       --timestamps TID:Dateiname
           Die Zeitstempel, die für eine bestimmte Spur-ID von Dateiname benutzt werden, werden
           gelesen. Diese Zeitstempel erzwingen das Überschreiben der normalerweise von
           mkvmerge(1) berechneten Zeitstempel. Lesen Sie den Abschnitt über externe
           Zeitstempeldateien.

       --default-duration TID:x
           erzwingt, dass die Standarddauer einer gegebenen Spur den angegebenen Wert annimmt.
           Außerdem werden die Zeitstempel der Spur so geändert, dass sie zur Standarddauer
           passen. Dem Argument x muss »s«, »ms«, »us«, »ns«, »fps«, »p« oder »i« folgen, um die
           Dauer in Sekunden, Millisekunden, Mikrosekunden, Nanosekunden, Bildern pro Sekunde,
           fortlaufenden Bildern pro Sekunde beziehungsweise Halbbildern pro Sekunde anzugeben.
           Die Zahl x selbst kann eine Fließkommazahl oder ein Bruch sein.

           Falls die Standarddauer nicht erzwungen wird, dann wird mkvmerge(1) versuchen, die
           Standarddauer der Spur, des Containers und/oder des codierten Bitstroms bei bestimmten
           Spurtypen, z.B. AVC/H.264 oder MPEG-2, abzuleiten.

           Diese Option kann auch benutzt werden, um die BpS von Videospuren zu ändern, ohne eine
           externe Zeitstempeldatei zu verwenden.

       --fix-bitstream-timing-information TID[:0|1]
           Normalerweise ändert mkvmerge(1) nicht die Zeiteinteilungsinformation
           (Bild-/Feldrate), die im Video-Bitstrom gespeichert ist. Mit dieser Option wird diese
           Information angepasst, damit sie zur Zeiteinteilungsinformation des Containers passt.
           Die Zeiteinteilungsinformation des Containers kann aus verschiedenen Quelle stammen:
           von der Befehlszeile (siehe die Option --default-duration), dem Quell-Container oder
           kann aus dem Bitstrom abgeleitet sein.

               Anmerkung
               Dies wurde bisher nur für AVC/H.264-Videospuren implementiert.

       --nalu-size-length TID:n
           erzwingt eine Länge der NALU-Größe von n Byte. Dieser Parameter wird nur benutzt,
           falls der einfache AVC/H.264-Datenströme verwendet wird. Falls er weggelassen wird,
           ist die Voreinstellung 4 Byte, es gibt aber Dateien, die Bilder oder Teile enthalten,
           die alle kleiner als 65536 Byte sind. Für derartige Dateien können Sie diesen
           Parameter benutzen und die Größe auf 2 vermindern.

       --compression TID:n
           wählt die Komprimierungsmethode aus, die für diese Spur benutzt wird. Beachten Sie,
           dass das Abspielprogramm diese Methode ebenfalls unterstützen muss. Gültige Werte sind
           »none«, »zlib« und »mpeg4_p2«/»mpeg4p2«.

           Die Komprimierungsmethode »mpeg4_p2«/»mpeg4p2« ist eine besondere
           Komprimierungsmethode, genannt »Kopfdaten entfernen«, die nur für
           MPEG4-Teil-2-Videospuren verfügbar ist.

           Für einige Untertiteltypen ist die Voreinstellung »zlib«-Komprimierung. Diese
           Komprimierungsmethode ist außerdem jene, die die meisten, wenn nicht sogar alle
           Abspielprogramme unterstützen. Für andere Komprimierungsmethoden außer »none« kann
           keine Unterstützung zugesichert werden.

   Optionen, die nur für Videospuren gelten
       -f, --fourcc TID:FourCC
           erzwingt, dass FourCC den angegebenen Wert annimmt; funktioniert nur bei Videospuren
           im »MS-Kompatibilitätsmodus«.

       --display-dimensions TID:BreitexHöhe
           Matroska-Dateien enthalten zwei Werte, die die Anzeigeeigenschaften setzen, auf die
           ein Abspielprogramm das Bild bei der Wiedergabe skalieren sollte: Anzeigebreite und
           Anzeigehöhe. Diese Werte können mit dieser Option gesetzt werden, z.B. »1:640x480«.

           Eine weitere Möglichkeit, die Werte anzugeben, ist die Verwendung der Option
           --aspect-ratio oder --aspect-ratio-factor (siehe unten). Diese Optionen schließen sich
           gegenseitig aus.

       --aspect-ratio TID:Verhältnis|Breite/Höhe
           Matroska-Dateien enthalten zwei Werte, die die Anzeigeeigenschaften setzen, auf die
           ein Abspielprogramm das Bild bei der Wiedergabe skalieren sollte: Anzeigebreite und
           Anzeigehöhe. Mit dieser Option wird mkvmerge(1) automatisch die Anzeigebreite und
           Anzeigehöhe basierend auf der Originalbreite und -höhe berechnen und das mit dieser
           Option angegebene Seitenverhältnis berücksichtigen. Das Verhältnis kann entweder als
           Fließkommazahl Verhältnis oder als Bruch »Breite/Höhe«, z.B. »16/9«, angegeben werden.

           Eine weitere Möglichkeit, die Werte anzugeben, ist die Verwendung der Option
           --aspect-ratio-factor oder --display-dimensions (siehe oben und unten). Diese Optionen
           schließen sich gegenseitig aus.

       --aspect-ratio-factor TID:Faktor|n/d
           Eine weitere Möglichkeit, das Seitenverhältnis zu setzen, ist die Angabe eines
           Faktors. Das Originalseitenverhältnis wird zuerst mit diesem Faktor multipliziert und
           hinterher als Zielseitenverhältnis benutzt.

           Eine weitere Möglichkeit, die Werte anzugeben, ist die Verwendung der Option
           --aspect-ratio oder --display-dimensions (siehe oben). Diese Optionen schließen sich
           gegenseitig aus.

       --cropping TID:links,oben,rechts,unten
           setzt die Parameter für das Abschneiden von Bildpunkten einer Videospur auf die
           angegebenen Werte.

       --colour-matrix TID:n
           Setzt die Matrix-Koeffizienten des Videos, die benutzt werden, um Helligkeits- und
           Farbton-/Sättigungs-Werte von den Primärfarben Rot, Grün und Blau abzuleiten. Der
           Parameter n ist eine Ganzzahl zwischen 0 und 10 inklusive.

           Gültige Werte und ihre Bedeutung sind:

           0: GBR, 1: BT709, 2: nicht spezifiziert, 3: reserviert, 4: FCC, 5: BT470BG, 6: SMPTE
           170M, 7: SMPTE 240M, 8: YCOCG, 9: BT2020 nicht konstante Helligkeit, 10: BT2020
           konstante Helligkeit

       --colour-bits-per-channel TID:n
           Setzt die Anzahl codierter Bits für einen Farbkanal. Der Wert 0 zeigt an, dass die
           Anzahl nicht spezifiziert ist.

       --chroma-subsample TID:hori,vert
           Die Anzahl der in den Cr- und Cb-Kanälen horizontal und vertikal zu entfernenden Pixel
           für jeden nicht entfernten Pixel.

           Beispiel: Für ein Video mit 4:2:0-Farbon-/Sättigungs-Unterabtastung sollte der
           Parameter auf TID:1,1 gesetzt werden.

       --cb-subsample TID:hori,vert
           Die Anzahl der im Cb-Kanal horizontal und vertikal zu entfernenden Pixel für jeden
           nicht entfernten Pixel. Dies gilt zuzüglich zu --chroma-subsample.

           Beispiel: für ein Video mit 4:2:1-Farbon-/Sättigungs-Unterabtastung sollte der
           Parameter --chroma-subsample auf TID:1,0 und Cb-Unterabtastung auf TID:1,0 gesetzt
           werden.

       --chroma-siting TID:hori,vert
           Setzt, wie Farbton/Sättigung horizontal und vertikal positioniert ist (0: nicht
           spezifiziert, 1: oben angeordnet, 2: halb).

       --colour-range TID:n
           Setzt das Abschneiden des Farbbereiches (0: nicht spezifiziert, 1: Broadcast-Bereich,
           2: voller Bereich (kein Abschneiden), 3: durch
           Matrix-Koeffizienten/Transfer-Charakteristiken definiert).

       --colour-transfer-characteristics TID:n
           Die Charakteristiken der Farbton-Übertragung.

           Gültige Werte und ihre Bedeutung sind:

           0: reserviert, 1: ITU-R BT.709, 2: nicht spezifiziert, 3: reserviert, 4:
           Gamma-2.2-Kurve, 5: Gamma-2.8-Kurve, 6: SMPTE 170M, 7: SMPTE 240M, 8: linear, 9:
           logarithmisch, 10: logarithmisch Quadratwurzel, 11: IEC 61966-2-4, 12: ITU-R BT.1361
           erweiterte Farbskala, 13: IEC 61966-2-1, 14: ITU-R BT.2020 10 bit, 15: ITU-R BT.2020
           12 bit, 16: SMPTE ST 2084, 17: SMPTE ST 428-1; 18: ARIB STD-B67 (HLG)

       --colour-primaries TID:n
           Setzt die Primärfarben des Videos.

           Gültige Werte und ihre Bedeutung sind:

           0: reserviert, 1: ITU-R BT.709, 2: nicht spezifiziert, 3: reserviert, 4: ITU-R
           BT.470M, 5: ITU-R BT.470BG, 6: SMPTE 170M, 7: SMPTE 240M, 8: FILM, 9: ITU-R BT.2020,
           10: SMPTE ST 428-1, 22: JEDEC P22 phosphors

       --max-content-light TID:n
           Maximale Helligkeit eines einzelnen Pixels (maximales Lichtlevel des Inhalts) in
           Candela pro Quadratmeter (cd/m²). Der Wert n sollte eine nicht negative ganze Zahl
           sein.

       --max-frame-light TID:n
           Maximaler Durchschnittswert für das Lichtlevel eines vollen Bildes in Candela pro
           Quadratmeter (cd/m²). Der Wert n sollte eine nicht negative ganze Zahl sein.

       --chromaticity-coordinates TID:rot-x,rot-y,grün-x,grün-y,blau-x,blau-y
           Setzt die Rot-/Grün-/Blau-Koordinaten für Farbton & Sättigung, wie sie in CIE 1931
           definiert werden.

       --white-colour-coordinates TID:x,y
           Setzt die Koordinaten der weißen Farbe, wie sie in CIE 1931 definiert sind.

       --max-luminance TID:Fließkommazahl
           Setzt die maximale Helligkeit in Candela pro Quadratmeter (cd/m²). Der Wert sollte
           kleiner als 9999.99 sein.

       --min-luminance TID:Fließkommazahl
           Setzt die minimale Helligkeit in Candela pro Quadratmeter (cd/m²). Der Wert sollte
           kleiner als 999.9999 sein.

       --projection-type TID:Methode
           Setzt die benutzte Videoprojektionsmethode. Gültige Werte sind 0
           (Rektangularprojektion), 1 (gleichseitige Rektangularprojektion), 2 (Würfelprojektion)
           und 3 (Gitterprojektion).

       --projection-private TID:Daten
           Setzt private Daten, die nur zu einer bestimmten Projektion gehören. Die Daten müssen
           als Hexadezimalzahlen mit oder ohne Präfix »0x«, mit oder ohne Leerzeichen angegeben
           werden.

       --projection-pose-yaw TID:Fließkommazahl
           Gibt einen Gierwinkel zur Projektion an.

       --projection-pose-pitch TID:Fließkommazahl
           Gibt einen Drehwinkel zur Projektion an.

       --projection-pose-roll TID:Fließkommazahl
           Gibt einen Rollwinkel zur Projektion an.

       --field-order TID:n
           setzt die Feldreihenfolge für die Videospur mit der Spur-ID TID. Die Reihenfolge muss
           eine der folgenden Zahlen sein:

           0: progressiv; 1: Halbbildverfahren mit oberem Feld zuerst angezeigt und oberem Feld
           zuerst gespeichert; 2: nicht spezifizierte Feldreihenfolge; 6: Halbbildverfahren mit
           unterem Feld zuerst angezeigt und unterem Feld zuerst gespeichert; 9:
           Halbbildverfahren mit unterem Feld zuerst angezeigt und oberem Feld zuerst
           gespeichert; 14: Halbbildverfahren mit oberem Feld zuerst angezeigt und unterem Feld
           zuerst gespeichert

       --stereo-mode TID:n|Schlüsselwort
           setzt den Stereomodus für die Videospur mit der Spur-ID TID. Der Modus kann entweder
           eine Zahl n zwischen 0 und 14 oder eines dieser Schlüsselwörter sein:

           »mono«, »side_by_side_left_first«, »top_bottom_right_first«, »top_bottom_left_first«,
           »checkerboard_right_first«, »checkerboard_left_first«, »row_interleaved_right_first«,
           »row_interleaved_left_first«, »column_interleaved_right_first«,
           »column_interleaved_left_first«, »anaglyph_cyan_red«, »side_by_side_right_first«,
           »anaglyph_green_magenta«, »both_eyes_laced_left_first«, »both_eyes_laced_right_first«

   Optionen, die nur für Untertitelspuren gelten
       --sub-charset TID:Zeichensatz
           setzt den Zeichensatz für die Umwandlung nach UTF-8 für UTF-8-Untertitel der
           angegebenen Spur-ID. Ist er nicht angegeben, wird der Zeichensatz von den aktuellen
           Locale-Einstellungen abgeleitet. Beachten Sie, dass für Untertitel, die aus
           Matroska-Dateien oder Kate-Datenströmen stammen, kein Zeichensatz erforderlich ist, da
           diese immer in UTF-8 gespeichert werden. Ein Erklärung, wie mkvmerge(1) Zeichensätze
           umwandelt, finden Sie im Abschnitt über Textdateien und Zeichensätze.

           Diese Option kann mehrfach für eine Eingabedatei benutzt werden und gilt für mehrere
           Spuren, indem jedesmal eine andere Spur-ID ausgewählt wird.

   Weitere Optionen
       -i, --identify Dateiname
           wird mkvmerge(1) veranlassen, die einzelne Datei eingehend zu untersuchen und ihren
           Typ, die in der Datei enthaltenen Spuren und ihre Spur-IDs zu melden. Falls diese
           Option benutzt wird, ist der Dateiname die einzige weitere erlaubte Option.

           Das für die Ergebnisse benutze Ausgabeformat kann mit der Option
           --identification-format geändert werden.

       -J Dateiname
           Dies ist ein bequemer Alias für "--identification-format json --identify Dateiname".

       -F, --identification-format Format
           Legt das Format für die Ausgabe der Option --identify fest. Die folgenden Formate
           werden unterstützt: text (das Standardformat, wenn diese Option nicht genutzt wird)
           und json.

            1. Das Format text ist kurz und menschenlesbar. Es aus einer Zeile pro gefundenem
               Element (Container, Spuren, Anhänge etc.).

               Dieses Format wurde nicht dafür entworfen, geparset zu werden. Die Ausgabe wird in
               die von mkvmerge(1) benutzte Sprache übersetzt (siehe auch --ui-language).

            2. Das Format json ist eine maschinenlesbares JSON-Repräsentation. Dieses Format
               folgt dem JSON-Schema, das in der folgenden Datei beschrieben wird:

               mkvmerge-identification-output-schema-v12.json[3]

               Alle Versionen des JSON-Schemas sind sowohl online als auch in den veröffentlichen
               Quellcodearchiven verfügbar.

       --probe-range-percentage Prozentsatz
           Dateitypen wie MPEG Programm- und Transportströme (.vob, .m2ts) erfordern, dass eine
           gewisse Menge Daten untersucht werden, um alle Spuren zu erkennen, die in der Datei
           enthalten sind. Diese Menge ist standardmäßig 0.3% der Quelldateigröße bzw. 10 MB, je
           nachdem, welcher Werte höher ist.

           Falls Spuren bekanntermaßen enthalten sind aber nicht gefunden werden, so kann der zu
           untersuchende Prozentsatz hier geändert werden. Das Minimum von 10 MB ist fest
           eingebaut und kann nicht geändert werden.

       -l, --list-types
           führt unterstützte Eingabedateitypen auf.

       --list-languages
           Führt alle Sprachen und ihren ISO 639-2-Code auf, die mit der Option --language
           benutzt werden können.

       --priority Priorität
           setzt die Prozesspriorität, mit der mkvmerge(1) ausgeführt wird. Gültige Werte sind
           »lowest«, »lower«, »normal«, »higher« und »highest«. Falls nichts angegeben wurde,
           wird »normal« benutzt. Auf Unix-ähnlichen Systemen wird mkvmerge(1) die Funktion
           nice(2) verwenden. Daher kann nur der Superuser »higher« und »highest« benutzen. Auf
           Windows sind alle Werte für jeden Anwender benutzbar.

           Die Auswahl von »lowest« veranlasst mkvmerge(1) außerdem, zusätzlich zur niedrigsten
           möglichen Prozesspriorität eine Leerlauf-E/A-Priorität zu wählen.

       --command-line-charset Zeichensatz
           setzt den Zeichensatz, um auf der Befehlszeile angegebene Zeichenketten umzuwandeln.
           Voreinstellung ist der Zeichensatz der aktuellen Locale des Systems. Diese Einstellung
           gilt für Argumente der folgenden Optionen: --title, --track-name und
           --attachment-description.

       --output-charset Zeichensatz
           setzt den Zeichensatz, in den Zeichenketten zur Ausgabe umgewandelt werden.
           Voreinstellung ist der Zeichensatz der aktuellen Locale des Systems.

       -r, --redirect-output Dateiname
           schreibt alle Nachrichten in die Datei Dateiname statt auf die Konsole. Obwohl dies
           einfach durch Ausgabeumleitung erledigt werden kann, gibt es Fälle, in denen diese
           Option benötigt wird: wenn das Terminal die Ausgabe vor dem Schreiben in eine Datei
           neu auswertet. Der mit --output-charset gesetzte Zeichensatz wird dabei
           berücksichtigt.

       --flush-on-close
           Weist mkvmerge an, alle gepufferten Daten auf den Datenspeicher zu schreiben, wenn
           eine zum Schreiben geöffnete Datei geschlossen wird. Das kann benutzt werden, um
           Datenverlust bei Stromausfall vorzubeugen oder bestimmte Probleme im Betriebssystem
           oder Treibern zu vermeiden. Der Nachteil ist, dass das Multiplexen länger dauert, da
           mkvmerge vor dem Beenden wartet, bis alle Daten auf den Datenspeicher geschrieben
           wurden. Siehe Probleme #2469 und #2480 im MKVToolNix-Bugtracker für eine tiefergehende
           Diskussion der Vor- und Nachteile.

       --ui-language Code
           Erzwingt, dass die Übersetzungen für die Sprache Code benutzt werden (z.B. »de_DE« für
           die deutschen Übersetzungen). Bei der Eingabe von »list« als Code gibt das Programm
           eine Liste der verfügbaren Übersetzungen aus.

       --abort-on-warnings
           Weist das Programm an abzubrechen, nachdem die erste Warnung ausgegeben wurde. Der
           Rückgabewert des Programms wird in dem Fall 1 sein.

       --deterministic Initialwert
           Aktiviert das Erzeugen von Byte für Byte identischen Dateien, sofern die selbe Version
           von mkvmerge(1) mit den selben Quelldateien, den selben Optionen und dem selben
           Initialwert benutzt werden. Beachten Sie, dass das "Datum"-Segment-Informationen-Feld
           in diesem Modus nicht geschrieben wird.

           Der Initialwert kann eine beliebige Zeichenkette und muss keine Zahl sein.

           Das Ergebnis von Byte für Byte identischen Dateien wird nur unter den folgenden
           Bedingungen garantiert:

            1. Die selbe Version von mkvmerge(1), gebaut mit den selben Versionen von libEBML und
               libMatroska, wird benutzt.

            2. Die Quelldateien sind Byte für Byte identisch.

            3. Die selben Kommandozeilenoptionen werden in der selben Reihenfolge benutzt (mit
               der expliziten Ausnahme der Option --output ...).

           Die Nutzung anderer Versionen von mkvmerge(1) oder andere Kommandozeilenoptionen kann
           ebenfalls zu einer Byte für Byte identischen Datei führen, was aber nicht garantiert
           wird.

       --debug Thema
           schaltet die Fehlersuche für eine bestimmte Funktionalität ein. Diese Option ist nur
           für Entwickler nützlich.

       --engage Funktionalität
           schaltet experimentelle Funktionalitäten ein. Eine Liste verfügbarer Funktionalitäten
           kann mit mkvmerge --engage list abgefragt werden. Diese Funktionalitäten sind nicht
           für die Verwendung in Alltagssituationen gedacht.

       --gui-mode
           Schaltet den Modus für graphische Benutzeroberflächen an. In diesem Modus können auf
           bestimmte Art formatierte Zeilen ausgegeben werden, die einem aufrufenden Programm
           mitteilen, was mkvmerge(1) gerade tut. Diese Nachrichten haben das folgende Format:
           '#GUI#Nachricht'. Der Nachricht folgen potenziell Schlüssel/Wert-Paare wie z.B.
           '#GUI#Nachricht#schluessel1=wert1#schluessel2=wert2...'. Weder die Nachricht selber
           noch die Schlüssel werden jemals übersetzt sondern immer in Englisch ausgegeben.

       @Optionsdatei.json
           liest zusätzliche Befehlszeilenargumente aus der Datei Optionsdatei. Weitere
           Informationen finden Sie im Abschnitt über Optionsdateien.

       --capabilities
           führt Informationen über optionale Funktionalitäten auf, die einkompiliert wurden, und
           beendet sich. Die erste ausgegebene Zeile wird die Versionsinformation sein. Alle
           folgenden Zeilen enthalten genau ein Wort, dessen Vorhandensein anzeigt, dass die
           Funktionalität einkompiliert wurde. Diese Funktionalitäten sind:

           •   »FLAC« – Lesen roher FLAC-Dateien und Handhabung von FLAC-Spuren in anderen
               Containern, z.B. Ogg oder Matroska.

       -h, --help
           zeigt Benutzungsinformationen und beendet sich.

       -V, --version
           zeigt Versionsinformationen und beendet sich.

AUFRUF

       Für jede Datei kann der Benutzer auswählen, welche Spuren mkvmerge(1) nehmen soll. Sie
       alle werden in eine mit -o angegebene Datei abgelegt. Eine Liste bekannter (und
       unterstützter) Quellformate kann mit der Option -l abgefragt werden.

           Wichtig
           Die Reihenfolge der Befehlszeilenoptionen ist wichtig. Bitte lesen Sie den Abschnitt
           »Reihenfolge der Optionen«, falls sie ein neuer Nutzer des Programms sind.

REIHENFOLGE DER OPTIONEN

       Die Reihenfolge, in der die Optionen eingegeben werden, ist für einige Optionen wichtig.
       Optionen fallen unter zwei Kategorien:

        1. Optionen, die das ganze Programm beeinflussen und nicht an irgendeine Eingabedatei
           gebunden sind. Dies sind unter anderem --command-line-charset, --output oder --title.
           Diese können überall auf der Befehlszeile erscheinen.

        2. Optionen, die eine einzelne Eingabedatei oder eine einzelne Spur in einer Eingabedatei
           beeinflussen. Diese Optionen gelten für die auf der Befehlszeile folgende Datei. Alle
           Optionen, die für dieselbe Eingabedatei (oder für Spuren derselben Eingabedatei)
           gelten, können in jeder Reihenfolge geschrieben werden, solange sie alle vor dem Namen
           dieser Eingabedatei erschienen. Beispiele für Optionen, die für eine Eingabedatei
           gelten, sind --no-chapters oder --chapter-charset. Beispiele für Optionen, die für
           eine einzelne Spur gelten, sind --default-duration oder --language.

       Die Optionen werden von links nach rechts verarbeitet. Falls eine Option mehrfach
       innerhalb desselben Geltungsbereichs erscheint, dann wird das letzte Auftreten benutzt.
       Daher wird der Titel im folgenden Beispiel auf »Etwas anderes« gesetzt:

           $ mkvmerge -o Ausgabe.mkv --title 'Dies und das' Eingabe.avi --title 'Etwas anderes'

       Das folgende Beispiel zeigt die zweimalige Verwendung der Option --language, die in
       Ordnung ist, da sie in unterschiedlichen Geltungsbereichen liegen. Obwohl sie für dieselbe
       Spur-ID gelten, gelten sie für verschiedene Eingabedateien und haben daher
       unterschiedliche Geltungsbereiche:

           $ mkvmerge -o Ausgabe.mkv --language 0:fre français.ogg --language 0:deu deutsch.ogg

BEISPIELE

       Angenommen, Sie haben eine Datei namens MeinFilm.avi und die Tonspur in einer separaten
       Datei, z.B. »MeinFilm.wav«. Als erstes möchten Sie den Ton in OggVorbis codieren:

           $ oggenc -q4 -oMeinFilm.ogg MeinFilm.wav

       Nach ein paar Minuten können Sie Video und Ton kombinieren:

           $ mkvmerge -o MeinFilm-mit-Ton.mkv MeinFilm.avi MeinFilm.ogg

       Falls Ihr AVI bereits eine Tonspur enthält, dann wird sie ebenfalls kopiert (wenn
       mkvmerge(1) das Audioformat unterstützt). Um dies zu verhindern, tun Sie einfach
       Folgendes:

           $ mkvmerge -o MeinFilm-mit-Ton.mkv -A MeinFilm.avi MeinFilm.ogg

       Nach einigen Minuten Überlegung rippen Sie eine andere Tonspur, z.B. die Kommentare des
       Regisseurs oder eine weitere Sprache für MeinFilm-fügt-Ton-hinzu.wav. Codieren Sie ihn
       erneut und kombinieren Sie ihn mit der anderen Datei:

           $ oggenc -q4 -oMeinFilm-fügt-Ton-hinzu.ogg MeinFilm-fügt-Ton-hinzu.wav
           $ mkvmerge -o MM-komplett.mkv MeinFilm-mit-Ton.mkv MeinFilm-fügt-Ton-hinzu.ogg

       Dasselbe Ergegnis kann erzielt werden durch

           $ mkvmerge -o MM-komplett.mkv -A MeinFilm.avi MeinFilm.ogg MeinFilm-fügt-Ton-hinzu.ogg

       Werfen Sie nun mplayer an und genießen Sie. Falls Sie mehrere Tonspuren (oder sogar
       Videospuren) haben, dann können Sie mplayer mit den Optionen »-vid und »-aid« sagen,
       welche Spuren er abspielen soll. Diese sind nullbasiert und unterscheiden nicht zwischen
       Video und Ton.

       Falls Sie eine synchronisierte Tonspur benötigen, können Sie dies einfach erledigen.
       Finden Sie zuerst die Spur-ID der Vorbis-Spur heraus mittels

           $ mkvmerge --identify Unsynchron.ogg

       Nun können Sie diese ID in der folgenden Befehlszeile benutzen:

           $ mkvmerge -o Synchron.mkv -A Quelle.avi -y 12345:200 Unsynchron.ogg

       dies würde 200 ms Stille an den Anfang der Tonspur mit der ID 12345, die aus
       »Unsynchron.ogg« stammt, hinzufügen.

       Einige Filme starten korrekt synchronisiert, verlieren jedoch langsam ihre
       Synchronisierung. Für diese Art von Filmen können Sie einen Verzögerungsfaktor angeben,
       der für alle Zeitstempel gilt – es werden keine Daten hinzugefügt oder entfernt. Falls Sie
       diesen Faktor zu groß oder zu klein wählen, erhalten Sie schlechte Ergebnisse. Ein
       Beispiel war eine umcodierte Episode, die am Ende des 77340 Bilder langen Films um 0,2
       Sekunden von der Synchronizität abwich. Bei 29,97 BpS entsprechen 0,2 Sekunden ungefähr 6
       Bildern. Also machte ich Folgendes:

           $ mkvmerge -o Synchron.mkv -y 23456:0,77346/77340 Unsynchron.mkv

       Das Resultat war gut.

       Die Synchronisationsoptionen können auf die gleiche Weise auch für Untertitel benutzt
       werden.

       Für Textuntertitel können Sie entweder irgendwelche Windows-Software (wie SubRipper) oder
       das Paket subrip nehmen, das Sie in den Quellen von transcode(1) im Verzeichnis
       »contrib/subrip« finden. Allgemein läuft dies so ab:

        1. Extrahieren eines rohen Untertiteldatenstroms aus der Quelle:

               $ tccat -i /Pfad/zur/kopierten/DVD/ -T 1 -L | tcextract -x ps1 -t vob -a 0x20 | subtitle2pgm -o MeinFilm

        2. Umwandlung der resultierenden PGM-Bilder in Text mit Gocr:

               $ pgm2txt MeinFilm

        3. Rechtschreibprüfung der resultierenden Textdateien:

               $ ispell -d american *txt

        4. Umwandlung der Textdateien in eine SRT-Datei:

               $ srttool -s -w -i MeinFilm.srtx -o MeinFilm.srt

       Die resultierende Datei kann als weitere Eingabedatei für mkvmerge(1) benutzt werden:

           $ mkvmerge -o MeinFilm.mkv MeinFilm.avi MeinFilm.srt

       Falls Sie die Sprache für eine gegebene Spur angeben möchten, geht dies einfach. Finden
       Sie zuerst den ISO 639-2-Sprachcode Ihrer Sprache heraus. mkvmerge(1) kann all diese Codes
       für Sie aufführen:

           $ mkvmerge --list-languages

       Durchsuchen Sie die Liste nach den Sprachen, die Sie benötigen. Angenommen, Sie haben zwei
       Tonspuren in eine Matroska-Datei abgelegt, möchten ihre Sprachcodes setzen und wollen,
       dass ihre Spur-IDs 2 und 3 sind. Dies können Sie wie folgt erreichen:

           $ mkvmerge -o mit-Sprachcodes.mkv --language 2:ger --language 3:dut ohne_Sprachcodes.mkv

       Wie Sie sehen, können Sie den Schalter --language mehrfach verwenden.

       Vielleicht wollen Sie auch, dass das Abspielprogramm die niederländische Sprache als
       Standardsprache verwendet. Sie haben außerdem zusätzliche Untertitel, z.B. auf Englisch
       und Französisch und möchten, dass das Abspielprogramm sie standardmäßig auf Französisch
       anzeigt. Dies können Sie wie folgt erreichen:

           $ mkvmerge -o mit-Sprachcodes.mkv --language 2:ger --language 3:dut --default-track 3 ohne-Sprachcodes.mkv --language 0:eng english.srt --default-track 0 --language 0:fre french.srt

       Falls Sie in der Ausgabe von mkvinfo(1) nicht die Sprache oder die Standardspurschalter
       sehen, die Sie angegeben haben, dann lesen Sie bitte den Abschnitt über Vorgabewerte.

       Schalten Sie die Komprimierung für eine Eingabedatei aus.

           $ mkvmerge -o Unkomprimiert.mkv --compression -1:none MeinFilm.avi --compression -1:none MeinFilm.srt

SPUR-IDS

   Normale Spur-IDs
       Einige der Optionen für mkvmerge(1) benötigen eine Spur-ID als Angabe, für welche Spur sie
       gelten. Diese Spur-IDs werden durch die Leseprogramme beim demuxen (Trennen der
       Datenströme) der aktuellen Datei oder wenn mkvmerge(1) mit der Option --identify
       aufgerufen wird, ausgegeben. Ein Beispiel für einer derartige Ausgabe:

           $ mkvmerge -i v.mkv
           Datei »v.mkv«: Container: Matroska
           Spur-ID 0: Video (V_MS/VFW/FOURCC, DIV3)
           Spur-ID 1: Ton (A_MPEG/L3)

       Verwechseln Sie nicht die Spur-IDs, die den Spuren zugewiesen sind, die in der
       Ausgabe-MKV-Datei abgelegt wurden mit den Spur-IDs der Eingabedateien. Nur die Spur-IDs
       der Eingabedateien werden für Optionen benutzt, die diese Werte benötigen.

       Beachten Sie auch, dass jede Eingabedatei ihre eigene Gruppe von Spur-IDs hat. Daher
       ändert sich die Spur-ID für die Datei »Datei1.ext«, die von »mkvmerge --identify« gemeldet
       wurde, nicht, unabhängig davon, wie viele andere Eingabedateien es gibt oder an welcher
       Stelle »Datei1.ext« benutzt wird.

       Spur-IDs werden wie folgt zugeteilt:

       •   AVI-Dateien: Die Videospur hat die ID 0. Die Tonspuren bekommen IDs in aufsteigender
           Reihenfolge, beginnend bei 1.

       •   AAC-, AC-3-, MP3-, SRT- und WAV-Dateien: Die einzige »Spur« der Datei erhält die ID 0.

       •   Die meisten anderen Dateien: Die Spur-IDs werden in der Reihenfolge zugeteilt, in der
           die Spuren in der Datei gefunden werden, beginnend bei 0.

       Die Optionen, die die Spur-IDs benutzen, enthalten in der Beschreibung »TID«. Die
       folgenden Optionen verwenden die Spur-IDs ebenfalls: --audio-tracks, --video-tracks,
       --subtitle-tracks, --button-tracks und --track-tags.

   Spezielle Spur-IDs
       Es gibt mehrere IDs, die eine spezielle Bedeutung haben und nicht in der Ausgabe während
       der Identifikation auftauchen.

       Die spezielle Spur-ID »-1« ist ein Platzhalter und wendet den angegebenen Schalter auf
       alle Spuren an, die aus einer Eingabedatei gelesen werden.

       Die spezielle Spur-ID »-2« bezieht sich auf die Kapitel einer Quelldatei. Momentan
       unterstützt nur die Option --sync diese spezielle ID. Die Option --chapter-sync ... kann
       alternativ zu --sync -2:... benutzt werden.

UMWANDLUNGEN VON TEXTDATEIEN UND ZEICHENSÄTZEN

           Anmerkung
           Dieser Abschnitt gilt für alle Programme in MKVToolNix, wenn auch nur von mkvmerge(1)
           die Rede ist.

   Einleitung
       Jedweder Text in einer Matroska-Datei wird in UTF-8 codiert. Das bedeutet, dass
       mkvmerge(1) jede Textdatei, die es liest, ebenso wie jeden auf der Befehlszeile
       angegebenen Text, von einem Zeichensatz nach UTF-8 umwandeln muss. Im Umkehrschluss
       bedeutet das auch, dass die Ausgaben von mkvmerge(1) von UTF-8 in diesen Zeichensatz
       zurück umgewandelt werden müssen, z.B. falls eine nicht englische Übersetzung mit
       --ui-language benutzt wird oder für einen Text, der aus einer Matroska-Datei stammt.

       mkvmerge(1) erledigt dies automatisch, basierend auf dem Vorhandensein einer
       Byte-Reihenfolgenmarkierung, kurz BOM (Byte Order Marker) oder der aktuellen Locale des
       Systems. Wie der Zeichensatz von der Locale geschlussfolgert wird, hängt vom
       Betriebssystem ab, auf dem mkvmerge(1) läuft.

   Byte-Reihenfolge-Markierungen (engl. BOM)
       Textdateien, die mit einem BOM beginnen, sind bereits in einer Erscheinungsform von UTF
       codiert. mkvmerge(1) untersützt die folgenden fünf Modi: UTF-8, UTF-16 Little und Big
       Endian sowie UTF-32 Little- und Big Endian. Textdateien mit einem BOM werden automatisch
       in UTF-8 umgewandelt. Alle Parameter, die andernfalls den Zeichensatz einer solchen Datei
       ändern würden (z.B. --sub-charset), werden stillschweigend irgnoriert.

   Linux und Unixoide Betriebssysteme inklusive macOS
       Auf UNIX-artigen Systemen benutzt mkvmerge(1) den Systemaufruf setlocale(3), der wiederum
       die Umgebungsvariablen LANG, LC_ALL und LC_CYPE verwendet. Der resultierende Zeichensatz
       stammt oft aus der UTF-8- oder der ISO-8859-*-Familie und wird für alle
       Textdateitransaktionen und für das Codieren aller Zeichenketten auf der Befehlszeile,
       sowie die Ausgabe an die Konsole benutzt.

   Windows
       Unter Windows wird der für die Konvertierung von Textdateien benutzte Zeichensatz durch
       einen Aufruf der Systemfunktion GetACP() ermittelt.

       Das Auslesen der Kommandozeile geschieht mit der Funktion GetCommandLineW(), die bereits
       eine Unicode-Zeichenkette zurückliefert. Deshalb wird die Option --command-line-charset
       unter Windows ignoriert.

       Die Konsolenausgabe umfasst drei Szenarien:

        1. Falls die Ausgabe mittels der Option --redirect-output umgeleitet wurde, so ist der
           Zeichensatz UTF-8. Dies kann mit der Option --output-charset geändert werden.

           Falls die Ausgabe durch cmd.exe selber umgeleitet wurde, wie z.B. mit mkvinfo file.mkv
           > info.txt, dann wird immer der Zeichensatz UTF-8 benutzt, was nicht geändert werden
           kann.

           Wenn hingegen direkt auf die Konsole geschrieben wird, so wird die Windows-Funktion
           WriteConsoleW() dafür benutzt, und die Option --output-charset wird ignoriert. Die
           Konsole sollte in der Lage sein, alle Unicode-Zeichen auszugeben, für deren
           entsprechende Sprache Sprachunterstützung installiert ist (z.B. könnten chinesische
           Zeichen in englischen Windows-Versionen nicht ausgegeben werden).

   Kommandozeilenoptionen
       Die folgenden Optionen, die die Angabe des Zeichensatzes ermöglichen, existieren:

       •   --sub-charset für Textuntertiteldateien und -spuren, die in Containerformaten
           gespeichert sind, deren Zeichensatz nicht eindeutig bestimmt werden können (z.B.
           OGG-Dateien),

       •   --chapter-charset für Kapiteltextdateien, sowie Kapitel- und Dateititel, die in
           Containerformaten gespeichert sind, deren Zeichensatz nicht eindeutig bestimmt werden
           kann (z.B. Ogg-Dateien für Kapitelinformationen, Spur- und Dateititel etc.;
           MP4-Dateien für Kapitelinformationen),

       •   --command-line-charset für alle Zeichenketten auf der Befehlszeile,

       •   --output-charset für alle auf die Konsole oder in eine Datei geschriebenen
           Zeichenketten, falls die Ausgabe mit der Option --redirect-output umgeleitet wurde.
           Auf anderen Systemen als Windows ist der Standardzeichensatz derjenige, den das System
           aktuell verwendet. Unter Windows ist der Standard sowohl für die Umleitung mittels
           --redirect-output als auch durch cmd.exe selber, e.g. mkvinfo file.mkv > info.txt, der
           Zeichensatz UTF-8.

OPTIONSDATEIEN

       Ein Optionsdatei ist eine Datei aus der mkvmerge(1) zusätzliche Befehlszeilenargumente
       lesen kann. Diese kann benutzt werden, um bestimmte Beschränkungen der Shell oder des
       Betriebssystems wie eine begrenzte Länge der Befehlszeile zu umgehen, wenn externe
       Programme ausgeführt werden.

       Eine Options-Datei enthält Daten im JSON-Format. Ihr Inhalt muss aus einem gültigen
       JSON-Array bestehen, das ausschließlich JSON-Zeichenketten enthält. Der Kodierung der
       Datei muss UTF-8 sein. Die Datei sollte nicht mit einer Byte-Reihenfolgemarkierung (BOM)
       beginnen; tut sie es aber doch, so wird die Markierung übersprungen.

       Die Regeln für das Maskieren spezieller Zeichen innerhalb der JSON-Daten sind diejenigen,
       die in der offiziellen JSON-Spezifikation (RFC 7159[4]) genannt werden.

       Die Befehlszeile »mkvmerge -o "Meine Datei.mkv" -A "ein Film.avi" Ton.ogg« kann in die
       folgende JSON-Optionsdatei mit z.B. dem Namen 'Optionen.json' umgewandelt werden:

           [
             "-o",
             "c:\\Matroska\\meine Datei.mkv",
             "--title",
             "#65",
             "-A",
             "ein Film.avi",
             "Ton.ogg"
           ]

UNTERTITEL

       Es gibt mehrere Text- und Bitmap-Untertitelformate, die in Matroska eingebettet werden
       können. Textuntertitel müssen in UTF-8 umcodiert werden, so dass sie korrekt durch ein
       Abspielprogramm angezeigt werden können (Eine Erklärung, wie mkvmerge(1) Zeichensätze
       umwandelt, finden Sie im Abschnitt über Textdateien und Zeichensätze). Kate-Untertitel
       sind bereits in UTF-8 codiert und müssen nicht erneut codiert werden.

       Die folgenden Untertitelformate werden derzeit unterstützt:

       •   Subtitle-Ripper-Dateien (SRT)

       •   Substation Alpha (SSA) / Advanced-Substation-Alpha-Skripte (ASS)

       •   Universal-Subtitle-Format-Dateien (USF)

       •   OggKate-Datenströme

       •   VobSub-Bitmap-Untertiteldateien

       •   PGS-Bitmap-Untertiteldateien, wie sie auf Blu-Ray-Discs zu finden sind

VERKNÜPFEN VON DATEIEN

       Matroska unterstützt das Verknüpfen von Dateien, was einfach heißt, dass eine bestimmte
       Datei der Vorgänger oder Nachfolger der aktuellen Datei ist. Genauer ausgedrückt werden
       die Dateien nicht wirklich verknüpft, sondern die Matroska-Segmente. Da die meisten
       Dateien wahrscheinlich nur ein Matroska-Segment enthalten werden, benutzen die folgenden
       Erklärungen den Begriff »Verknüpfen von Dateien«, obwohl es eigentlich »Verknüpfen von
       Segmenten« heißen müsste.

       Jedes Segment wird durch eine eindeutige 128 Bit lange Segment-UID bezeichnet. Diese UID
       wird automatisch von mkvmerge(1) erzeugt. Das Verknüpfen wird in erster Linie durch
       Ablegen der Segment-UIDs (kurz: SID) der vorherigen/nächsten Datei in die
       Segmentkopfdateninformationen erledigt. mkvinfo(1) gibt diese SIDs aus, falls es sie
       findet.

       Falls eine Datei in mehrere kleinere unterteilt wurde und Verknüpfen verwendet wird, dann
       werden die Zeitstempel nicht wieder bei 0 beginnen. Sie werden dort fortfahren, wo die
       letzte Datei aufhörte. Auf diese Weise wird auch dann die absolute Zeit vorgehalten, wenn
       die vorhergehenden Dateien nicht verfügbar sind (z.B. beim Übertragen). Falls kein
       Verknüpfen verwendet wird, dann sollten die Zeitstempel für jede Datei bei 0 beginnen.
       Standardmäßig verwendet mkvmerge(1) kein Verknüpfen von Dateien. Falls Sie es einschalten
       möchten, können Sie dies mit der Option --link einschalten. Diese Option ist nur nützlich,
       falls das Aufteilen ebenfalls aktiviert ist.

       Unabhängig davon, ob Aufteilung aktiv ist oder nicht, kann der Anwender mkvmerge(1)
       mitteilen, dass die erstellten Dateien mit speziellen SIDs verknüpft werden sollen. Dies
       kann mit den Optionen --link-to-previous und --link-to-next erreicht werden. Diese
       Optionen akzeptieren eine Segment-SID in dem von mkvinfo(1) ausgegebenen Format: 16
       hexadezimalen Zahlen zwischen 0x00 und 0xff, denen jeweils »0x« vorangestellt wurde, z.B.
       »0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93«.
       Alternativ kann eine kürzere Form benutzt werden: 16 hexadezimalen Zahlen zwischen 0x00
       und 0xff ohne das vorangestellte »0x« und ohne die Leerzeichen, z.B.
       »41da7366d9cfb21eae78ebb45ecab393«.

       Falls Aufteilen benutzt wird, dann wird die erste Datei mit der durch --link-to-previous
       und die letzte mit der durch --link-to-next angegebenen SID verknüpft. Falls kein
       Aufteilen benutzt wird, dann wird die einzige Ausgabedatei mit beiden SIDs verknüpft.

VORGABEWERTE

       Die Matroska-Spezifikation legt fest, dass einige Elemente Vorgabewerte haben.
       Normalerweise wird ein Element, um Platz zu sparen, nicht in die Datei geschrieben, falls
       sein Wert dem Vorgabewert entspricht. Die Elemente, die der Anwender vielleicht in der
       Ausgabe von mkvinfo(1) vermisst, sind Sprache und Standardspurschalter. Der Vorgabewert
       für die Sprache ist Englisch (»eng«) und der Vorgabewert für den Standardspurschalter ist
       true. Daher wird eine Spur, falls Sie --language 0:eng dafür verwenden, nicht in der
       Ausgabe von mkvinfo(1) erscheinen.

ANHÄNGE

       Vielleicht wollen Sie ein paar Fotos zusammen mit Ihrer Matroska-Datei aufbewahren oder
       Sie benutzen SSA-Untertitel und benötigen eine bestimmte TrueType-Schrift, die wirklich
       selten vorkommt. In diesen Fällen können Sie die Dateien an die Matroska-Datei anhängen.
       Sie werden nicht nur an die Datei angehängt, sondern darin eingebettet. Ein
       Abspielprogramm kann dann diese Dateien (im Fall mit den Fotos) anzeigen oder sie zum
       Rendern der Untertitel (im Fall mit der TrueType-Schrift) verwenden.

       Hier nun ein Beispiel, wie eine Foto und eine TrueType-Schrift an die Ausgabedatei
       angehängt werden:

           $ mkvmerge -o Ausgabe.mkv -A Video.avi Ton.ogg \
             --attachment-description "Die Band und ich hinter der Bühne bei einer kleinen Zusammenkunft" \
             --attachment-mime-type image/jpeg \
             --attach-file Die_Band_und_ich.jpg \
             --attachment-description "Die wirkliche seltene und unglaublich gutaussehende Schrift" \
             --attachment-mime-type application/octet-stream \
             --attach-file wirkliche_coole_Schrift.ttf

       Falls eine Matroska-Datei, die Anhänge enthält, als Eingabedatei benutzt wird, dann wird
       mkvmerge(1) die Anhänge in die neue Datei kopieren. Die Auswahl, welche Anhänge kopiert
       werden, kann mit den Optionen --attachments und --no-attachments geändert werden.

KAPITEL

       Das Matroska-Kapitelsystem ist leistungsfähiger als das alte bekannte System, das von
       OGM-Dateien benutzt wird. Die vollständige Spezifikation ist auf der Matroska-Website[1]
       zu finden.

       mkvmerge(1) unterstützt als Eingabe zwei Arten von Kapiteldateien. Das erste Format,
       »einfaches Kapitelformat« genannt, ist dasselbe, das die OGM-Werkzeuge erwarten. Das
       zweite Format ist ein XML-basiertes Kapitelformat, das alle Kapitelfunktionalitäten von
       Matroska unterstützt.

   Das einfache Kapitelformat
       Dieses Format besteht aus Zeilenpaaren, die mit »CHAPTERxx=« beziehungsweise
       »CHAPTERxxNAME=« beginnen. Das erste enthält den Startzeitstempel, während das zweite den
       Titel enthält. Hier ein Beispiel:

           CHAPTER01=00:00:00.000
           CHAPTER01NAME=Einleitung
           CHAPTER02=00:02:30.000
           CHAPTER02NAME=Baby bereitet sich vor zu rocken
           CHAPTER03=00:02:42.300
           CHAPTER03NAME=Baby stellt das Haus auf den Kopf

       mkvmerge(1) wird jedes Zeilenpaar in ein Matroska-ChapterAtom umwandeln. Es setzt keine
       ChapterTrackNumber, das heißt, dass alle Kapitel für alle Spuren in der Datei gelten.

       Falls dies eine Textdatei ist, muss möglicherweise eine Umwandlung des Zeichensatzes
       durchgeführt werden. Eine Erklärung, wie mkvmerge(1) Zeichensätze umwandelt, finden Sie im
       Abschnitt über Textdateien und Zeichensätze.

   Das XML-basierte Kapitelformat
       Das XML-basierte Kapitelformat sieht wie in diesem Beispiel aus:

           <?xml version="1.0" encoding="ISO-8859-1"?>
           <!DOCTYPE Chapters SYSTEM "Matroska-Kapitel.dtd">
           <Chapters>
             <EditionEntry>
               <ChapterAtom>
                 <ChapterTimeStart>00:00:30.000</ChapterTimeStart>
                 <ChapterTimeEnd>00:01:20.000</ChapterTimeEnd>
                 <ChapterDisplay>
                   <ChapterString>Ein kurzes Kapitel</ChapterString>
                   <ChapterLanguage>eng</ChapterLanguage>
                 </ChapterDisplay>
                 <ChapterAtom>
                   <ChapterTimeStart>00:00:46.000</ChapterTimeStart>
                   <ChapterTimeEnd>00:01:10.000</ChapterTimeEnd>
                   <ChapterDisplay>
                     <ChapterString>Ein Teil dieses kurzen Kapitels</ChapterString>
                     <ChapterLanguage>eng</ChapterLanguage>
                   </ChapterDisplay>
                 </ChapterAtom>
               </ChapterAtom>
             </EditionEntry>
           </Chapters>

       Mit diesem Format sind drei Dinge möglich, die mit dem einfachen Kapitelformat nicht
       möglich sind:

        1. Der Zeitstempel für das Ende des Kapitels kann gesetzt werden.

        2. Kapitel können verschachtelt werden.

        3. Die Sprache und das Land können gesetzt werden.

       Die Mkvtoolnix-Distribution enthält einige Beispieldateien im Unterverzeichnis doc, die
       als Basis benutzt werden können.

       Im Folgenden werden unterstützte XML-Tags, ihre Datentypen und, falls zweckmäßig, der
       gültige Bereich für ihre Werte aufgeführt:

           Chapters (master)
             EditionEntry (master)
               EditionUID (unsigned integer, valid range: 1 <= value)
               EditionFlagHidden (unsigned integer, valid range: 0 <= value <= 1)
               EditionFlagDefault (unsigned integer, valid range: 0 <= value <= 1)
               EditionFlagOrdered (unsigned integer, valid range: 0 <= value <= 1)
               ChapterAtom (master)
                 ChapterAtom (master)
                 ChapterUID (unsigned integer, valid range: 1 <= value)
                 ChapterTimeStart (unsigned integer)
                 ChapterTimeEnd (unsigned integer)
                 ChapterFlagHidden (unsigned integer, valid range: 0 <= value <= 1)
                 ChapterFlagEnabled (unsigned integer, valid range: 0 <= value <= 1)
                 ChapterSegmentUID (binary, valid range: 1 <= length in bytes)
                 ChapterSegmentEditionUID (unsigned integer, valid range: 1 <= value)
                 ChapterPhysicalEquiv (unsigned integer)
                 ChapterTrack (master)
                   ChapterTrackNumber (unsigned integer, valid range: 1 <= value)
                 ChapterDisplay (master)
                   ChapterString (UTF-8 string)
                   ChapterLanguage (UTF-8 string)
                   ChapterCountry (UTF-8 string)
                 ChapterProcess (master)
                   ChapterProcessCodecID (unsigned integer)
                   ChapterProcessPrivate (binary)
                   ChapterProcessCommand (master)
                     ChapterProcessTime (unsigned integer)
                     ChapterProcessData (binary)

   Allgemeine Hinweise
       Beim Aufteilen von Dateien wird mkvmerge(1) die Kapitel ebenfalls korrekt anpassen. Dies
       bedeutet, dass jede Datei nur die Kapiteleinträge beinhaltet, die für die gelten, und dass
       die Zeitstempel versetzt werden, damit sie zu den neuen Zeitstempeln jeder Ausgabedatei
       passen.

       mkvmerge(1) kann Kapitel aus Matroska-Quelldateien kopieren, es sei denn, dies wurde
       explizit mit der Option --no-chapters deaktiviert. Die Kapitel aus allen Quellen
       (Matroska-Dateien, Ogg-Dateien, MP4-Dateien, Kapiteltextdateien) werden üblicherweise
       nicht zusammengefügt, landen aber in separaten ChapterEditions. Nur falls Kapitel aus
       mehreren Matroska- oder XML-Dateien gelesen werden, die dieselbe Fassung von UIDs
       gemeinsam benutzen, werden Kapitel in eine einzige ChapterEdition-Datei zusammengefügt.
       Falls ein derartiges Zusammenfügen in anderen Situationen ebenfalls erwünscht ist, dann
       muss der Anwender zuerst die Kapitel aus allen Quellen mit mkvextract(1) extrahieren, die
       XML-Dateien zusammenfügen und sie dann hinterher multiplexen (ihre Datenströme
       zusammenfügen).

TAGS

   Einleitung
       Matroskas Tag-System ist den von anderen Containern verwendeten Systemen ähnlich: ein Satz
       aus SCHLÜSSEL=WERT-Paaren. In Matroska können diese Tags jedoch ebenfalls verschachtelt
       werden, und sowohl SCHLÜSSEL als auch WERT sind Elemente für sich. Die Beispieldatei
       example-tags-2.xml zeigt, wie dieses System benutzt wird.

   Geltungsbereich der Tags
       Matroska-Tags gelten nicht automatisch für die gesamte Datei. Sie können, aber sie können
       auch für unterschiedliche Teile der Datei gelten: für eine oder mehrere Spuren, für ein
       oder mehrere Kapitel oder sogar für eine Kombination von beiden. Die
       Matroska-Spezifikation[5] liefert weitere Einzelheiten zu diesem Umstand.

       Eine wichtige Tatsache ist, dass Tags mit Spuren oder Kapiteln anhand des Tag-Elements
       Targets verknüpft werden und dass die für diese Verknüpfungen verwendeten UIDs nicht die
       sonst überall von mkvmerge(1) benutzten Spur-IDs sind. Stattdessen sind die verwendeten
       Nummern die UIDs, die mkvmerge(1) automatisch berechnet (falls die Spur aus einer Datei
       stammt, die ein anderes Format als Matroska hat) oder die aus der Quelldatei kopiert
       wurden, falls die Quelldatei der Spur eine Matroska-Datei ist. Daher ist es schwierig zu
       wissen, welche UIDs in dem Tag benutzt werden sollen, bevor die Datei an mkvmerge(1)
       übergeben wurde.

       mkvmerge(1) kennt zwei Optionen, mit denen Sie Matroska-Dateien Tags hinzufügen können:
       die Optionen --global-tags und --tags. Der Unterschied besteht darin, dass erstere,
       --global-tags, dafür sorgen wird, dass die Tags für die gesamte Datei gelten, indem diese
       oben erwähnten Targets-Elemente entfernt werden. Die letztere Option, --tags, fügt
       automatisch die UID hinzu, die mkvmerge(1) für den mit dem TID-Teil der Option --tags
       angegebenen Tag erzeugt.

   Beispiel
       Sagen wir mal, Sie möchten einer aus einem AVI gelesenen Videospur Tags hinzufügen.
       mkvmerge --identify Datei.avi teilt Ihnen mit, dass die ID der Videospur 0 ist
       (verwechseln Sie diese ID nicht mit der UID). Deshalb erstellen Sie Ihre Tag-Datei, lassen
       alle Targets-Elemente weg und rufen mkvmerge(1) auf:

           $ mkvmerge -o Datei.mkv --tags 0:Tags.xml Datei.avi

   Format der Tag-Datei
       mkvmerge(1) unterstützt ein XML-basiertes Tag-Dateifomat. Das Format ist sehr eng an die
       Matroska-Spezifikation[5] angelehnt. Sowohl die Binär- als auch die Quelldistribution von
       MKVToolNix bringen eine Musterdatei namens example-tags-2.xml mit, die einfach alle
       bekannten Tags aufführt und als Basis für Tag-Dateien in der Praxis benutzt werden kann.

       Die Grundlagen sind:

       •   Das äußerste Element muss <Tags> sein.

       •   Ein logischer Tag ist innerhalb eines Paares von <Tag>-XML-Tags enthalten.

       •   Leerzeichen direkt vor und hinter Tag-Inhalt werden ignoriert.

   Datentypen
       Das neue Tag-System vom Matroska kennt nur zwei Datentypen, eine UTF-8-Zeichenkette und
       einen binären Typ. Erstere wird für den Namen und das Element <String> des Tags benutzt,
       während der binäre Typ für das Element <Binary> verwendet wird.

       Da die binären Daten selbst nicht in eine XML-Datei passen würden, unterstützt mkvmerge(1)
       zwei weitere Methoden zum Speichern binärer Daten. Falls der Inhalt eines XML-Tags mit
       einem »@« beginnt, wird der folgende Text als ein Dateiname angesehen. Der zugehörige
       Inhalt der Datei wird in das Matroska-Element kopiert.

       Andernfalls wird erwartet, dass die Daten Base64-codiert vorliegen. Dies ist eine
       Codierung, die binäre Daten in einen eingeschränkten Satz von ASCII-Zeichen umwandelt und
       z.B. in E-Mail-Programmen benutzt wird. mkvextract(1) wird für binäre Elemente
       Base64-codierte Daten ausgeben.

       Das missbilligte Tag-System kennt ein paar weitere Datentypen, die in der offiziellen
       Matroska-Tag-Spezifikation zu finden sind. Da mkvmerge(1) dieses System nicht mehr
       unterstützt, werden diese Typen hier nicht beschrieben.

   Bekannte Tags des XML-Dateiformats
       Im Folgenden werden unterstützte XML-Tags, ihre Datentypen und, falls zweckmäßig, der
       gültige Bereich für ihre Werte aufgeführt:

           Tags (master)
             Tag (master)
               Targets (master)
                 TargetTypeValue (unsigned integer)
                 TargetType (UTF-8 string)
                 TrackUID (unsigned integer)
                 EditionUID (unsigned integer)
                 ChapterUID (unsigned integer)
                 AttachmentUID (unsigned integer)
               Simple (master)
                 Simple (master)
                 Name (UTF-8 string)
                 TagLanguage (UTF-8 string)
                 DefaultLanguage (unsigned integer)
                 String (UTF-8 string)
                 Binary (binary)

DIE SEGMENTINFORMATIONS-XML-DATEIEN

       Mit einer Segmentinformations-XML-Datei ist es möglich, bestimmte Werte im Kopffeld
       »segment information« einer Matroska-Datei zu setzen. Alle diese Werte können nicht über
       andere Befehlszeilenoptionen gesetzt werden.

       Andere »segment information«s-Kopffelder können über Befehlszeilenoptionen gesetzt werden,
       jedoch nicht über die XML-Datei. Dies umfasst z.B. die Optionen --title und
       --timestamp-scale.

       Es gibt andere Elemente, die weder über Befehlszeilenoptionen noch über die XML-Dateien
       gesetzt werden können. Dies beinhaltet die folgenden Elemente: DateUTC (auch als »muxing
       date« bekannt), MuxingApp, WritingApp und Duration. Sie werden immer von mkvmerge(1)
       selbst gesetzt.

       Im Folgenden werden unterstützte XML-Tags, ihre Datentypen und, falls zweckmäßig, der
       gültige Bereich für ihre Werte aufgeführt:

           Info (master)
             SegmentUID (binary, valid range: length in bytes == 16)
             SegmentFilename (UTF-8 string)
             PreviousSegmentUID (binary, valid range: length in bytes == 16)
             PreviousSegmentFilename (UTF-8 string)
             NextSegmentUID (binary, valid range: length in bytes == 16)
             NextSegmentFilename (UTF-8 string)
             SegmentFamily (binary, valid range: length in bytes == 16)
             ChapterTranslate (master)
               ChapterTranslateEditionUID (unsigned integer)
               ChapterTranslateCodec (unsigned integer)
               ChapterTranslateID (binary)

MATROSKA-DATEILAYOUT

       Das Matroska-Dateilayout ist ziemlich flexibel. mkvmerge(1) wird eine Datei auf eine
       vordefinierte Art erzeugen. Die resultierende Datei sieht wie folgt aus:

       [EBML head] [segment {meta seek #1} [segment information] [track information]
       {attachments} {chapters} [cluster 1] {cluster 2} ... {cluster n} {cues} {meta seek #2}
       {tags}]

       Die Elemente in geschweiften Klammern sind optional und hängen vom Inhalt und den
       benutzten Optionen ab. Ein paar Anmerkungen:

       •   »meta seek #1« beinhaltet nur eine kleine Zahl von Elementen der Stufe eins und das
           nur, falls sie tatsächlich existieren: Anhänge, Kapitel, Indizes, Tags, »meta seek
           #2«. Ältere Versionen von mkvmerge(1) legten auch die Cluster in dieses
           Metasuchelement ab. Daher wurden einige ungenaue Annahmen nötig, um ausreichend Platz
           zu reservieren. Dies schlug oft fehl. Nun werden nur die Cluster in »meta seek #2«
           gespeichert und »meta seek #1« verweist auf das Metasuchelement #2.

       •   Anhang-, Kapitel- und Tag-Elemente sind nur vorhanden, falls sie hinzugefügt wurden.

       Die kürzest mögliche Matroska-Datei würde etwa so aussehen:

       [EBML head] [segment [segment information] [track information] [cluster 1]]

       Dies könnte bei reinen Tondateien der Fall sein.

EXTERNE ZEITSTEMPELDATEIEN

       mkvmerge(1) erlaubt dem Benutzer, die Zeitstempel für eine bestimmte Spur selbst
       auszuwählen. Dies kann benutzt werden, um Dateien mit variabler Videobildrate zu erstellen
       oder Lücken in den Ton einzuarbeiten. In diesem Fall ist ein Bild die Einheit, die
       mkvmerge(1) separat pro Matroska-Block erstellt. Für Video ist dies genau ein Bild, für
       Ton ist dies ein Paket des speziellen Audiotyps. Dies wäre z.B. für AC-3 ein Paket, das
       1536-Samples enthält.

       Zeitstempeldateien, die benutzt werden, wenn Spuren aneinander angehängt werden, dürfen
       nur für den ersten Teil in einer Kette von Spuren angegeben werden. Falls Sie zum Beispiel
       zwei Dateien, v1.avi und v2.avi, anhängen und dabei Zeitstempel verwenden möchten, muss
       Ihre Befehlszeile etwa so aussehen:

           $ mkvmerge ... --timestamps 0:meine_Zeitstempel.txt v1.avi +v2.avi

       Es gibt vier Formate, die mkvmerge(1) bekannt sind. Die erste Zeile enthält immer die
       Versionsnummer. Leere Zeilen, Zeilen, die nur Leerräume enthalten und Zeilen, die mit »#«
       beginnen, werden ignoriert.

   Zeitstempeldateiformat v1
       Dieses Format beginnt mit der Versionszeile. Die zweite Zeile deklariert die
       Standardanzahl von Bildern pro Sekunde (BpS). Alle folgenden Zeilen enthalten drei durch
       Kommas getrennte Zahlen: das Startbild (0 ist das erste Bild), das Endbild und die Anzahl
       der Bilder in diesem Bereich. Die BpS sind eine Fließkommazahl mit dem Punkt ».« als
       Dezimalpunkt. Die Bereiche können Lücken enthalten, für die die Standard-BpS benutzt
       werden. Ein Beispiel:

           # Zeitstempelformat v1
           assume 27.930
           800,1000,25
           1500,1700,30

   Zeitstempeldateiformat v2
       In diesem Format enthält jede Zeile einen Zeitstempel für das zugehörige Bild. Dieser
       Zeitstempel muss mit einer Genauigkeit von Millisekunden angegeben werden. Er kann eine
       Fließkommazahl sein, muss aber nicht. Sie müssen mindestens so viele Zeitstempelzeilen
       angeben, wie es Bilder in der Spur gibt. Die Zeitstempel müssen sortiert sein. Beispiel
       für 25 bps:

           # Zeitstempelformat v2
           0
           40
           80

   Zeitstempeldateiformat v3
       In diesem Format enthält jede Zeile eine Dauer in Sekunden, gefolgt von einer optionalen
       Zahl von Bildern pro Sekunde. Beide können Fließkommazahlen sein. Falls die Zahl der
       Bilder pro Sekunde nicht vorliegt, wird die Voreinstellung benutzt. Für Audio sollten Sie
       den Codec die Bildzeitstempel selbst berechnen lassen. Dazu sollten Sie 0,0 als Anzahl der
       Bilder pro Sekunde verwenden. Sie können auch Lücken im Datenstrom erzeugen, indem Sie das
       Schlüsselwort »gap« gefolgt von der Dauer der Lücke benutzen. Beispiel einer Audiodatei:

           # Zeitstempelformat v3
           assume 0.0
           25.325
           7.530,38.236
           gap, 10.050
           2.000,38.236

   Zeitstempeldateiformat v4
       Dieses Format ist identisch mit dem Format v2. Der einzige Unterschied besteht darin, dass
       Zeitstempel nicht sortiert werden müssen. Dieses Format sollte so gut wie nie benutzt
       werden.

RÜCKGABEWERTE

       mkvmerge(1) beendet sich mit einem von drei Rückgabewerten:

       •   0 – dieser Rückgabewert bedeutet, dass das Muxing erfolgreich abgeschlossen wurde.

       •   1 – in diesem Fall hat mkvmerge(1) mindestens eine Warnung ausgegeben, das Muxing
           wurde aber fortgesetzt. Einer Warnung wird der Text »Warning:« vorangestellt. Abhängig
           von den aufgetretenen Problemen können die resultierenden Dateien in Ordnung sein oder
           nicht. Dem Anwender wird nachdrücklich geraten, sowohl die Warnung als auch die
           resultierende Datei zu überprüfen.

       •   2 – dieser Rückgabewert wird benutzt, nachdem ein Fehler aufgetreten ist. mkvmerge(1)
           wird gleich nach der Ausgabe der Fehlermeldung abgebrochen. Fehlermeldungen reichen
           von falschen Befehlszeilenargumenten über Lese-/Schreibfehler bis hin zu beschädigten
           Dateien.

UMGEBUNGSVARIABLEN

       mkvmerge(1) verwendet die Standardvariablen, die die Locale des System bestimmen (d.h.
       LANG und die LC_*-Familie). Zusätzliche Variablen:

       MKVMERGE_DEBUG, MKVTOOLNIX_DEBUG und ihre Kurzform MTX_DEBUG
           Der Inhalt wird behandelt, als ob er mit der Option --debug übergeben worden wäre.

       MKVMERGE_ENGAGE, MKVTOOLNIX_ENGAGE und ihre Kurzform MTX_ENGAGE
           Der Inhalt wird behandelt, als ob er mit der Option --engage übergeben worden wäre.

SIEHE AUCH

       mkvinfo(1), mkvextract(1), mkvpropedit(1), mkvtoolnix-gui(1)

WWW

       Die neuste Version kann immer auf der MKVToolNix-Homepage[6] gefunden werden.

AUTOR

       Moritz Bunkus <moritz@bunkus.org>
           Entwickler

FUßNOTEN

        1. die Matroska-Website
           http://www.matroska.org/

        2. IANA-Homepage
           http://www.iana.org/assignments/media-types/

        3. mkvmerge-identification-output-schema-v12.json
           https://mkvtoolnix.download/doc/mkvmerge-identification-output-schema-v12.json

        4. RFC 7159
           https://tools.ietf.org/html/rfc7159

        5. Matroska-Spezifikation
           http://matroska.org/technical/specs/index.html

        6. der MKVToolNix-Homepage
           https://mkvtoolnix.download/