Provided by: mkvtoolnix_92.0-1_amd64 bug

NAME

       mkvextract - extrahiert Spuren aus Matroska-Dateien in andere Dateien.

ÜBERSICHT


       mkvextract {Quelldateiname} {Modus1} [Optionen] [Extraktionsangabe1] [Modus2] [Optionen]
                  [Extraktionsangabe2] [...]

BESCHREIBUNG

       Dieses Programm extrahiert bestimmte Teile einer Matroska-Datei in andere nützliche Formate. Das erste
       Argument ist der Name der Quelldatei, die eine Matroska-Datei sein muss.

       Alle anderen Argumente wechseln entweder den Modus, ändern Optionen für den momentan aktiven Modus oder
       geben an, was in welche Datei extrahiert werden soll. Mehrere Modi können im selben Aufruf von mkvextract
       benutzt werden, wodurch man mehrere Dinge in einem einzigen Durchlauf extrahieren kann. Die meisten
       Optionen können nur in bestimmten Modi verwendet werden, wobei einige wenige in allen Modi gültig sind.

       Derzeit wird das Extrahieren von Spuren, Tags, Anhängen, Kapiteln, Cuesheets, Zeitstempel und
       Indexelemente unterstützt.

   Gemeinsame Optionen
       Die folgenden Optionen sind in allen Modi verfügbar und werden nur einmal in diesem Abschnitt
       beschrieben.

       -f, --parse-fully
           Setzt den Auswertungsmodus auf »full«. Der Standardmodus wertet nicht die ganze Datei aus, benutzt
           aber Metasuchelemente zum Orten der benötigten Elemente der Quelldatei. In 99% der Fälle reicht dies.
           Aber für Dateien, die keine Metasuchelemente enthalten oder beschädigt sind, kann es notwendig sein,
           diesen Modus zu aktivieren. Ein vollständiger Scan einer Datei kann ein paar Minuten in Anspruch
           nehmen, während ein schneller Scan nur Sekunden dauert.

       --command-line-charset Zeichensatz
           Setzt den Zeichensatz, um auf der Befehlszeile angegebene Zeichenketten umzuwandeln. Voreinstellung
           ist der Zeichensatz der aktuellen Locale des Systems.

       --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.

       --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
           mkvextract --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.

       -v, --verbose
           Aktiviert detaillierte Ausgabe und zeigt alle wichtigen Matroska-Elemente an, sobald sie gelesen
           wurden.

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

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

       @Optionsdatei.json
           Liest zusätzliche Befehlszeilenargumente aus der Datei Optionsdatei. Eine ausführliche Erläuterunge
           über die unterstützten Formate finden Sie im Abschnitt "Optionsdateien" in der Handbuchseite zu
           mkvmerge(1).

   Spurextrahierungsmodus
       Syntax: mkvextract Quelldateiname tracks [Optionen] TID1:Zieldateiname1 [TID2:Zieldateiname2 ...]

       Die folgenden Befehlszeilenoptionen sind für jede Spur im Extrahierungsmodus »tracks« verfügbar. Sie
       müssen vor der Spurenspezifikation, auf die sie angewandt werden sollen, erscheinen (siehe unten).

       -c Zeichensatz
           Setzt den Zeichensatz in den die nächste Textuntertitelspur umgewandelt werden soll. Nur gültig,
           falls die nächste Spur-ID auf eine Untertitelspur verweist. Voreinstellung ist UTF-8.

       --blockadd Stufe
           Behält nur die BlockAdditions bis hinauf zu dieser Stufe. Standardäßig werden alle Stufen behalten.
           Diese Option beeinflusst nur einge Codec-Arten wie WAVPACK4.

       --cuesheet
           Veranlasst mkvextract(1) ein CUEsheet aus den Kapitelinformationen zu extrahieren und Daten für die
           folgende Spur in einer Datei zu kennzeichnen, deren Name der Ausgabename der Spur mit angehängtem
           ».cue« ist.

       --raw
           Extrahiert die rohen Daten in eine Datei ohne irgendwelche umgebenden Container-Daten. Im Gegensatz
           zum Schalter --fullraw veranlasst dieser Schalter nicht, dass der Inhalt des Elements CodecPrivate in
           die Datei geschrieben wird. Dieser Modus funktioniert mit allen CodecIDs, sogar mit denen, die
           mkvextract(1) ansonsten nicht unterstützt, aber die resultierenden Dateien sind möglicherweise nicht
           benutzbar.

       --fullraw
           Extrahiert die rohen Daten in eine Datei ohne irgendwelche umgebenden Container-Daten. Der Inhalt des
           Elements CodecPrivate wird in die erste Datei geschrieben, falls die Spur solch ein Kopfelement
           enthält. Dieser Modus funktioniert mit allen CodecIDs, sogar mit denen, die mkvextract(1) ansonsten
           nicht unterstützt, aber die resultierenden Dateien sind möglicherweise nicht benutzbar.

       TID:Ausgabename
           Veranlasst das Extrahieren der Spur mit der ID TID in die Datei Ausgabename, falls eine derartige
           Spur in der Quelldatei existiert. Diese Option kann mehrfach angegeben werden. Die Spur-IDs sind
           dieselben wie die, die durch mkvmerge(1)s Option --identify ausgegeben werden.

           Jeder Ausgabename sollte nur einmal benutzt werden. Eine Ausnahme bilden RealAudio- und
           RealVideo-Spuren. Falls Sie den gleichen Namen für unterschiedliche Spuren verwenden, dann werden
           diese Spuren in der selben Datei gespeichert. Beispiel:

               $ mkvextract Eingabe.mkv tracks 0:Video.h264 2:Ausgabe-zwei-VobSub-Spuren.idx 3:Ausgabe-zwei-VobSub-Spuren.idx

   Extrahierungsmodus für Anhänge
       Syntax: mkvextract Quelldateiname attachments [Optionen] AID1:Zieldateiname1 [AID2:Zieldateiname2 ...]

       AID:Ausgabename
           Veranlasst das Extrahieren des Anhangs mit der ID AID in die Datei Ausgabename, falls ein derartiger
           Anhang in der Quelldatei existiert. Wenn der Ausgabename leer gelassen wird, dann wird stattdessen
           der Name des Anhangs innerhalb der Matroska-Datei benutzt. Diese Option kann mehrfach angegeben
           werden. Die IDs der Anhänge sind dieselben wie die, die durch mkvmerge(1)s Option --identify
           ausgegeben werden.

   Kapitelextrahierungsmodus
       Syntax: mkvextract Quelldateiname chapters [Optionen] Ausgabedateiname.xml

       -s, --simple
           Exportiert die Kapitelinformationen in das einfache, von den OGM-Werkzeugen benutzte Format
           (CHAPTER01=..., CHAPTER01NAME=...). In diesem Modus müssen einige Informationen verworfen werden.
           Standardmäßig werden die Kapitel im XML-Format ausgegeben.

       --simple-language Sprache
           Falls das einfache Kapitelformat aktiviert ist, gibt mkvextract(1) pro gefundenem Kapitel genau einen
           Eintrag ausgeben, auch wenn das Kapitel mehrere Kapitelnamen besitzt. Standardmäßig gibt
           mkvextract(1) für jedes Kapitel den jeweils als erstes gefundenen Namen unabhängig von seiner Sprache
           aus.

           Das Benutzen dieser Option erlaubt es festzulegen, welche Kapitelnamen ausgegeben werden, falls die
           Kapitel mehr als einen Namen besitzen. Der Sprache-Parameter muss ein ISO-639-1- oder ISO-639-2-Code
           sein.

       Die Kapitel werden in die angegebene Ausgabedatei geschrieben. Standardmäßig wird das von mkvmerge(1)
       verstandene XML-Format benutzt. Falls in der Datei keine Kapitel gefunden werden, so wird auch keine
       Ausgabedatei erzeugt.

   Extrahierungsmodus für Tags
       Syntax: mkvextract Quelldateiname tags [Optionen] Ausgabedateiname.xml

       Die Tags werden im von mkvmerge(1) verstandenen XML-Format in die angegebene Ausgabedatei geschrieben.
       Falls in der Datei keine Tags gefunden werden, so wird auch keine Ausgabedatei erzeugt.

   Extrahierungsmodus für Cuesheets
       Syntax: mkvextract Quelldateiname cuesheet [Optionen] Ausgabedateiname.cue

       Das Cuesheet wird in die angegebene Ausgabedatei geschrieben. Falls in der Datei keine Kapitel oder keine
       Tags gefunden werden, so wird auch keine Ausgabedatei erzeugt.

   Zeitstempelextrahierungsmodus
       Syntax: mkvextract Ausgabedateiname timestamps_v2 [Optionen] TID1:Zieldateiname1 [TID2:Zieldateiname2
       ...]

       TID:Ausgabename
           Veranlasst das Extrahieren der Zeitstempel für die Spur mit der ID TID in die Datei Ausgabename,
           falls eine derartige Spur in der Quelldatei existiert. Diese Option kann mehrfach angegeben werden.
           Die IDs der Spuren sind dieselben wie die, die durch mkvmerge(1)s Option --identify ausgegeben
           werden.

           Beispiel:

               $ mkvextract Eingabe.mkv timestamps_v2 1:Zeitstempel-Spur1.txt 2:Zeitstempel-Spur2.txt

   Extrahierungsmodus für Indexelemente
       Syntax: mkvextract Quelldateiname cues [Optionen] TID1:Zieldateiname1 [TID2:Zieldateiname2 ...]

       TID:Zielname
           Veranlasst das Extrahieren der Indexelemente für die Spur mit der ID TID in die Datei Ausgabename,
           falls eine derartige Spur in der Quelldatei existiert. Diese Option kann mehrfach angegeben werden.
           Die IDs der Spuren sind dieselben wie die, die durch mkvmerge(1)s Option --identify ausgegeben werden
           und nicht die Nummern, die in den CueTrack-Elementen enthalten sind.

       Das Ausgabeformat ist ein einfaches Textformat: eine Zeile pro CuePoint-Element, die
       schluessel=wert-Paare enthält. Falls ein optionales Element in einem CuePoint nicht enthalten ist (z.B.
       CueDuration), so wird ein Bindestrich als Wert ausgegeben.

       Beispiel:

           timestamp=00:00:13.305000000 duration=- cluster_position=757741 relative_position=11

       Die möglichen Schlüsselwörter sind:

       Zeitstempel
           Der Zeitstempel des Indexelementes mit Nanosekunden-Präzision. Das Format lautet HH:MM:SS.nnnnnnnnn.
           Dieses Element ist immer gesetzt.

       duration
           Die Dauer des Indexelements mit Nanosekunden-Präzision. Das Format lautet HH:MM::SS.nnnnnnnnn.

       cluster_position
           Die absolute Position in Bytes innerhalb der Matroska-Datei, an der der Cluster beginnt, der das
           referenzierte Element enthält.

               Anmerkung
               Innerhalb der Matroska-Datei ist das CueClusterPosition-Element relativ zum Anfang des
               Datenbereiches des Segments. Der von mkvextract(1)s Indexelement-Modus ausgegebene Wert enthält
               diesen Offset allerdings bereits ind ist daher ein absoluter Offset, der sich auf den Anfang der
               ganzen Datei bezieht.

       relative_position
           Die relative Position in Bytes innerhalb des Clusters, an der das BlockGroup- oder
           SimpleBlock-Element beginnt, auf das sich der Indexeintrag bezieht.

               Anmerkung
               Innerhalb der Matroska-Datei ist das CueRelativePosition-Element relativ zum Anfang des
               Datenbereiches des Clusters. Der von mkvextract(1)s Indexelement-Modus ausgegebene Wert ist
               allerdings relativ zum Start der Cluster-Element-ID. Die absolute Position innerhalb der Datei
               kann daher durch Addition von cluster_position und relative_position ermittelt werden.

       Beispiel:

           $ mkvextract Eingabe.mkv cues 1:Index-Spur1.txt 2:Index-Spur2.txt

BEISPIELE

       Gleichzeitig sowohl Kapitel als auch Tags in ihren jeweiligen XML-Formaten extrahieren:

           $ mkvextract Film.mkv chapters Film-Kapitel.xml tags Film-Tags.xml

       Gleichzeitig ein paar Spuren und ihre jeweiligen Zeitstempel extrahieren:

           $ mkvextract "Ein weiterer Film.mkv" tracks 0:Video.h265 "1:Haupt-Audiospur.aac" "2:Kommentar der Regisseurin.aac" timestamps_v2 "0:Zeitstempel Video.txt" "1:Zeitstempel Haupt-Audiospur.txt" "2:Zeitstempel Kommentar der Regisseurin.txt"

       Kapitel im Ogg/OGM-Format extrahieren und eine Text-Untertitel-Spur in einen anderen Zeichensatz wandeln:

           $ mkvextract "Mein Film.mkv" chapters --simple "Meine Kapitel.txt" tracks -c MS-ANSI "2:Meine Untertitel.srt"

UMWANDLUNGEN VON TEXTDATEIEN UND ZEICHENSÄTZEN

       Für eine tiefer gehende Diskussion darüber, wie die Programme in der MKVToolNix-Sammlung die Umwandlung
       von Zeichensätzen, Eingabe-/Ausgabecodierung, Kommandozeilenzeichensätze und Konsolenzeichensätze
       handhaben, sei auf den Abschnitt »Umwandlungen von Textdateien und Zeichensätzen« in der Handbuchseite
       von mkvmerge(1) verwiesen.

AUSGABEDATEIFORMATE

       Die Entscheidung über das Ausgabeformat basiert auf dem Spurtyp, nicht auf der für den Ausgabedateinamen
       benutzen Dateiendung. Die folgenden Spurtypen werden derzeit unterstützt:

       A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC
           Alle AAC-Dateien werden in eine AAC-Datei mit ADTS-Kopfdaten vor jedem Paket geschrieben. Die
           ADTS-Kopfdaten werden nicht das missbilligte Feld »emphasis« enthalten.

       A_AC3, A_EAC3
           Diese werden in rohe AC-3-Dateien extrahiert.

       A_ALAC
           ALAC-Spuren werden in CAF-Dateien geschrieben.

       A_DTS
           Diese werden in rohe DTS-Dateien extrahiert.

       A_FLAC
           FLAC-Spuren werden in FLAC-Dateien geschrieben.

       A_MPEG/L2
           MPEG-1-Audio-Layer-II-Datenströme werden in rohe MP2-Dateien extrahiert.

       A_MPEG/L3
           Diese werden in rohe MP3-Dateien extrahiert.

       A_OPUS
           Opus-Spuren werden in OggOpus-Dateien geschrieben.

       A_PCM/INT/LIT, A_PCM/INT/BIG
           Rohe PCM-Daten werden in eine WAV-Datei geschrieben. Dabei werden Big-Endian-Integer-Daten in
           Little-Endian-Daten umgewnadelt.

       A_REAL/*
           RealAudio-Spuren werden in RealMedia-Dateien geschrieben.

       A_TRUEHD, A_MLP
           Diese werden in rohe TrueHD-/MLP-Dateien extrahiert.

       A_TTA1
           TrueAudio-Spuren werden in TTA-Dateien geschrieben. Bitte beachten Sie, dass die extrahierten
           Dateikopfdaten wegen der begrenzten Zeitstempelgenauigkeit von Matroska in Bezug auf zwei Felder
           unterschiedlich sind: data_length (die Gesamtzahl der Samples in der Datei) und der CRC.

       A_VORBIS
           Vorbis-Audio wird in eine OggVorbis-Datei geschrieben.

       A_WAVPACK4
           WavPack-Spuren werden in WV-Dateien geschrieben.

       S_HDMV/PGS
           PGS-Untertitel werden als SUP-Dateien geschrieben.

       S_HDMV/TEXTST
           TextST-Untertitel werden in einem speziellen Format geschrieben, das für mkvmerge(1) und
           mkvextract(1) erfunden wurde.

       S_KATE
           Kate-Datenströme werden innerhalb eines Ogg-Containers geschrieben.

       S_TEXT/SSA, S_TEXT/ASS, S_SSA, S_ASS
           SSA- und ASS-Textuntertitel werden als SSA- beziehungsweise ASS-Dateien geschrieben.

       S_TEXT/UTF8, S_TEXT/ASCII
           Einfache Textuntertitel werden in SRT-Dateien geschrieben.

       S_VOBSUB
           VobSub-Untertitel werden als SUB-Dateien geschrieben, zusammen mit den jeweiligen Indexdateien als
           IDX-Dateien.

       S_TEXT/USF
           USF-Textuntertitel werden als USF-Dateien geschrieben.

       S_TEXT/WEBVTT
           WebVTT-Textuntertitel werden als WebVTT-Dateien geschrieben.

       V_MPEG1, V_MPEG2
           MPEG-1-/MPEG-2-Videospuren werden in MPEG-Elementarstrom-Dateien geschrieben.

       V_MPEG4/ISO/AVC
           H.264-/AVC-Videospuren werden in einfache H.264-Datenströme geschrieben, die später z.B. mit MP4Box
           aus dem Paket GPAC bearbeitet werden können.

       V_MPEG4/ISO/HEVC
           H.265-/HEVC-Videospuren werden in einfache H.265-Datenströme geschrieben, die später z.B. mit MP4Box
           aus dem Paket GPAC bearbeitet werden können.

       V_MS/VFW/FOURCC
           Feste BpS-Videospuren mit dieser CodecID werden in AVI-Dateien geschrieben.

       V_REAL/*
           RealVideo-Spuren werden in RealMedia-Dateien geschrieben.

       V_THEORA
           Theora-Datenströme werden innerhalb eines Ogg-Containers geschrieben.

       V_VP8, V_VP9
           VP8-/VP9-Spuren werden in IVF-Dateien geschrieben.

       Tags
           Tags werden in ein XML-Format umgewandelt. Dieses Format ist dasselbe, das mkvmerge(1) zum Lesen der
           Tags unterstützt.

       Anhänge
           Anhänge werden, so wie sie sind, in ihre Ausgabedatei geschrieben. Es wird keine Umwandlung in
           irgendeiner Art durchgeführt.

       Kapitel
           Kapitel werden in ein XML-Format umgewandelt. Dieses Format ist dasselbe, das mkvmerge(1) zum Lesen
           der Kapitel unterstützt. Alternativ kann eine heruntergekürzte Version im einfachen OGM-Formatstil
           ausgegeben werden.

       Zeitstempel
           Zeitstempel werden zuerst sortiert und dann als eine Datei ausgegeben, die konform zum
           Zeitstempelformat v2 und fertig zur Eingabe in mkvmerge(1) ist. Das Extrahieren in andere Formate
           (v1, v3 und v4) wird nicht unterstützt.

RÜCKGABEWERTE

       mkvextract(1) wird mit einem von drei Rückgabewerten beendet:

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

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

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

UMGEBUNGSVARIABLEN

       mkvextract(1) verwendet die Standardvariablen, um die Locale des Systems zu bestimmen (z.B. LANG und die
       LC_*-Familie). Zusätzliche Variablen:

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

       MKVEXTRACT_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

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

WWW

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

AUTOR

       Moritz Bunkus <moritz@bunkus.org>
           Entwickler

FUßNOTEN

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

MKVToolNix 92.0                                    2025-04-26                                      MKVEXTRACT(1)