mkvpropedit -- Modificeren van eigenschappen van een bestaande Matroska(tm) bestanden zonder een volledige samenvoeging

# 1. Beknopte inhoudsbeschrijving

mkvpropedit [options] {source-filename} {actions}

# 2. Beschrijving

Dit programma analyseert een bestaand Matroska(tm) bestand en kan sommige eigenschappen veranderen. Dan schrijft het deze veranderingen naar het bestaande bestand. Onder de eigenschappen die kunnen worden veranderd, zijn de segment informatie elementen (b.v. de titel) en de spoor koppen (b.v.de taal code, 'standaard spoor' markering of de naam).

Opties:

Option | Description
--- | ---
-l, --list-property-names | Lijst alle bekende bewerkbare eigenschap namen, hun type (string, integer, boolean etc) en een korte beschrijving. Nadien stopt het programma. Daarom hoeft de parameter source-filename niet te worden ingegeven.
-p, --parse-mode mode | Stelt de ontleedt mode in. De parameter 'mode' kan zijn of 'fast' (wat ook standaard is) of 'full'. De 'fast' mode ontleedt niet het gehele bestand, maar gebruikt de meta zoek elementen voor lokaliseren van de benodigde elementen van een bron bestand. In 99% van alle gevallen is dat voldoende. Maar voor bestanden die geen meta zoek element bevatten of zij die beschadigd zijn, zou de gebruiker moeten opgeven de 'full' ontleedt mode. Een volledige scan kan enige minuten duren terwijl een snelle scan slechts enkele seconden duurt.

Actions that deal with track and segment info properties:

Option | Description
--- | ---
-e, --edit selector | Zet de Matroska(tm) bestand sectie (segment informatie of bepaalde sporen koppen) die alle volgen voeg toe, zet en verwijder acties die er op werken. Deze optie kan meerdere keren worden gebruikt om wijzigingen aan meer dan één element te maken. Standaard bewerkt mkvpropedit(1) de segment informatie sectie Zie de sectie over bewerk selecteurs/kiezer voor een volledige beschrijving van de ingave's.
-a, --add name=value | Voegt eigenschap name toe met de waarde value. De eigenschap wordt toegevoegd zelfs wanneer deze reeds bestaat. Opmerking: dat de meeste eigenschappen uniek zijn en niet nog een keer mogen voorkomen.
-s, --set name=value | Zet alle voorgekomen van de eigenschap name naar de waarde value. Als een dergelijke eigenschap niet bestaat dan wordt deze toegevoegd.
-d, --delete name | Verwijdert alle voorgekomen eigenschappen name. Opmerking: sommige eigenschappen zijn vereist en kunnen niet worden verwijderd.

Actions that deal with tags and chapters:

Option | Description
--- | ---
-t, --tags selector:filename | Add or replace tags in the file with the ones from filename or remove them if filename is empty. mkvpropedit(1) reads the same XML tag format that mkvmerge(1) reads as well. The selector must be one of the words all, global or track. For all mkvpropedit(1) will replace or remove all tags in a file. With global only global tags will be replaced or removed. With track mkvpropedit(1) will replace tags for a specific track. Additionally the tags read from filename will be assigned to the same track. The track is specified in the same way edit selectors are specified (see below), e.g. --tags track:a1:new-audio-tags.xml.
-c, --chapters filename | Add or replace chapters in the file with the ones from filename or remove them if filename is empty. mkvpropedit(1) reads the same XML and simple chapter formats that mkvmerge(1) reads as well.

Actions for handling attachments:

Option | Description
--- | ---
--add-attachment filename | Adds a new attachment from filename. If the option --attachment-name has been used prior to this option then its value is used as the new attachment's name. Otherwise it is derived from filename. If the option --attachment-mime-type has been used prior to this option then its value is used as the new attachment's MIME type. Otherwise it is auto-detected from the content of filename. If the option --attachment-description has been used prior to this option then its value is used as the new attachment's description. Otherwise no description will be set.
--replace-attachment selector:filename | Replaces one or more attachments that match selector with the file filename. If more than one existing attachment matches selector then all of their contents will be replaced by the content of filename. The selector can have one of four forms. They're exlained below in the section attachment selectors. If the option --attachment-name has been used prior to this option then its value is used as the replaced attachment's name. Otherwise the name is not changed. If the option --attachment-mime-type has been used prior to this option then its value is used as the replaced attachment's MIME type. Otherwise the MIME type is not changed. If the option --attachment-description has been used prior to this option then its value is used as the replaced attachment's description. Otherwise no description is not changed.
--delete-attachment selector | Deletes one or more attachments that match selector. The selector can have one of four forms. They're exlained below in the section attachment selectors.

Options for attachment actions:

Option | Description
--- | ---
--attachment-name name | Sets the name to use for the following --add-attachment or --replace-attachment operation.
--attachment-mime-type mime-type | Sets the MIME type to use for the following --add-attachment or --replace-attachment operation.
--attachment-description description | Sets the description to use for the following --add-attachment or --replace-attachment operation.

Andere opties:

Option | Description
--- | ---
--command-line-charset (karakter-set) | Plaatst het karakter set om de reeksen om te zetten die vanaf de commandoregel worden opgegeven. Standaard wordt gebruikt de karakter set die afhankelijk is van wat er in uw besturingssysteem staat aangegeven (lokatie).
--output-charset (karakter-set) | Stelt de karakter set in waarnaar de reeksen dienen te worden geconverteerd naar de uitvoer. Standaard wordt gebruikt de karakter set die afhankelijk is van wat er in uw besturingssysteem staat aangegeven (lokatie).
-r, --redirect-output (bestandsnaam) | Schrijft alle berichten naar een bestand file-name i.p.v naar het 'apparaat/houder'. Terwijl dit gemakkelijk met uitvoer omleiden kan worden gedaan er zijn gevallen waarin deze optie nodig is: wanneer de verwerker e.e.a her-interpreteert voordat het geschreven wordt naar het uitvoer bestand. De karakter set met --output-charset is toegewezen.
--ui-language code | Forceert de vertaling voor de te gebruiken taal code (b.v. 'de_DE' voor de Duitse taal). Hoewel het de voorkeur heeft de 'omgevings variabelen' te gebruiken LANG, LC_MESSAGES en LC_ALL. Opvragen van een 'list' als een code zal voor zorgen dat mkvextract(1) een lijst zal uitvoeren van alle beschikbaren vertalingen.
--debug topic | Turn on debugging for a specific feature. This option is only useful for developers.
--engage feature | Turn on experimental features. A list of available features can be requested with mkvpropedit --engage list. These features are not meant to be used in normal situations.
-v, --verbose | Wees uitgebreid en toon alle belangrijke Matroska(tm) elementen zoals ze zijn gelezen.
-h, --help | Toon gebruik informatie en sluit af.
-V, --version | Toon versie informatie en sluit af.
--check-for-updates | Controleert online op nieuwere versie's via ophalen op adres http://mkvtoolnix-releases.bunkus.org/latest-release.xml. Vier regels worden uitgevoerd in key=value stijl: het adres van waar de informatie wordt verkregen (key version_check_url), de huidig uitgevoerde versie (key running_version), laatst uitgebrachte versie (key available_version en het ophaal adres (key download_url). Nadien sluit het programma af met een afsluitwaarde van 0 als er geen nieuwere versie beschikbaar is, met een 1 als er een nieuwere beschikbaar is en 2 indien er een fout ontstond (b.v. als de opwaardeer info niet verkregen kon worden). Deze optie is alleeen beschikbaar indien het gebouwd is met ondersteuning voor libcurl.
@options-file | Leest extra commandoregel argumenten in van een bestand options-file. Regels met een spatie (lege ruimte) als eerste karakter, zijn gemarkeerd als een hash (waarde) ('#') worden behandeld als commentaar en genegeerd. Een spatie aan het begin en einde van een regel worden verwijderd. Elke regel mag excact één waarde bevatten Verschillende karakters kunnen worden overgeslagen, b.v. als het nodig is een niet commandoregel te starten met een '#' de regels worden beschreven in de sectie over overslaan van tekst. De commandoregel 'mkvpropedit source.mkv --edit track:a2 --set name=Comments' kon niet worden geconverteerd naar het volgende optie bestand:
    # Modify source.mkv
    source.mkv
    # Edit the second audio track
    --edit
    track:a2
    # and set the title to 'Comments'
    --set
    name=Comments

# 3. Bewerk selecteurs/kiezers

De optie --edit zet het Matroska(tm) bestand sectie (segment informatie of de bepaalde sporen knoppen) die alle volgen voeg toe, zet en verwijder acties die er op werken. Dit blijft geldig todat de volgende optie --edit is gevonden. Het argument naar deze optie wordt genoemd de bewerk selecteur/kiezer.

Standaard bewerkt mkvpropedit(1) de segment informatie sectie

## 3.1. Segment informatie

De segment informatie kan worden geselecteerd met één van deze drie woorden: 'info', 'segment_info' of 'segmentinfo'. het bevat eigenschappen zoals, segment titel of het segment UID.

## 3.2. Spoor koppen

Spoor koppen kunnen worden geselecteerd met een ietwat complexere selectie. Alle variaties starten met 'track:'. De spoor kop eigenschappen bevatten elementen zoals de taal code, 'default track' markering of het spoor naam.

Option | Description
--- | ---
track:n | Als de parameter n een nummer is dan zal het n'de spoor worden geselecteerd. De spoor volgorde is hezelfde als mkvmerge(1)'s --identify optie uitvoert. Numbering starts at 1.
track:t n | Als de parameter start met één karakter t gevolgd door een n dan zal het de n'de spoor van een specifiek spoor type geselecteerd worden. Het spoor type parameter t moet één van deze vier karakters zijn: 'a' voor een audio spoor, 'b' voor een knop spoor, 's' voor een ondertitel spoor en 'v' voor een video spoor. De spoor volgorde is hetzelfde wanneer mkvmerge(1)'s --identify de optie uitvoert. Numbering starts at 1.
track:=uid | Als de parameter start met een '=' gevolgd door een nummer uid dan het spoor van wie het spoor UID element gelijk is met uid. Spoor UID's kan verkregen worden met mkvinfo(1).
track:@number | Als de parameter start met een '@' gevolgd door een nummer number dan het spoor het van wie het spoornummer element gelijk is met number. Spoornummer kan verkregen worden met mkvinfo(1).

## 3.3. Opmerkingen

Door de aard van de spoor bewerk selecteur/kiezer, is het mogelijk dat verschillende selecteurs/kiezers eigenlijk overeenkomen met dezelfde spoor koppen. In zulke gevallen, zullen alle acties voor die bewerk selecteurs/kiezers in die volgorde worden gecombineerd en uitgevoerd worden in de volgorde waarin ze zijn opgegeven op de commandoregel.

# 4. Attachment selectors

An attachment selector is used with the two actions --replace-attachment and --delete-attachment. It can have one of the following four forms:

1. Selection by attachment ID. In this form the selector is simply a number, the attachment's ID as output by mkvmerge(1)'s identification command.

2. Selection by attachment UID (unique ID). In this form the selector is the equal sign = followed by a number, the attachment's unique ID as output by mkvmerge(1)'s verbose identification command.

3. Selection by attachment name. In this form the selector is the literal word name: followed by the existing attachment's name. If this selector is used with --replace-attachment then colons within the name to match must be escaped as \c.

4. Selection by MIME type. In this form the selector is the literal word mime-type: followed by the existing attachment's MIME type. If this selector is used with --replace-attachment then colons within the MIME type to match must be escaped as \c.

# 5. Voorbeelden

Het volgende voorbeeld bewerkt een bestand genaamd 'film.mkv'. Het zet het segment titel en modificeert de taal code van een audio en ondertitel spoor. Opmerking: Ddat dit voorbeeld kan worden verkort door het weglaten van de eerste optie --edit omdat bewerken van het segment informatie element in elk geval standaard is voor alle opties welke worden gevonden voor de eerste --edit optie.

    $ mkvpropedit movie.mkv --edit info --set "title=The movie" --edit track:a1 --set language=fre --edit track:a2 --set language=ita

Het tweede voorbeeld, verwijdert de 'standaard spoor markering' van het eerste ondertitel spoor en plaatst het voor de tweede. Opmerking: Dat mkvpropedit(1), integenstelling tot mkvmerge(1), niet instelt de 'standaard spoor markering' van andere sporen naar '0' als het automatisch is ingesteld op '1' voor een verschillend spoor.

    $ mkvpropedit movie.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1

Replacing the tags for the second subtitle track in a file looks like this:

    $ mkvpropedit movie.mkv --tags track:s2:new-subtitle-tags.xml

Removing all tags requires leaving out the file name:

    $ mkvpropedit movie.mkv --tags all:

Replacing the chapters in a file looks like this:

    $ mkvpropedit movie.mkv --chapters new-chapters.xml

Removing all chapters requires leaving out the file name:

    $ mkvpropedit movie.mkv --chapters ''

Adding a font file (Arial.ttf) as an attachment:

    $ mkvpropedit movie.mkv --add-attachment Arial.ttf

Adding a font file (89719823.ttf) as an attachment and providing some information as it really is just Arial:

    $ mkvpropedit movie.mkv --attachment-name Arial.ttf --attachment-description 'The Arial font as a TrueType font' --attachment-mime-type application/x-truetype-font --add-attachment 89719823.ttf

Replacing one attached font (Comit.ttf) file with another one (Arial.ttf):

    $ mkvpropedit movie.mkv --attachment-name Arial.ttf --attachment-description 'The Arial font as a TrueType font' --replace-attachment name:Comic.ttf:Arial.ttf

Deleting the second attached file, whatever it may be:

    $ mkvpropedit movie.mkv --delete-attachment 2

Deleting all attached fonts by MIME type:

    $ mkvpropedit movie.mkv --delete-attachment mime-type:application/x-truetype-font

# 6. Verlaat codes

mkvpropedit(1) verlaat met één van drie verlaat codes:

- 0 -- Deze verlaat code betekend dat het modificeren succesvol voltooid is.

- 1 -- In dit geval heeft mkvpropedit(1) minstends één waarschuwing uitgegeven, maar extractie is doorgegaan. Een waarschuwing wordt vooraf bepaald met de tekst 'Warning:'. Afhankelijk van de 'tegengekomen' kwesties kan het resltaat goed of slecht zijn. De gebruiker wordt geadviseerd, om zowel de waarschuwing als de resulterende bestanden te controleren.

- 2 -- Deze afsluit code wordt gebruikt nadat er een fout ontstond. mkvpropedit(1) breekt direct af na het geven van dit waarschuw bericht. Fout berichten, bereik van een verkeerd commandoregel argument over lees/schrijf fouten naar een 'gebroken' bestanden.

# 7. Overslaan van speciale karakter(s) in tekst

Er zijn een paar plaatsen waar speciale karakters zouden of moeten worden overgeslagen. De regels voor het overslaan zijn simpel: elk karakter dat overgeslagen dient te worden wordt vervangen door een backslash "\" gevolgd door een ander karakter.

The rules are: ' ' (a space) becomes '\s', '"' (double quotes) becomes '\2', ':' becomes '\c', '#' becomes '\h' and '\' (a single backslash) itself becomes '\\'.

# 8. Environment variables

mkvpropedit(1) uses the default variables that determine the system's locale (e.g. LANG and the LC_* family). Additional variables:

Option | Description
--- | ---
MKVTOOLNIX_DEBUG and its short form MTX_DEBUG | The content is treated as if it had been passed via the --debug option.
MKVTOOLNIX_ENGAGE and its short form MTX_ENGAGE | The content is treated as if it had been passed via the --engage option.
MKVTOOLNIX_OPTIONS and its short form MTX_OPTIONS | The content is split on white space. The resulting partial strings are treated as if it had been passed as command line options. If you need to pass special characters (e.g. spaces) then you have to escape them (see the section about escaping special characters in text).

# 9. Zie ook

mkvmerge(1), mkvinfo(1), mkvextract(1), mmg(1)

# 10. WWW

De laatste versie kan altijd gevonden worden op de MKVToolNix thuis basis.