Provided by: mkvtoolnix_6.7.0-1_amd64
NAME
mkvextract - extrahiert Spuren aus Matroska(TM)-Dateien in andere Dateien.
ÜBERSICHT
mkvextract {Modus} {Quelldateiname} [Optionen] [Extrahierungsspezifikation]
BESCHREIBUNG
Dieses Programm extrahiert bestimmte Teile einer Matroska(TM)-Datei in andere nützliche Formate. Das erste Argument Modus teilt mkvextract(1) mit, was zu extrahieren ist. Derzeit wird das Extrahieren von Spuren, Tags, Anhängen, Kapiteln, Cuesheets und Zeitstempel unterstützt. Das zweite Argument ist der Name der Quelldatei. Es muss eine Matroska-Datei sein. Alle folgenden Argumente sind Optionen und Extrahierungsangaben, die jeweils vom Modus abhängen. 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, dass der Anwender diesen Modus benutzt. 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. --ui-language Code erzwingt, dass die Übersetzungen für die Sprache Code benutzt werden (z.B. »de_DE« für die deutschen Übersetzungen). Vorzugsweise sollten jedoch die Umgebungsvariablen LANG, LC_MESSAGES und LC_ALL benutzt werden. Die Eingabe von »list« als Code wird mkvextract(1) veranlassen, eine Liste der verfügbaren Übersetzungen auszugeben. --debug Thema schaltet die Fehlersuche für eine bestimmte Funktionalität ein. Diese Option ist nur für Entwicker 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 Turns on GUI mode. In this mode specially-formatted lines may be output that can tell a controlling GUI what's happening. These messages follow the format '#GUI#message'. The message may be followed by key/value pairs as in '#GUI#message#key1=value1#key2=value2...'. Neither the messages nor the keys are ever translated and always output in English. -v, --verbose detaillierte Ausgabe, zeigt alle wichtigen Matroska(TM)-Elemente, so wie sie gelesen wurden. -h, --help zeigt Benutzungsinformationen und beendet sich. -V, --version zeigt Versionsinformationen und beendet sich. --check-for-updates prüft online durch Herunterladen der URL http://mkvtoolnix-releases.bunkus.org/latest-release.xml, ob es neue Veröffentlichungen gibt. Vier Zeilen werden im Stil Schlüssel=Wert ausgegeben: die URL, von der die Informationen bezogen wurden (Schlüssel version_check_url), die aktuell laufende Version (Schlüssel running_version), die Version der neusten Veröffentlichung (Schlüssel available_version) und die Download-URL (Schlüssel download_url). Anschließend beendet sich das Programm mit einem Rückgabewert von 0, falls keine neuere Veröffentlichung verfügbar ist, mit 1, wenn eine neuere Veröffentlichung verfügbar ist und mit 2, falls ein Fehler auftritt (z.B., wenn die Aktualisierungsinformationen nicht abgefragt werden konnten). Diese Option ist nur verfügbar, falls das Programm mit Unterstützung für Libcurl gebaut wurde. @Optionsdatei liest zusätzliche Befehlszeilenargumente aus der Datei Optionsdatei. Zeilen, deren erstes Nichtleerraumzeichen ein Rautenzeichen (»#«) ist, werden als Kommentare betrachtet und ignoriert. Leerräume am Anfang und Ende einer Zeile werden abgeschnitten. Jede Zeile darf genau eine Option enthalten. Verschiedene Zeichen können maskiert werden, z.B. falls Sie möchten, dass eine Nichtkommentarzeile mit einem »#« beginnt. Die Regeln werden im Abschnitt über Maskieren von Text beschrieben. Die Befehlszeile »mkvextract tracks Quelle.mkv --raw 1:Ziel.raw kann in die folgende Optionsdatei umgewandelt werden: # eine Spur von Quelle.mkv extrahieren tracks Quelle.mkv # die Spur als Rohdaten ausgeben --raw 1:Ziel.raw Spurextrahierungsmodus Syntax: mkvextract tracks Quelldateiname [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 tracks Eingabe.mkv 1:Ausgabe-zwei-Spuren.rm 2:Ausgabe-zwei-Spuren.rm Extrahierungsmodus für Tags Syntax: mkvextract tags Quelldateiname [Optionen] Die extrahierten Tags werden auf die Konsole geschrieben, falls die Ausgabe nicht umgeleitet ist (Einzelheiten finden Sie im Abschnitt über Ausgabeumleitung). Extrahierungsmodus für Anhänge Syntax: mkvextract attachments Quelldateiname [Optionen] AID1:Ausgabename1 [AID2:Ausgabename2 ...] 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(TM)-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 chapters Quelldateiname [Optionen] -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. Die extrahierten Kapitel werden auf die Konsole geschrieben, falls die Ausgabe nicht umgeleitet ist (Einzelheiten finden Sie im Abschnitt über Ausgabeumleitung). Extrahierungsmodus für Cuesheets Syntax: mkvextract cuesheet Quelldateiname [Optionen] Das extrahierte Cuesheet wird auf die Konsole geschrieben, falls die Ausgabe nicht umgeleitet ist (Einzelheiten finden Sie im Abschnitt über Ausgabeumleitung). Zeitstempelextrahierungsmodus Syntax: mkvextract timecodes_v2 Quelldateiname [Optionen] TID1:Zieldateiname1 [TID2:Zieldateiname2 ...] Die extrahierten Zeitstempel werden auf die Konsole geschrieben, falls die Ausgabe nicht umgeleitet ist (Einzelheiten finden Sie im Abschnitt über Ausgabeumleitung). 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 timecodes_v2 Eingabe.mkv 1:Tc-Spur1.txt 2:Tc-Spur2.txt
AUSGABEUMLEITUNG
Mehrere Extrahierungsmodi veranlassen mkvextract(1), die extrahierten Daten auf die Konsole zu schreiben. Es gibt im Allgemeinen zwei Möglichkeiten, diese Dateien in eine Datei zu schreiben: Eine wird durch die Shell bereitgestellt, eine durch mkvextract(1) selbst. Der in die Shell integrierte Umleitungsmechanismus wird verwendet, indem »> Ausgabedateiname.erw an die Befehlszeile angehängt wird. Beispiel: $ mkvextract tags Quelle.mkv > Tags.xml Die mkvextract(1)-eigene Umleitung wird mit der Option --redirect-output aufgerufen. Beispiel: $ mkvextract tags Quelle.mkv --redirect-output Tags.xml Anmerkung Auf Windows sollten Sie wohl die Option --redirect-output verwenden, da cmd.exe manchmal Sonderzeichen vor dem Schreiben in die Ausgabedatei interpretiert, was zu einer beschädigten Ausgabe führt.
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: V_MPEG4/ISO/AVC H.264-/AVC-Videospuren werden in einfache H.264-Datenströme geschrieben, die später z.B. mit MP4Box(TM) aus dem Paket GPAC(TM) bearbeitet werden können. V_MS/VFW/FOURCC Feste BpS-Videospuren mit dieser CodecID werden in AVI-Dateien geschrieben. V_REAL/* RealVideo(TM)-Spuren werden in RealMedia(TM)-Dateien geschrieben. V_THEORA Theora(TM)-Datenströme werden innerhalb eines Ogg(TM)-Containers geschrieben. V_VP8, V_VP9 VP8 / VP9 tracks are written to IVF files. A_MPEG/L2 MPEG-1-Audio-Layer-II-Datenströme werden in rohe MP2-Dateien extrahiert. A_MPEG/L3, A_AC3 Diese werden in rohe MP3- und AC3-Dateien extrahiert. A_PCM/INT/LIT Rohe PCM-Daten werden in eine WAV-Datei geschrieben. 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_VORBIS Vorbis-Audio wird in eine OggVorbis(TM)-Datei geschrieben. A_REAL/* RealAudio(TM)-Spuren werden in RealMedia(TM)-Dateien geschrieben. A_TTA1 TrueAudio(TM)-Spuren werden in TTA-Dateien geschrieben. Bitte beachten Sie, dass die extrahierten Dateikopfdaten wegen der begrenzten Zeitstempelgenauigkeit von Matroska(TM) in Bezug auf zwei Felder unterschiedlich sind: data_length (die Gesamtzahl der Samples in der Datei) und der CRC. A_ALAC ALAC-Spuren werden in CAF-Dateien geschrieben. A_FLAC FLAC-Spuren werden in FLAC-Dateien geschrieben. A_WAVPACK4 WavPack-Spuren werden in WV-Dateien geschrieben. A_OPUS Opus(TM)-Spuren werden in OggOpus(TM)-Dateien geschrieben. S_TEXT/UTF8 Einfache Textuntertitel werden in SRT-Dateien geschrieben. S_TEXT/SSA, S_TEXT/ASS SSA- und ASS-Textuntertitel werden als SSA- beziehungsweise ASS-Dateien geschrieben. S_KATE Kate(TM)-Datenströme werden innerhalb eines Ogg(TM)-Containers geschrieben. S_VOBSUB VobSub(TM)-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_HDMV/PGS PGS-Untertitel werden als SUP-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 autgetretenen Problemen können die resultierenden Dateien in Ordnung oder nicht sein. Dem Anwender 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.
SONDERZEICHEN IN TEXT MASKIEREN
Es gibt ein paar Stellen, an denen Sonderzeichen in Text maskiert werden müssen oder sollen. Die Regeln zum Maskieren sind einfach: Jedes Zeichen, das maskiert werden soll, wird durch einen Rückwärtsschrägstrich gefolgt von einem weiteren Zeichen ersetzt. Die Regeln lauten: » « (ein Leerzeichen) wird »\s«, »"« (doppeltes Anführungszeichen) wird »\2«, »:« wird »\c«, »#« wird »\h« und »\« (ein einfacher Rückwärtsschrägstrich selbst) wird »\\«.
UMGEBUNGSVARIABLEN
mkvextract(1) verwendet die Standardvariablen, um die Locale des Systems zu bestimmen (z.B. LANG und die LC_*-Familie). Zusätzliche Variablen: MKVTOOLNIX_DEBUG und ihre Kurzform MTX_DEBUG Der Inhalt wird behandelt, als ob er mit der Option --debug übergeben worden wäre. MKVTOOLNIX_ENGAGE und ihre Kurzform MTX_ENGAGE Der Inhalt wird behandelt, als ob er mit der Option --engage übergeben worden wäre. MKVTOOLNIX_OPTIONS und ihre Kurzform MTX_OPTIONS Der Inhalt wird bei Leerräumen aufgeteilt. Die resultierenden Teilzeichenketten werden behandelt, als ob sie als Befehlszeilenoptionen übergeben worden wären. Falls Sie Sonderzeichen übergeben möchten (z.B. Leerzeichen), müssen Sie sie maskieren (siehe den Abschnitt über Maskieren von Sonderzeichen in Text).
SIEHE AUCH
mkvmerge(1), mkvinfo(1), mkvpropedit(1), mmg(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 http://www.bunkus.org/videotools/mkvtoolnix/