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.

Acties die van doen zijn met sporen en segment informatie eigenschappen:

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/kiezers voor een volledige beschrijving van de ingaven.
-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.

Acties die van doen zijn met markeringen en hoofdstukken:

Option | Description
--- | ---
-t, --tags selector:filename | Markeringen toevoegen of vervangen in het bestand met degene van filename of verwijder ze als filename leeg is. mkvpropedit(1) leest dezelfde XML markeer format die mkvmerge(1) ook inleest. De selector moet één van de woorden all, global of track zijn. Voor all zal mkvpropedit(1) alle markeringen vervangen of verwijderen in een bestand. Met global worden alléén globale markeringen vervangen of verwijderd. Met track vervangt mkvpropedit(1) markeringen van een specifiek spoor. Als extra leest het de markeringen van filename en worden toegewezen aan hetzelfde spoor. Het spoor is gespecificeerd op dezelfde manier bewerk selecteurs zijn gespecificeerd (zie hieronder), b.v. --tags track:a1:new-audio-tags.xml.
-c, --chapters filename | Toevoegen of vervangen van hoofdstukken in het bestand met degene van filename of verwijder ze als filename leeg is. mkvpropedit(1) leest dezelfde XML en simpele hoofdstukformaten die mkvmerge(1) ook inleest.

Acties voor afhandelen van bijlagen:

Option | Description
--- | ---
--add-attachment filename | Voegt een nieuwe bijlage van filename. Als de optie --attachment-name is gebruikt voorafgaand tot deze optie, wordt die waarde gebruikt als vervanging van de bijlage naam. Anders wordt het verkregen uit filename. Als de optie --attachment-dmime-type is gebruikt voorafgaand tot deze optie, wordt die waarde gebruikt als vervanging van het MIME type. Anders wordt het automatisch gedetecteerd van de inhoud van filename. Als de optie --attachment-description is gebruikt voorafgaand tot deze optie, wordt die waarde gebruikt als vervanging van de bijlage beschrijving. Anders wordt er géén beschrijving gezet.
--replace-attachment selector:filename | Vervangt één of meer bijlage(n) die overeenkomen met selector met het bestand filename. Indien meer dan één bestand overeenkomt met selector dan wordt al hun inhoud vervangen met de inhoud van filename. De keuze kan vier vormen hebben. Ze worden in de sectie hieronder uitgelegd bijlage keuze. Als de optie --attachment-name is gebruikt voorafgaand tot deze optie, wordt die waarde gebruikt als vervanging van de bijlage naam. Anders wordt de naam niet gewijzigd. Als de optie --attachment-mime-type is gebruikt voorafgaand tot deze optie, wordt die waarde gebruikt als vervanging van de bijlage MIME type. Anders wordt het MIME type niet gewijzigd. Als de optie --attachment-description is gebruikt voorafgaand tot deze optie, wordt die waarde gebruikt als vervanging van de bijlage beschrijving. Anders wordt de beschrijving niet gewijzigd.
--delete-attachment selector | Verwijdert één of meer bijlagen die overeenkomen met selector. De keuze kan vier vormen hebben. Ze worden in de sectie hieronder uitgelegd bijlage keuze.

Opties voor bijlage acties:

Option | Description
--- | ---
--attachment-name name | Stelt de te gebruiken naam in voor het volgende --add-attachment of --replace-attachment uitvoering.
--attachment-mime-type mime-type | Zet de te gebruiken MIME type voor het volgende --add-attachment of --replace-attachment uitvoering.
--attachment-description description | Zet de te gebruiken beschrijving voor het volgende --add-attachment of --replace-attachment uitvoering.

Andere opties:

Option | Description
--- | ---
--command-line-charset (karakterset) | Plaatst het karakter set om de reeksen om te zetten die vanaf de commandoregel worden opgegeven. Standaard wordt gebruikt het karakter set die afhankelijk is van wat er in uw besturingssysteem staat aangegeven (locatie).
--output-charset (karakterset) | Stelt het karakter set in, waarnaar de reeksen naar de uitvoer dienen te worden geconverteerd. Standaard wordt gebruikt het karakter set die afhankelijk is van wat er in uw besturingssysteem staat aangegeven (locatie).
-r, --redirect-output (bestandsnaam) | Schrijft alle berichten naar een bestand file-name i.p.v. naar de '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. herinterpreteert voordat het geschreven wordt naar de uitvoer bestand. Het 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 'omgevingsvariabelen' 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 beschikbare vertalingen.
--title onderwerp | Zet debuggen aan voor een specifieke mogelijkheid. Dit is alleen zinvol voor ontwikkelaars.
--tags feature | Zet experimentele mogelijkheden aan. Een lijst van beschikbare mogelijkheden kan worden opgevraagd met mkvpropedit --engage list. Deze mogelijkheden zijn niet bedoeld in normale situaties.
--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 | 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 versies 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 informatie niet verkregen kon worden). Deze optie is alleen 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 exact éé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 speciale karakter(s) in 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 totdat 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

Het 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 hetzelfde als mkvmerge(1)'s --identify optie uitvoert. Nummering start op 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. Nummering start op 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. Bijlage(n) keuze

Een bijlage keuze word op twee verschillende manieren gebruikt --replace-attachment en --delete-attachment. het kan één van de volgende vier vormen hebben:

1. Selectie op bijlage-id. In deze vorm is de keuze een gewoon getal, de bijlage ID als uitgevoerd door mkvmerge(1) 's identificatie commando.

2. Keuze op bijlage UID (uniek ID). In deze vorm van keuze is het "is (=)" teken = gevolg door een nummer, de bijlage's unieke ID als uitvoer door mkvmerge(1)'s beknopte identificatie commando.

3. Keuze via bestandsnaam. In deze vorm is de keuze het letterlijke woord naam: gevolg door een bestaande bijlage naam. Als deze keuze is geselecteerd met --replace-attachment dan moeten dubbele punten binnen de naam overeen te laten komen worden ingesloten als \c.

4. Selecteren op MIME type. In deze vorm is de keuze het letterlijke woordmime-type: gevolg door een bestaande MIME type bijlage. Indien deze keuze is geselecteerd met --replace-attachment dan om dubbele punten overeen te laten komen binnenin het MIME-type moeten worden overgeslagen als \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: Dat dit voorbeeld kan worden verkort door het weglaten van de eerste --edit optie, 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

Vervangen van markeringen voor het tweede ondertitelspoor in een bestand zou lijken op dit:

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

Verwijderen van alle markeringen vereist het weglaten van de bestandsnaam:

    $ mkvpropedit movie.mkv --tags all:

Hoofdstukken vervangen in een bestand zou lijken op dit:

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

Verwijderen van alle hoofdstukken vereist het weglaten van de bestandsnaam:

    $ mkvpropedit movie.mkv --chapters ''

Toevoegen van een lettertype bestand (Arial.ttf) als een bijlage:

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

Toevoegen lettertype bestand (89719823.ttf) als een bijlage en geeft enige informatie of het werkelijk een Arial letterype is:

    $ mkvpropedit movie.mkv --attachment-name Arial.ttf --attachment-description 'Het Arial lettertype als een TrueType letter' --attachment-mime-type application/x-truetype-font --add-attachment 89719823.ttf

Vervangt een gekoppeld lettertype (Comit.ttf) bestand met een andere (Arial.ttf):

    $ mkvpropedit movie.mkv --attachment-name Arial.ttf --attachment-description 'Het Arial lettertyupe als een TrueType letter' --replace-attachment name:Comic.ttf:Arial.ttf

Verwijderen tweede bijlage bestand wat het ook mag zijn:

    $ mkvpropedit movie.mkv --delete-attachment 2

Verwijderen alle bijlage lettertypen op 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 'Waarschuwing:'. Afhankelijk van de 'tegengekomen' kwesties kan het resultaat 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. Tekst bestanden en karakter set conversies

For an in-depth discussion about how all tools in the MKVToolNix suite handle character set conversions, input/output encoding, command line encoding and console encoding please see the identically-named section in the mkvmerge(1) man page.

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

De regels zijn: ' ' (een spatie) wordt '\s', '"' (dubbele aanhalingstekens) wordt '\2', ':' wordt '\c', '#' wordt '\h' en '\' (een enkele (backslash) zelf wordt '\\'.

# 9. Omgevingsvariabelen

mkvpropedit(1) gebruikt de standaard variabelen vanuit het systeem locatie (b.v. LANG en de LC_* family). Extra variabelen:

Option | Description
--- | ---
MKVPROPEDIT_DEBUG, MKVTOOLNIX_DEBUG and its short form MTX_DEBUG | De inhoud wordt behandeld alsof het via de --debug optie gepasseerd is.
MKVPROPEDIT_ENGAGE, MKVTOOLNIX_ENGAGE and its short form MTX_ENGAGE | De inhoud wordt behandeld alsof het via de --engage optie gepasseerd is.
MKVPROPEDIT_OPTIONS, MKVTOOLNIX_OPTIONS and its short form MTX_OPTIONS | De inhoud wordt gesplitst op een spatie. De gedeeltelijk resulterende reeks wordt behandeld alsof het gedaan is via de commandoregel. Indien het nodig is speciale karakters te gebruiken (b.v. spaties) dan moet je die "insluiten" (zie de sectie over: Overslaan van speciale karakter(s) in tekst).

# 10. Zie ook

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

# 11. WWW

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