MKVPROPEDIT(1) | Benutzerbefehle | MKVPROPEDIT(1) |
NAME¶
mkvpropedit - Ändert Eigenschaften von existierenden Matroska-Dateien ohne ein komplett neues Muxing.
ÜBERSICHT¶
mkvpropedit [Optionen] {Quelldateiname} {Aktionen}
BESCHREIBUNG¶
Dieses Programm analysiert eine existierende Matroska-Datei und ändert einige ihrer Eigenschaften. Dann schreibt es diese Änderungen in die existierende Datei. Unter den Eigenschaften, die geändert werden können, sind die Segmentinformationselemente (z.B. der Titel) und die Spurenkopfdaten (z.B. der Sprachcode, der Scahlter »Standardspur« oder der Name).
Optionen:
-l, --list-property-names
-p, --parse-mode Modus
Aktionen, die mit Eigenschaften von Spur- und Segmentinformationen umgehen:
-e, --edit Selektor
Standardmäßig wird mkvpropedit(1) den Segmentinformationsabschnitt bearbeiten.
Eine vollständige Beschreibung der Syntax finden Sie im Abschnitt über Selektoren zur Bearbeitung.
-a, --add Name=Wert
-s, --set Name=Wert
-d, --delete Name
Aktionen, die mit Tags und Kapitel umgehen:
-t, --tags Selektor:Dateiname
Der Selektor muss eines der Wörter all, global oder track sein. Bei all wird mkvpropedit(1) alle Tags in einer Datei ersetzen oder entfernen. Bei global werden nur globale Tags ersetzt oder entfernt.
Bei track wird mkvpropedit(1) Tags für eine bestimmte Spur ersetzen. Zusätzlich werden die aus Dateiname gelesenen Tags derselben Spur zugeteilt. Die Spur wird auf dieselbe Weise angegeben wie die Selektoren zur Bearbeitung (siehe unten), z.B. --tags track:a1:neue-Audio-Tags.xml.
--add-track-statistics-tags
--delete-track-statistics-tags
-c, --chapters Dateiname
Aktionen für den Umgang mit Anhängen:
--add-attachment Dateiname
Falls die Option --attachment-name vor dieser Option benutzt wurde, wird ihr Wert als Name des neuen Anhangs verwendet. Andernfalls wird er aus Dateiname abgeleitet.
Falls die Option --attachment-mime-type vor dieser Option benutzt wurde, wird ihr Wert als MIME-Typ des neuen Anhangs verwendet. Andernfalls wird er automatisch anhand des Inhalts von Dateiname bestimmt.
Falls die Option --attachment-description vor dieser Option benutzt wurde, wird ihr Wert als Beschreibung des neuen Anhangs verwendet. Andernfalls wird keine Beschreibung hinterlegt.
Falls die Option --attachment-uid vor dieser Option benutzt wurde, wird ihr Wert als UID des neuen Anhangs verwendet. Andernfalls wird automatisch eine zufällige UID erzeugt.
--replace-attachment Selektor:Dateiname
Der Selektor kann eine von vier Formen haben. Sie werden unten im Abschnitt Anhangauswahlpunkte erklärt.
Falls die Option --attachment-name vor dieser Option benutzt wurde, wird ihr Wert als Name für alle veränderten Anhänge verwendet. Andernfalls werden die Namen nicht geändert.
Falls die Option --attachment-mime-type vor dieser Option benutzt wurde, wird ihr Wert als MIME-Typ aller veränderten Anhänge verwendet. Andernfalls werden die MIME-Typen nicht geändert.
Falls die Option --attachment-description vor dieser Option benutzt wurde, wird ihr Wert als Beschreibung aller veränderten Anhänge verwendet. Andernfalls werden die Beschreibungen nicht geändert.
Falls die Option --attachment-uid vor dieser Option benutzt wurde, wird ihr Wert als UID aller veränderten Anhänge verwendet. Andernfalls werden die UIDs nicht geändert.
--update-attachment Selektor
Der Selektor kann eine von vier Formen haben. Sie werden unten im Abschnitt Anhangauswahlpunkte erklärt.
Falls die Option --attachment-name vor dieser Option benutzt wurde, wird ihr Wert als Name für alle veränderten Anhänge verwendet. Andernfalls werden die Namen nicht geändert.
Falls die Option --attachment-mime-type vor dieser Option benutzt wurde, wird ihr Wert als MIME-Typ aller veränderten Anhänge verwendet. Andernfalls werden die MIME-Typen nicht geändert.
Falls die Option --attachment-description vor dieser Option benutzt wurde, wird ihr Wert als Beschreibung aller veränderten Anhänge verwendet. Andernfalls werden die Beschreibungen nicht geändert.
Falls die Option --attachment-uid vor dieser Option benutzt wurde, wird ihr Wert als UID aller veränderten Anhänge verwendet. Andernfalls werden die UIDs nicht geändert.
--delete-attachment Selektor
Der Selektor kann eine von vier Formen haben. Sie werden unten im Abschnitt Anhangauswahlpunkte erklärt.
Optionen für Aktionen mit Anhängen:
--attachment-name Name
--attachment-mime-type MIME-Typ
--attachment-description Beschreibung
--enable-legacy-font-mime-types
Dies betrifft sowohl das Hinzufügen neuer Dateianhänge als auch das Ersetzen vorhandener Anhänge, aber nur, wenn der MIME-Typ nicht angegeben wurde. Andere existierende Dateianhänge werden nicht verändert.
Die betroffenen MIME-Typen sind »font/sfnt«, »font/ttf« und »font/collection«, die alle durch »application/x-truetype-fonts« ersetzt werden, sowie »font/otf«, das durch »application/vnd.ms-opentype« ersetzt wird."
Weitere Optionen:
--disable-language-ietf
Diese Option hat keinen Einfluss auf Änderungen, die über die Spurkopfdaten-Eigenschaft »language-ietf« angefragt werden.
--normalize-language-ietf Modus
In der kanonischen Form werden alle Unterelemente, für die bevorzugte Werte existieren, durch diese bevorzugten Werte ersetzt. Dies wandelt z.B. »zh-yue-jyutping« in »yue-jyutping« oder »fr-FX« in »fr-FR« um.
Für die Erweiterte-Sprach-Unterelemente-Form wird zuerst die kanonische Form gebildet. Anschließend werden alle primären Sprachelemente, für die es erweiterte Sprach-Unterlemente gibt, durch diese erweiterten Sprach-Unterelemente und das dazugehörige Präfix ersetzt. Dies wandelt z.B. »yue-jyutping« zurück in »zh-yue-jyutping« um, hat aber keine Auswirkung auf »fr-FR«, weil es für »fr« kein erweitertes Sprach-Unterelement gibt.
Diese Normalisierung wird nur auf Elemente angewendet, die tatsächlich verändert werden:
Der beste Weg zur Normalisierung aller vorhandenen Sprachelemente ist, die Datei mit mkvmerge(1) zu remuxen und dabei die Option »--normalize-language-ietf« auf den gewünschten Modus zu setzen.
--command-line-charset Zeichensatz
--output-charset Zeichensatz
-r, --redirect-output Dateiname
--ui-language Code
--abort-on-warnings
--debug Thema
--engage Funktionalität
--gui-mode
-v, --verbose
-h, --help
-V, --version
@Optionsdatei.json
SELEKTOREN ZUR BEARBEITUNG¶
Die Option --edit setzt den Matroska-Dateiabschnitt (Segmentinformationen oder die Kopfdaten einer bestimmten Spur) so, dass alle nachfolgenden add-, set- und delete-Aktionen damit arbeiten. Dies bleibt gültig, bis die nächste --edit-Option gefunden wird. Das Argument für diese Option wird Selektor zur Bearbeitung genannt.
Standardmäßig wird mkvpropedit(1) den Segmentinformationsabschnitt bearbeiten.
Segmentinformation¶
Die Segmentinformation kann mit einem dieser drei Wörter ausgewählt werden: »info«, »segment_info« oder »segmentinfo«. Sie enthält Eigenschaften wie den Segmenttitel oder die UID des Segments.
Spurenkopfdaten¶
Spurenkopfdaten können mit einem etwas komplexeren Selektor ausgewählt werden. Alle Varianten beginnen mit »track:«. Die Spurenkopfdaten beinhalten Elemente wie den Sprachcode, den »Standardspur«-Schalter oder den Namen der Spur.
track:n
Die Nummerierung beginnt bei 1.
track:tn
Die Nummerierung beginnt bei 1.
track:=UID
track:@Nummer
Hinweise¶
Aufgrund der Natur der Spurauswahlpunkte zur Bearbeitung ist es möglich, dass tatsächlich mehrere Selektoren zu den Kopfdaten derselben Spur passen. In diesen Fällen werden alle Aktionen für diese Selektoren zur Bearbeitung kombiniert und in der Reihenfolge ausgeführt, in der sie auf der Befehlszeile angegeben wurden.
SELEKTOREN FÜR ANHÄNGE¶
Ein Selektor für Anhänge wird in den beiden Aktionen --replace-attachment und --delete-attachment benutzt. Er kann eine der folgenden vier Formen haben:
UMGANG MIT SPRACHEN¶
mkvpropedit(1) versucht, standardmäßig das Richtige zu tun. Daher wird mkvpropedit(1) bei Änderungen der language-Eigenschaft die Änderung sowohl auf das neue "LanguageIETF"-Element als auch das veraltete "Language"-Element anwenden. Wenn beispielsweise der Befehl mkvpropedit movie.mkv --edit track:2 --set language=zh-TW benutzt wird, so wird das "LanguageIETF"-Element auf zh-TW und das veraltete "Language"-Element auf chi gesetzt.
Zusätzlich gibt es eine neue Spurkopfdaten-Eigenschaft namens language-ietf die gesetzt oder entfernt werden kann. Änderungen an dieser Eigenschaften wirken sich nur auf das »LanguageIETF«-Spurkopfdaten-Element aus. Eine Besonderheit ist, dass das veraltete »Language«-Element ein obligatorisches Element in Matroska ist — was bedeutet, dass es selbst dann, wenn es nicht vorhanden ist, einen impliziten Wert hat. Wenn nur die Eigenschaft language-ietf aber nicht die Eigenschaft language gesetzt wird, wird mkvpropedit(1) daher in gewissen Situationen auch das veraltete »Language«-Element hinzufügen & es auf den Wert und (bedeutet »undetermined«, auf deutsch »unbestimmt«) setzen, da für das Element kein Wert angegeben wurde.
Beim Lesen von XML-Kapitel- oder -Tag-Dateien funktioniert mkvpropedit(1) wie mkvmerge(1).
Das Erzeugen der neuen Elemente kann mit der Kommandozeilenoption --disable-language-ietf vollständig deaktiviert werden. Sie wirkt sich auf alle neuen Sprachelemente aus.
Sie können die angewendete Normalisierungsmethode, die auf erweiterte Sprach-Unter-Tags angewendet wird, mit der --normalize-language-ietf auswählen.
BEISPIELE¶
Das folgende Beispiel bearbeitet eine Datei namens »Film.mkv«. Es setzt den Segmenttitel und ändert den Sprachcode einer Ton- und Untertitelspur. Beachten Sie, dass dieses Beispiel durch Weglassen der ersten Option --edit verkürzt werden kann, da das Bearbeiten der Segmentinformation ohnehin für alle Optionen, die vor dem ersten --edit gefunden werden, die Voreinstellung ist.
$ mkvpropedit Film.mkv --edit info --set "title=Der Film" --edit track:a1 --set language=fre --edit track:a2 --set language=ita
Das zweite Beispiel entfernt den Standardspurschalter« von der ersten Untertitelspur und setzt ihn für die zweite. Beachten Sie, dass mkvpropedit(1) im Gegensatz zu mkvmerge(1) nicht den »Standardspurschalter« von anderen Spuren auf »0« setzt, falls es für eine andere Spur automatisch auf »1« gesetzt wird.
$ mkvpropedit Film.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1
Das Ersetzen der Tags für die zweite Untertitelspur in einer Datei sieht so aus:
$ mkvpropedit Film.mkv --tags track:s2:Neue-Untertitel-Tags.xml
Entfernen aller Tags erfordert das Weglassen des Dateinamens:
$ mkvpropedit Film.mkv --tags all:
Das Ersetzen der Kapitel in einer Datei sieht so aus:
$ mkvpropedit Film.mkv --chapters Neue-Kapitel.xml
Entfernen aller Kapitel erfordert das Weglassen des Dateinamens:
$ mkvpropedit Film.mkv --chapters ''
Hinzufügen einer Schriftdatei (Arial.ttf) als Anhang:
$ mkvpropedit Film.mkv --add-attachment Arial.ttf
Hinzufügen einer Schriftdatei (89719823.ttf) als Anhang und Bereitstellen von ein paar Informationen, dass es sich wirklich nur um Arial handelt:
$ mkvpropedit Film.mkv --attachment-name Arial.ttf --attachment-description 'Die Schrift Arial als eine TrueType-Schrift' --attachment-mime-type application/x-truetype-font --add-attachment 89719823.ttf
Ersetzen einer angehängten Schriftdatei (Comic.ttf) durch eine andere (Arial.ttf):
$ mkvpropedit Film.mkv --attachment-name Arial.ttf --attachment-description 'Die Schrift Arial als eine TrueType-Schrift' --replace-attachment name:Comic.ttf:Arial.ttf
Löschen der zweiten angehängten Datei, egal worum es sich handelt:
$ mkvpropedit Film.mkv --delete-attachment 2
Löschen aller angehängten Schriften anhand des MIME-Typs:
$ mkvpropedit Film.mkv --delete-attachment mime-type:application/x-truetype-font
RÜCKGABEWERTE¶
mkvpropedit(1) beendet sich mit einem von drei Rückgabewerten:
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.
UMGEBUNGSVARIABLEN¶
mkvpropedit(1) verwendet die Standardvariablen, die die Locale des System bestimmen (d.h. LANG und die LC_*-Familie). Zusätzliche Variablen:
MKVPROPEDIT_DEBUG, MKVTOOLNIX_DEBUG und ihre Kurzform MTX_DEBUG
MKVPROPEDIT_DEBUG, MKVTOOLNIX_ENGAGE und ihre Kurzform MTX_ENGAGE
SIEHE AUCH¶
WWW¶
Die neuste Version kann immer auf der MKVToolNix-Homepage[1] gefunden werden.
AUTOR¶
Moritz Bunkus <moritz@bunkus.org>
FUßNOTEN¶
- 1.
- der MKVToolNix-Homepage
2024-09-07 | MKVToolNix 87.0 |