ÜBERSICHT
- mkvpropedit [Optionen] {Quelldateiname} {Aktionen}
BESCHREIBUNG
Optionen:
-l, --list-property-names
- führt alle bekannten und bearbeitbaren Eigenschaftsnamen, ihren Typ (Zeichenkette, Ganzzahl, Boolean etc.) und eine kurze Beschreibung auf. Das Programm beendet sich anschließend. Daher muss der Parameter Quelldateiname nicht mitgegeben werden.
-p, --parse-mode Modus
- setzt den Auswertungsmodus. Der Parameter Modus kann entweder »fast« (was auch die Voreinstellung ist) oder »full« sein. Der Modus »fast« wertet nicht die ganze Datei aus, benutzt aber die 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 den Auswertungsmodus »full« benutzt. Ein vollständiger Scan einer Datei kann ein paar Minuten in Anspruch nehmen, während ein schneller Scan nur Sekunden dauert.
Aktionen, die mit Eigenschaften von Spur- und Segmentinformationen umgehen:
-e, --edit Selektor
-
setzt den
Matroska(TM)-Dateiabschnitt (Segmentinformationen oder die Kopfdaten einer bestimmten Spur), mit der alle nachfolgenden
add-,
set- und
delete-Aktionen arbeiten. Diese Option kann mehrfach benutzt werden, um Änderungen an mehr als einem Element vorzunehmen.
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
- fügt die Eigenschaft Name mit dem Wert Wert hinzu. Die Eigenschaft wird selbst dann hinzugefügt, wenn eine derartige Eigenschaft bereits existiert. Beachten Sie, dass die meisten Eigenschaften eindeutig sind und nicht öfter als einmal auftreten können.
-s, --set Name=Wert
- setzt alle Vorkommen der Eigenschaft Name auf den Wert Wert. Falls keine derartige Eigenschaft existiert, wird sie hinzugefügt.
-d, --delete Name
- löscht alle Vorkommen der Eigenschaft Name. Beachten Sie, dass einige Eigenschaften benötigt werden und nicht gelöscht werden können.
Aktionen, die mit Tags und Kapitel umgehen:
-t, --tags Selektor:Dateiname
-
fügt in der Datei Tags hinzu, ersetzt sie durch die aus
Dateiname
oder entfernt sie, falls
Dateiname
leer ist.
mkvpropedit(1)
liest dasselbe XML-Tag-Format, das auch
mkvmerge(1)
liest.
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
- Berechnet Statistiken für alle Spuren in einer Datei und legt für sie neue Statistik-Tags an. Wenn die Datei solche Tags bereits enthält, so werden sie aktuelisiert.
--delete-track-statistics-tags
- Löscht alle vorhandenen Tags mit Spur-Statistiken aus einer Datei. Falls die Datei keine Spur-Statistik-Tags enthält, so wird sie nicht verändert.
-c, --chapters Dateiname
- fügt in der Datei Kapitel aus Dateiname hinzu, ersetzt sie dadurch oder entfernt sie, falls Dateiname leer ist. mkvpropedit(1) liest dieselben XML- und Kapitelformate, die auch mkvmerge(1) liest.
Aktionen für den Umgang mit Anhängen:
--add-attachment Dateiname
-
fügt einen neuen Anhang aus
Dateiname
hinzu.
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
-
ersetzt einen oder mehrere Anhänge, die zum
Selektor
passen, durch die Datei
Dateiname. Falls mehr als ein existierender Anhang zum
Selektor
passt, werden alle ihre Inhalte durch den Inhalt von
Dateiname
ersetzt.
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
-
aktualisiert die Eigenschaften eines oder mehrere Anhänge, die zum
Selektor
passen. Falls mehr als ein existierender Anhang zum
Selektor
passt, werden all ihre Eigenschaften aktualisiert.
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
-
löscht einen oder mehrere Anhänge, die zum
Selektor
passen.
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
- setzt den Namen, der für die nachfolgende --add-attachment- oder --replace-attachment-Transaktion benutzt wird.
--attachment-mime-type MIME-Typ
- setzt den MIME-Typ, der für die nachfolgende -add-attachment- oder --replace-attachment-Transaktion benutzt wird.
--attachment-description Beschreibung
- setzt die Beschreibung, die für die nachfolgende -add-attachment- oder --replace-attachment-Transaktion benutzt wird.
Weitere Optionen:
--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). Bei der Eingabe von »list« als Code gibt das Programm eine Liste der verfügbaren Übersetzungen aus.
--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 mkvpropedit --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
- 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
m[blue]http://mkvtoolnix-releases.bunkus.org/latest-release.xmlm[], 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 »mkvpropedit Quelle.mkv --edit track:a2 --set name=Kommentare« kann in die folgende Optionsdatei umgewandelt werden:
-
# Quelle.mkv ändern Quelle.mkv # die zweite Tonspur bearbeiten --edit track:a2 # und den Titel auf »Kommentare« setzen --set name=Kommentare
-
SELEKTOREN ZUR BEARBEITUNG
Die Option --edit setzt den Matroska(TM)-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
-
Falls der Parameter
n
eine Zahl ist, wird die
n. Spur ausgewählt. Die Reihenfolge der Spuren ist dieselbe, die die Option
--identify
von
mkvmerge(1)
ausgibt.
Die Nummerierung beginnt bei 1.
track:tn
-
Falls der Parameter mit einem einzelnen Zeichen
t
gefolgt von einem
n
beginnt, wird die
n. Spur eines speziellen Spurtyps ausgewählt. Der Spurtypparameter
t
muss eines der folgenden Zeichen sein: »a« für eine Tonspur, »b« für eine Button-Spur »s« für eine Untertitelspur und »v« für eine Videospur. Die Reihenfolge der Spuren ist diesselbe wie die der Ausgabe der
mkvmerge(1)-Option
--identify.
Die Nummerierung beginnt bei 1.
track:=UID
- Falls der Parameter mit einem »=« gefolgt von einer Zahl UID beginnt, wird die Spur ausgewählt, deren Spur-UID dieser UID entspricht. Spur-UIDs können mit mkvinfo(1) abgefragt werden.
track:@Nummer
- Falls der Parameter mit einem »@« gefolgt von einer Nummer Nummer beginnt, wird die Spur ausgewählt, deren Spurnummer dieser Nummer entspricht. Spurnummern können mit mkvinfo(1) abgefragt werden.
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:
- 1. Auswahl über die ID des Anhangs. In dieser Form ist der Selektor einfach eine Nummer, die ID des Anhangs, wie sie vom Identifizierungsbefehl von mkvmerge(1) ausgegeben wird.
- 2. Auswahl über die UID (eindeutig ID) des Anhangs. In dieser Form ist der Selektor das Gleichheitszeichen = gefolgt von einer Nummer, der eindeutigen ID des Anhangs, wie sie vom Identifizierungsbefehl von mkvmerge(1) ausgegeben wird.
- 3. Auswahl über den Namen des Anhangs. In dieser Form ist der Selektor das Wort name: gefolgt vom existierenden Namen des Anhangs. Falls dieser Selektor mit --replace-attachment benutzt wird, müssen Doppelpunkte innerhalb des Namens als \c maskiert werden.
- 4. Auswahl über den MIME-Typ. In dieser Form ist der Selektor das Wort mime-type: gefolgt vom existierenden MIME-Typ des Anhangs. Falls dieser Selektor mit --replace-attachment benutzt wird, müssen Doppelpunkte innerhalb des MIME-Typs als \c maskiert werden.
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:
- • 0 - dieser Rückgabewert bedeutet, dass die Änderung erfolgreich abgeschlossen wurde.
- • 1 - in diesem Fall hat mkvpropedit(1) mindestens eine Warnung ausgegeben, das Ändern 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 resultierenden Dateien zu überprüfen.
- • 2 - dieser Rückgabewert wird benutzt, nachdem ein Fehler aufgetreten ist. mkvpropedit(1) wird gleich nach der Ausgabe der Fehlermeldung abgebrochen. Fehlermeldungen reichen von falschen Befehlszeilenargumenten über Lese-/Schreibfehler bis hin zu beschädigten Dateien.
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.
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
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
- Der Inhalt wird behandelt, als ob er mit der Option --debug übergeben worden wäre.
MKVPROPEDIT_DEBUG, MKVTOOLNIX_ENGAGE und ihre Kurzform MTX_ENGAGE
- Der Inhalt wird behandelt, als ob er mit der Option --engage übergeben worden wäre.
MKVPROPEDIT_OPTIONS, 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).
WWW
Die neuste Version kann immer auf m[blue]der MKVToolNix-Homepagem[][1] gefunden werden.
FUßNOTEN
- 1.
-
der MKVToolNix-Homepage