mkvmerge -- Voegt multimedia stromen in een Matroska(tm) bestand in.

# 1. Beknopte inhoudsbeschrijving

mkvmerge [global options] {-o out} [options1] {file1} [[options2] {file2}] [@optionsfile]

# 2. Beschrijving

Dit programma neemt de invoer van verschillende media bestanden en voegt die stromen samen (allemaal of slechts een stukje) naar een Matroska(tm) bestand; zie de Matroska website.

Important:

The order of command line options is important. Please read the section "Option order" if you're new to the program.

## 2.1. Global options

Option | Description
--- | ---
-v, --verbose | Verhoog 'uitgebreidheid'.
-q, --quiet | Onderdruk status uitvoer.
-o, --output file-name | Schrijf naar het bestand file-name. Indien splitsen aan staat, dan wordt dat iets anders verwerkt. Zie uitleg voor de --split optie voor details.
-w, --webm | Creëer een WebM herkenbaar bestand. mkvmerge zet dit tevens aan wanneer het uitvoerbestandsnaam de extensie "webm" heeft. Deze modus dwingt diverse beperkingen af. De enig toegestane codecs zijn VP8 video en Vorbis audio sporen. Géén van de volgende hoofdstuk markeringen zijn toegstaan. Het DocType kop item is veranderd naar "webm".
--title title | Stelt de algemene naam in voor het uitvoer bestand, b.v. de film naam.
--default-language language-code | Stelt de standaard land code in voor alle sporen tenzij die wordt overschreven met --language optie. De standaard code is 'onb' voor 'onbekend'.

## 2.2. Segment info handling (global options)

Option | Description
--- | ---
--segmentinfo filename.xml | Leest segment informatie in van een XML bestand. Dit bestand kan de segment familie bevatten UID, segment UID, vorige en volgend segment UID elementen. een voorbeeld bestand en een DTD zijn ingesloten in de MKVToolNix distributie. See the section about segment info XML files below for details.
--segment-uid SID1,SID2,... | Stelt het te gebruiken segment UID's in. Dit is een komma gesepareerde lijst van 128bit segment UID's in het gebruikelijke UID formaat: hex nummers met of zonder het "0x" voorzetsel, met of zonder spaties, exact 32 cijfers. Elk gecreëerd bestand bevat één segment, en elk segment heeft één UID. Als er meer segment UID's zijn opgegeven dan er zijn gecreëerd, dan zullen de extra UID's worden genegeerd. Zijn er minder UID's opgegeven dan er segmenten zijn gecreëerd, dan worden er willekeurig UID's voor hen aangemaakt.

## 2.3. Chapter and tag handling (global options)

Option | Description
--- | ---
--chapter-language language-code | Stelt de ISO639-2 land code waarde in welke geschreven wordt voor elk hoofdstuk ingang. Standaard naar 'eng'. Zie de sectie over hoofdstukken hieronder voor details. Deze optie kan gebruikt worden, voor simpele hoofdstukken en voor bronbestanden welke hoofdstukken bevatten maar geen informatie over hoofdstuk talen, b.v. MP4 and OGM bestanden.
--chapter-charset character-set | Stelt de karakter set in, die gebruikt wordt voor de UTF-8 conversie voor simpele hoofdstuk bestanden. Zie de sectie over tekst bestanden en karakter sets voor een uitleg hoe mkvmerge(1) converteert tussen de 'verschillende' karakter sets. Deze schakelaar is ook van toepassing op hoofdstukken die zijn gekopieerd van een bepaalde inhoudstypen, b.v. Ogg/OGM en MP4 bestanden. Zie de sectie over hoofdstukken hieronder voor details.
--cue-chapter-name-format format | mkvmerge(1) ondersteunt lezen van CUE volg document(en) (cue) voor audio bestanden als invoer voor hoofdstukken. CUE volg document(en) (cue) bevatten gewoonlijk informatie over de ARTIEST en TITEL voor elke index ingang. mkvmerge(1) gebruikt deze twee reeksen om de hoofdstuknaam te construeren. Met deze optie kan het formaat dat voor deze naam wordt gebruikt worden geplaatst. Is deze optie niet opgegeven, dan zal mkvmerge(1) het standaard format gebruiken '%p - %t' (de artiest (performer), gevolgd door een spatie, een streep, wederom een spatie en de titel). Is het format opgegeven dan zal alles behalve de volgende meta karakters gekopieerd worden zoals ze zijn, en de meta karakters worden vervangen zoals dit: %p is vervangen door de huidige ingangen PERFORMER (artiest) reeks, %t is vervangen door de huidige ingangen TITLE (titel) reeks, %n wordt vervangen op huidig spoor nummer en %N wordt vervangen op huidig spoor nummer en op/aangevuld met een beginnend/leidende nul als het is < 10 (kleiner dan).
--chapters file-name | Leest hoofdstuk informatie in van een bestand file-name. Zie sectie over hoofdstukken kijk hieronder voor details.
--global-tags file-name | Leest hoofdstuk informatie in van een bestand file-name. Zie sectie over hoofdstukken kijk hieronder voor details.

## 2.4. General output control (advanced global options)

Option | Description
--- | ---
--track-order FID1:TID1,FID2:TID2,... | Deze optie verandert de volgorde waarin de sporen voor een invoer bestand worden gereëerd. Het argument is een komma gescheiden lijst van gepaarde ID's. Elk paar bevat eerst het bestand ID (FID1) wat simpelweg een nummer van het bestand is op de commandoregel beginnend bij 0. Het tweede is een spoor ID (TID1) van dat bestand. Als sommige spoor id's worden weggelaten, dan zullen die sporen worden gecreëerd na diegene die met deze optie zijn gecreëerd.
--cluster-length spec | Limiteert het aantal data blokken of de duur van de data in elke cluster. De spec parameter kan één van beide zijn een nummer n zonder een eenheid of een nummer d vastgezet met 'ms' (miliseconden). Als er geen eenheid is gebruikt dan zal mkvmerge(1) hoogstends zetten n data blokken in elke cluster. Het maximum aantal blokken is 65535. Als het nummer d is vastgezet met 'ms' dan zal mkvmerge(1) hoogstends zetten d milliseconden aan data in elke cluster. Het minimum voor d is '100ms', en het maximum is '32000ms'. mkvmerge(1) plaatst standaard op zijn hoogst 65535 data blokken en 5000ms aan data in een cluster. Programma's die een bepaald beeld proberen te zoeken, kunnen alleen direct naar een cluster zoeken en moeten daarna de gehele cluster lezen. Daarom kan het de oorzaak zijn, dat het maken van grote clusters kan leiden tot onnauwkeurigheid of traag zoeken.
--no-cues | Vertelt mkvmerge(1) geen volg document(en) (cue) te creëren en te schrijven wat vergelijkbaar is met een index in een AVI. Matroska(tm) bestanden kunnen worden afgespeeld zonder volg document(en) (cue), maar dat kan leiden tot onnauwkeurigheid of traag zoeken. Gebruik dit alleen als je echt wanhopig bent qua ruimte of voor test doeleinden. Zie ook de optie volg document(en) (cue) welke opgegeven kan worden voor elk invoer bestand.
--clusters-in-meta-seek | Vertelt mkvmerge(1) een meta element te creëren aan het eind van het bestand dat alle clusters bevat. Zie ook de sectie over de Matroska bestand layout.
--disable-lacing | Zet het aaneenkoppelen uit voor alle sporen. Dit zal de bestandsgrootte verhogen, speciaal wanneer er veel audio sporen zijn. Deze optie is niet bedoeld voor dagelijks gebruik.
--enable-durations | Duur schrijven voor alle blokken. Dit zal de bestandsgrootte verhogen en geeft geen extra waarde aan afspelers van dit moment.
--timecode-scale factor | Forceert de tijdcode schaal factor naar factor. Geldige bereik waardes zijn 1000..10000000 of de speciale waarde -1. Normaal zal mkvmerge(1) een waarde gebruiken van 1000000 wat inhoudt, dat de tijd codes en duren een precisie hebben van 1ms. Voor bestanden die geen video maar minstends één audio spoor bevatten, zal mkvmerge(1) automatisch de tijd code schaal factor kiezen, zodat alle tijd codes en duren een precisie hebben van één audio voorbeeld. Dit veroorzaakt een grotere overhead maar staat een betere zoek en extractie precisie toe. Als de speciale waarde -1 is gebruikt, dan zal mkvmerge(1) een voorbeeld precisie gebruiken zelfs als er een video spoor aanwezig is.

## 2.5. File splitting, linking, appending and concatenation (more global options)

Option | Description
--- | ---
--split specification | Splits het uitvoer bestand na een opgegeven grootte of tijd. Opmerking, sporen kunnen alléén direct voor een sleutel beeld gesplitst worden. Vanwege het bufferen zal mkvmerge(1) als een splitspunt wordt bereikt, direct voor het volgende sleutel beeld gaan splitsen. Daarom kunnen de splitspunten enigzins afwijken van wat de gebruiker op gaf. At the moment mkvmerge(1) supports four different modes. Splitsen op grootte. Syntax: --split [size:]d[k|m|g] Voorbeelden: --split size:700m of --split 150000000 The parameter d may end with 'k', 'm' or 'g' to indicate that the size is in KB, MB or GB respectively. Otherwise a size in bytes is assumed. After the current output file has reached this size limit a new one will be started. De 'size:' mag vanwege de verenigbaarheid (compatibiliteit) weggelaten worden. Splitsen na een duur van. Syntax: --split [duration:]HH:MM:SS.nnnnnnnnn|ds Voorbeeld: --split duration:00:60:00.000 of --split 3600s De parameter moet één van beiden de vormen hebben HH:MM:SS.nnnnnnnnn voor het specificeren van de duur tot in de precisie van een nanoseconde of een nummer d gevolgd door een letter 's' voor de duur in seconden. HH is het aantal uren, MM het aantal minuten, SS het aantal seconden en nnnnnnnnn het aantal nanoseconden. Zowel de uren alsmede de nanoseconden mogen weggelaten worden. Er mogen tot aan negen nummers opgegeven worden na de decimale punt. Nadat de duur van van de huidige inhoud deze limiet bereikt heeft, wordt er een nieuw uitvoer bestand gestart. De 'duration:' mag vanwege de verenigbaarheid (compatibiliteit) weggelaten worden. Splitsen na een specifieke tijdcode. Syntax: --split timecodes:A[,B[,C...]] Voorbeeld: --split timecodes:00:45:00.000,01:20:00.250,6300s De parameters A, B, C etc. moeten allen dezelfde indeling hebben als de duur (zie hierboven). De lijst van tijd codes is komma gesepareerd. Nadat de uitvoer stroom zijn huidige splits tijdcode limiet heeft bereikt wordt er een nieuw bestand gereëerd. Daarna wordt het volgende splits punt gebruikt van de gebruikte lijst. Het 'timecodes:' voorvoegsel mag niet wegelaten worden. Keeping specific parts by specifying timecode ranges while discarding others. Syntax: --split parts:start1-end1[,[+]start2-end2[,[+]start3-end3...]] Examples: --split parts:00:01:20-00:02:45,00:05:50-00:10:30 --split parts:00:01:20-00:02:45,+00:05:50-00:10:30 --split parts:-00:02:45,00:05:50- The parts mode tells mkvmerge(1) to keep certain ranges of timecodes while discarding others. The ranges to keep have to be listed after the parts: keyword and be separated by commas. A range itself consists of a start and an end timecode in the same format the other variations of --split accept (e.g. both 00:01:20 and 80s refer to the same timecode). If a start timecode is left out then it defaults to the previous range's end timecode. If there was no previous range then it defaults to the start of the file (see example 3). If an end timecode is left out then it defaults to the end of the source files which basically tells mkvmerge to keep the rest (see example 3). Normally each range will be written to a new file. This can be changed so that consecutive ranges are written to the same file. For that the user has to prefix the start timecode with a +. This tells mvkmerge not to create a new file and instead append the range to the same file the previous range was written to. Timecodes will be adjusted so that there will be no gap in the output file even if there was a gap in the two ranges in the input file. In example 1 mkvmerge will create two files. The first will contain the content starting from 00:01:20 until 00:02:45. The second file will contain the content starting from 00:05:50 until 00:10:30. In example 2 mkvmerge will create only one file. This file will contain both the content starting from 00:01:20 until 00:02:45 and the content starting from 00:05:50 until 00:10:30. In example 3 mkvmerge will create two files. The first will contain the content from the start of the source files until 00:02:45. The second file will contain the content starting from 00:05:50 until the end of the source files. For this splitting mode the output filename is treated differently than for the normal operation. It may contain a printf like expression '%d' including an optional field width, e.g. '%02d'. If it does then the current file number will be formatted appropriately and inserted at that point in the filename. If there is no such pattern then a pattern of '-%03d' is assumed right before the file's extension: '-o output.mkv' would result in 'output-001.mkv' and so on. If there's no extension then '-%03d' will be appended to the name.
--link | Bestanden linken aan een ander tijdens het splitsen van het uitvoer bestand. Zie de sectie op bestand linken/verbinden onderstaand voor details.
--link-to-previous segment-UID | Verbindt het laatste uitvoerbestand met het segment UID ingegeven door segment-UID parameter. Zie de sectie op bestand linken/verbinden onderstaand voor details.
--link-to-next segment-UID | Verbindt het laatste uitvoerbestand met het segment UID ingegeven door segment-UID parameter. Zie de sectie op bestand linken/verbinden onderstaand voor details.
--append-mode mode | Calculeert hoe tijd codes worden berekend wanneer die worden toevoegd aan een bestand. De parameter mode kan twee waardes bevatten: 'file' welke ook standaard is en 'track'. Wanneer mkvmerge een spoor toevoegt (genoemd 'track2_1' vanaf nu) van een tweede bestand (genoemd 'file2') naar een spoor (genoemd 'track1_1') van het eerste bestand (genoemd 'file1') dan moet het alle tijd codes compenseren voor 'track2_1' met een bepaalde hoeveelheid. Voor 'file' mode is deze hoeveelheid de hoogste tegengekomen tijd code in 'file1'. zelfs wanneer die tijd code van een ander spoor is dan 'track1_1'. In spoor mode de is compensatie de hoogste tijd code van 'track1_1'. Helaas kan mkvmerge niet detecteren welke mode betrouwbaar is. Daarom zet het de standaard waarde naar 'file' mode. 'file' mode werkt gewoonlijk beter voor bestanden indien die onafhankelijk van elkaar werden gemaakt; b.v. het toevoegen van AVI of MP4 bestanden. 'track' mode zou beter werken voor bronnen die hoofdzakelijk een deel van één groot bestand zijn, b.v. voor VOB en EVO bestanden. Hoofdstuk sporen worden altijd behandeld alsof 'file' mode actief is en zelfs wanneer 'track' mode actueel is.
--append-to SFID1:STID1:DFID1:DTID1[,...] | Deze optie controleert welk spoor aan welk ander spoor moet worden toegevoegd (bestand wordt dubbel zo groot). Elke specificatie bevat vier ID's: een bestand ID, een spoor ID, een tweede bestand ID en een tweede spoor ID. Het eerste paar, "source file ID" en "source track ID", identificeert het spoor dat moet worden toegevoegd. Het tweede paar, "destination file ID" en "destination track ID", identificeert het spoor waaraan de eerste is toegevoegd. Als deze optie weggelaten wordt dan wordt een standaard indeling gebruikt. Deze standaard indeling voegt elk spoor van het huidige bestand toe aan een spoor van het vorige bestand met hetzelfde spoor ID. Dit staat het makkelijk toevoegen toe indien een film gesplitst is in twee delen en beide bestanden dezelfde aantal sporen en spoor ID's hebben, met het commando mkvmerge -o output.mkv part1.mkv +part2.mkv.
+ | Een enkele '+' veroorzaakt dat het volgende bestand wordt bijgevoegd (bestand wordt dubbel zo groot) i.p.v toegevoegd. De '+' kan worden ingegeven voor elk volgende bestandsnaam. Daarom zijn de volgende twee commando's gelijkwaardig:
    $ mkvmerge -o full.mkv file1.mkv + file2.mkv
    $ mkvmerge -o full.mkv file1.mkv +file2.mkv
= | Normally mkvmerge(1) looks for files in the same directory as an input file that have the same base name and only differ in their running number (e.g. 'VTS_01_1.VOB', 'VTS_01_2.VOB', 'VTS_01_3.VOB' etc) and treats all of those files as if they were concatenated into a single big file. This option, a single '=', causes mkvmerge not to look for those additional files. De '=' kan ook worden ingegeven voor elk volgende bestandsnaam. Daarom zijn de volgende twee commando's gelijkwaardig:
    $ mkvmerge -o full.mkv = file1.mkv
    $ mkvmerge -o full.mkv =file1.mkv

( file1 file2 )

If multiple file names are contained in a pair of parenthesis then those files will be treated as if they were concatenated into a single big file consisting of the content of each of the files one after the other.

This can be used for e.g. VOB files coming from a DVD or MPEG transport streams. It cannot be used if each file contains its own set of headers which is usually the case with stand-alone files like AVI or MP4.

Putting a file name into parenthesis also prevents mkvmerge(1) from looking for additional files with the same base name as described in option =. Therefore these two command lines are equivalent:

    $ mkvmerge -o out.mkv = file.mkv
    $ mkvmerge -o out.mkv '(' file.mkv ')'

Several things should be noted:

1. There must be spaces both after the opening and before the closing parenthesis.

2. Every parameter between parenthesis is interpreted as a file name. Therefore all options applying to this logical file must be listed before the opening parenthesis.

3. Some shells treat parenthesis as special characters. Hence you must escape or quote them as shown in the example above.

## 2.6. Attachment support (more global options)

Option | Description
--- | ---
--attachment-description description | Normale tekst beschrijving van de volgende bijlage. Is van toepassing op het volgende --attach-file of --attach-file-once optie.
--attachment-mime-type MIME type | MIME type van de volgende bijlage. Is van toepassing op de volgende --attach-file of --attach-file-once optie. Een lijst van officiële herkende MIME typen kan gevonden worden b.v. op de IANA thuisbasis. Het MIME type is verplicht voor een bijlage.
--attachment-name name | Stelt de naam in voor deze bijlage welke wordt opgeslagen in het uitvoer bestand. Als deze optie niet is opgegeven dan zal de naam worden afgeleid van de naam van de bijlage zoals gegeven met de --attach-file of de --attach-file-once optie.
--attach-file file-name, --attach-file-once file-name | Creëert een bestandsbijlage binnenin het Matroska(tm) bestand. Het MIME type moet ingesteld zijn voordat deze optie gebruikt kan worden. Het verschil tussen deze twee vormen is, dat tijdens het splitsen van de bestanden vastgemaakt met --attach-file aan alle uitvoerbestanden zijn vastgemaakt terwijl degene vastgemaakt met de --attach-file-once alleen zijn vastgemaakt aan het eerste bestand. Is splitsen niet gebruikt dan doen beide hetzelfde. mkvextract(1) kan worden gebruikt om bestanden uit een Matroska(tm) bestand te halen.

## 2.7. Options that can be used for each input file

Option | Description
--- | ---
-a, --audio-tracks [!]n,m,... | Kopieer de audio sporen n, m etc. De nummers zijn track ID's welke verkregen kunnen worden met de --identify schakelaar. Zij zijn simpelweg niet de spoor nummers (zie sectie spoor ID's). Standaard: Kopieer alle audio sporen. If the IDs are prefixed with ! then the meaning is reversed: copy everything but the IDs listed after the !.
-d, --video-tracks [!]n,m,... | Kopieer de video sporen n, m etc. De nummers zijn track ID's welke kunnen worden verkregen met de --identify schakelaar. Zij zijn simpelweg niet de spoor nummers (sie sectie spoor ID's). Standaard: Kopieer alle video sporen.. If the IDs are prefixed with ! then the meaning is reversed: copy everything but the IDs listed after the !.
-s, --subtitle-tracks [!]n,m,... | Kopieer de ondertitel sporen n, m etc. De nummers zijn track ID's welke kunnen worden verkregen met de --identify schakelaar. Zij zijn simpelweg niet de spoor nummers (zie sectie spoor ID's). Standaard: Kopieer alle ondertitel sporen. If the IDs are prefixed with ! then the meaning is reversed: copy everything but the IDs listed after the !.
-b, --button-tracks [!]n,m,... | Kopieer de knop sporenn, m etc. De nummers zijn track ID's welke kunnen worden verkregen met de --identify schakelaar. Zij zijn simpelweg niet de spoor nummerss (zie sectie spoor ID's). Standaard: Kopieer alle knop sporen. If the IDs are prefixed with ! then the meaning is reversed: copy everything but the IDs listed after the !.
--track-tags [!]n,m,... | Kopieer de markeringen voor sporen n, m etc. De nummers zijn track ID's welke kunnen worden verkregen met de --identify schakelaar (zie sectie spoor ID's). Zij zijn simpelweg niet de spoor nummers. Standaard: Kopieer alle markering sporen. If the IDs are prefixed with ! then the meaning is reversed: copy everything but the IDs listed after the !.
-m, --attachments [!]n[:all|first],m[:all|first],... | Kopieer de bijlagen met de ID's n, m etc, naar allen of alleen het eerste uitvoer bestand. Elk ID kan opgevolgd worden door ':all' (welke standaard is, als geen van twee is opgegeven) of ':first'. Als het splitsen actief is, dan zullen die bijlagen waarvan de ID's zijn gespecificeerd met ':all' worden gekopieerd naar alle resulterende uitvoer bestanden, terwijl de anderen alleen gekopieerd worden naar het eerste uitvoerbestand. Als splitsen niet actief is, dan hebben beide varianten hetzelfde effect . Standaard is, kopieer alle bijlagen naar alle uitvoer bestanden. If the IDs are prefixed with ! then the meaning is reversed: copy everything but the IDs listed after the !.
-A, --no-audio | Kopieer geen enkel audio spoor van dit bestand.
-D, --no-video | Kopieer geen enkel video spoor van dit bestand.
-S, --no-subtitles | Kopieer geen enkel ondertitel spoor van dit bestand.
-B, --no-buttons | Kopieer geen enkel knop spoor van dit bestand.
-T, --no-track-tags | Kopieer geen enkel spoor-specifieke markeringen van dit bestand.
--no-chapters | Kopieer geen hoofdstukken van dit bestand.
-M, --no-attachments | Kopieer geen bijlagen van dit bestand.
--no-global-tags | Kopieer geen globale markeringen van dit bestand.
--chapter-charset character-set | Stelt de karakter set in, die gebruikt wordt voor de conversie naar UTF-8 voor de hoofdstuk informatie die zich bevindt in het bronbestand. Zie de sectie over tekst bestanden en karakter set's voor een uitleg hoe mkvmerge(1) converteert tussen de karakter set's.
--chapter-language language-code | Zet de ISO639-2 taal code, welke wordt geschreven voor elk hoofdstuk ingang. Deze optie kan gebruikt worden, voor bronbestanden welke hoofdstuk informatie bevatten maar géén informatie over de talen, b.v. for MP4 en OGM bestanden.
-y, --sync TID:d[,o[/p]] | Stelt de tijd code's bij van het spoor met het id TID met d ms. De spoor ID's zijn hetzelfde als degene gegeven met --identify (zie sectie spoor ID's). o/p: Stel de tijd code's bij met o/p om lineaire driften te corrigeren. p standaard naar 1 indien weggelaten. Beide o en p kunnen een veranderbaar nummer zijn. Standaard: geen handmatige sync correctie (wat hetzelfde is als d = 0 en o/p = 1.0). Deze optie kan meerdere keren worden gebruikt voor een invoer bestand, is van toepassing op verschillende sporen door het spoor ID elke keer te selecteren.
--cues TID:none|iframes|all | Controle voor welke sporen cue (index) ingangen worden gereëerd voor een opgegeven spoor (zie sectie Spoor ID's). 'none' remt het creëren van volg document(en) (cue) af. Voor 'iframes' alléén blokken zonder voor of achteruit referenties ( = I beelden in video sporen) worden ingevoerd in het 'volg document(en) (cue)'. 'all' zorgt ervoor dat mkvmerge(1) aanmaakt, volg document(en) (cue) voor alle blokken welke het bestand erg groot maakt. Standaard is 'iframes' voor video sporen en 'none' voor alle anderen. Zie ook opties --no-cues welke verwezenlijken het creëren van volg document(en) (cue) ongeacht de --cues gebruikte opties. Deze optie kan meerdere keren worden gebruikt voor een invoer bestand, is van toepassing op verschillende sporen door het spoor ID elke keer te selecteren.
--default-track TID[:bool] | Zet de 'standaard' markering voor een gegeven spoor (zie sectie spoor ID's) als het optionele argument bool niet aanwezig is. Als de gebruiker niet zelf uitdrukkelijk een spoor selecteert, dan zou de afspeler een spoor prefereren dat zijn 'standaard' markering heeft. Alleen één spoor van elk soort (audio, video, ondertitels, knoppen) kunnen deze 'standaard' markering gezet hebben. Indien een gebruiker geen spoor wenst te hebben met een standaard spoor markering gezet, dan moet hij zetten bool naar 0 voor alle sporen. Deze optie kan meerdere keren worden gebruikt voor een invoer bestand, is van toepassing op verschillende sporen door het spoor ID elke keer te selecteren.
--forced-track TID[:bool] | Stelt de 'geforceerde' markering in voor een gegeven spoor (zie sectie spoor ID's) als het optionele argument bool niet aanwezig is. En afspeler moet alle sporen afspelen waarvan deze markering is gezet 1. Deze optie kan meerdere keren worden gebruikt voor een invoer bestand, is van toepassing op verschillende sporen door het spoor ID elke keer te selecteren.
--blockadd TID:level | Houd alleen de BlockAdditions tot aan niveau level voor het opgegeven spoor. Standaard is alle niveau's. Deze optie heeft alleen effect op sommige codecs zoals WAVPACK4.
--track-name TID:name | Stelt het spoor naam in van een gegeven spoor (zie sectie spoor ID's) naar naam.
--language TID:language | Stelt de taal in voor het opgegeven spoor (zie sectie spoor ID's). Beide ISO639-2 taal codes en ISO639-1 land codes zijn toegestaan. De land code wordt automatisch vertaald naar taal code. Alle talen inclusief hun ISO639-2 codes kunnen uitgelijst worden met --list-languages optie. Deze optie kan meerdere keren worden gebruikt voor een invoer bestand, is van toepassing op verschillende sporen door het spoor ID elke keer te selecteren.
-t, --tags TID:file-name | Leest de markeringen in van het spoor met het nummer TID van het bestand file-name. Zie de sectie over markeringen hieronder voor details.
--aac-is-sbr TID[:0|1] | Vertelt mkvmerge(1) dat het spoor met het ID TID een SBR AAC is (ook bekend als HE-AAC of een AAC+). Deze optie is nodig als a) een bron bestand een AAC bestand is (niet voor een Matroska(tm) bestand) en b) het AAC bestand bevat SBR AAC data. De reden voor deze schakelaar is, dat het normaal technisch niet mogelijk is, automatisch te vertellen dat AAC data van SBR AAC data zonder deze volledig te decoderen van eenAAC beeld. Aangezien er verscheidene octrooi/patent kwesties zijn met AAC decoders zal mkvmerge(1) nooit dit decodeer stadium bevatten. Dus voor SBR AAC bestanden is deze schakelaar een vereiste. Het resulterende bestand zou niet correct afgespeeld kunnen worden of zelfs helemaal niet, wanneer deze schakelaar werd weggelaten. Als het bron bestand een Matroska(tm) bestand is, dan zou de CodecID genoeg moeten zijn om deze SBR AAC te detecteren. Hoewel, als de CodecID verkeerd is, dan kan deze schakelaar gebruikt worden om dat te corrigeren. Als mkvmerge verkeerd detecteert dat een AAC bestand een SBR is, dan kan je toevoegen ':0' aan het spoor ID.
--timecodes TID:file-name | Leest de te gebruiken tijd code's in voor een specifiek spoor ID van file-name. Deze krachtige tijd code's heffen de tijd code's die mkvmerge(1) normaal berekend op. Lees de sectie over externe tijd code bestanden.
--default-duration TID:x | Forces the default duration of a given track to the specified value. Also modifies the track's timecodes to match the default duration. The argument x must be postfixed with 's', 'ms', 'us', 'ns', 'fps', 'p' or 'i' to specify the default duration in seconds, milliseconds, microseconds, nanoseconds, 'frames per second', 'progressive frames per second' or 'interlaced frames per second' respectively. The number x itself can be a floating point number or a fraction. If the default duration is not forced then mkvmerge will try to derive the track's default duration from the container and/or the encoded bitstream for certain track types, e.g. AVC/h.264 or MPEG-2. Deze optie kan ook gebruikt worden om de FPS (beelden per seconde) te veranderen van video sporen zonder een extern tijdcode bestand te hoeven gebruiken.
--nalu-size-length TID:n | Forceert de NALU lengte grootte naar n bytes. Deze parameter wordt alleen gebruikt als de AVC/h.264 elementaire stroom inpakker is gebruikt. Indien weggelaten is de standaard waarde 4 bytes, maar er zijn bestanden die beelden of delen bevatten die kleiner zijn dan 65536 bytes. Voor dergelijke bestanden kan je deze parameter gebruiken en de grootte verminderen naar 2.
--compression TID:n | Selecteert de te gebruiken compressie methode in voor het spoor. Opmerking: de afspeler dient deze methode ook te ondersteunen. Geldige waarden zijn 'none', 'zlib', 'lzo'/'lxo1x', 'bz2'/'bzlib' en 'mpeg4_p2'/'mpeg4p2'. De waarden 'lzo'/'lxo1x' en 'bz2'/'bzlib' zijn alléén beschikbaar als mkvmerge(1) is gecompileerd met de ondersteuning voor de liblzo(tm) respectievelijk bzlib(tm) compressie bibliotheken. De compressie methode 'mpeg4_p2'/'mpeg4p2' is een speciale compressie methode genoemd 'header removal' die is alléén beschikbaar voorMPEG4 deel 2 video sporen. Standaard voor sommige ondertitels zijn 'zlib' compressie. Deze compressie wordt door bijna alle afspelers ondersteund zoniet allen. Ondersteuning voor andere compressie methoden anders dan 'none' is niet verzekerd.

## 2.8. Options that only apply to video tracks

Option | Description
--- | ---
-f, --fourcc TID:FourCC | Forceert de FourCC naar de opgegeven waarde. Werkt alléén voor video sporen in de 'MS verenigbare mode'.
--display-dimensions TID:widthxheight | Matroska(tm) bestanden bevatten twee waarden die de scherm eigenschappen instelt waarnaar een afspeler met afspelen naar toe zou moeten schalen: scherm breedte en scherm hoogte. Deze waaren worden ingesteld met deze optie, b.v. '1:640x480'. Een andere manier om de te gebruiken waarden te specificeren is --aspect-ratio of de --aspect-ratio-factor optie (zie hieronder). Deze opties zijn wederzijds - exclusief.
--aspect-ratio TID:ratio|width/height | Matroska(tm) bestanden bevatten twee waarden die de scherm eigenschappen instelt waarnaar een afspeler met afspelen naar toe zou moeten schalen: scherm breedte en scherm hoogte. Met deze optie zal mkvmerge(1) automatisch calculeren de scherm breedte en de scherm hoogte gebaseerd, op de orginele beelden/plaatjes breedte en hoogte en de opgegeven verwachte verhouding met deze optie. De verhouding kan één van beiden zijn een veranderbaar nummer verhouding of als een fractie 'breedte/hoogte', b.v. '16/9'. Een andere manier om de te gebruiken waarden te specificeren is --aspect-ratio-factor of --display-dimensions opties (zie hieronder en hierboven). Deze opties zijn wederzijds - exclusief.
--aspect-ratio-factor TID:factor|n/d | Een andere manier om de verwachtte verhouding te specificeren is een factor. De orginele verwachtte verhouding factor wordt eerst vermeningvuldigd met deze factor en daarna gebruikt als doel verhouding. Een andere manier om de te gebruiken waarden te specificeren is --aspect-ratio of --display-dimensions opties (zie boven). Deze opties zijn wederzijds - exclusief.
--cropping TID:left,top,right,bottom | Stelt de video spoor uitsnij paramters in naar een gegeven waarden.
--stereo-mode TID:n|keyword | Stelt de video mode in voor het video spoor met het spoor ID TID. Deze mode kan zijn een nummer n tussen 0 en 14 of één van de volgende: 'mono', 'side_by_side_left_first', 'top_bottom_right_first', 'top_bottom_left_first', 'checkerboard_right_first', 'checkerboard_left_first', 'row_interleaved_right_first', 'row_interleaved_left_first', 'column_interleaved_right_first', 'column_interleaved_left_first', 'anaglyph_cyan_red', 'side_by_side_right_first', 'anaglyph_green_magenta', 'both_eyes_laced_left_first', 'both_eyes_laced_right_first'.

## 2.9. Options that only apply to text subtitle tracks

Option | Description
--- | ---
--sub-charset TID:character-set | Stelt de karakter set conversie in naar UTF-8 voor UTF-8 ondertitels van een opgegeven spoor ID. Indien niet opgegeven, dan worden de huidig verkregen besturingssysteem lokatie gebruikt. Opmerking: een karakter set voor ondertitels is niet nodig wanneer er gelezen wordt vanuit een Matroska(tm) bestand of van Kate stromen, omdat deze altijd zijn opgeslagen in het UTF-8 format. Zie de sectie over tekst bestanden en karakter sets voor een uitleg hoe mkvmerge(1) converteert tussen de verschillende karakter sets. Deze optie kan meerdere keren worden gebruikt voor een invoer bestand, is van toepassing op verschillende sporen door het spoor ID elke keer te selecteren.

## 2.10. Other options

Option | Description
--- | ---
-i, --identify file-name | Zal mkvmerge(1) (met een sonde) een enkel bestand aftasten en het type rapporteren, de sporen in het bestand en hun spoor ID's. Als deze optie wordt gebruikt dan is de enige andere toegestane optie de bestandsnaam.
-I, --identify-verbose file-name | Zal mkvmerge(1) (met een sonde) een enkel bestand aftasten en het type rapporteren, de sporen in het bestand en hun spoor ID's. Als deze optie wordt gebruikt dan is de enige andere toegestane optie de bestandsnaam. Deze optie maakt dat mkvmerge(1) extra informatie uitvoert over de inhoud en elk spoor. De extra informatie staat tussen haken ( [] ). Het bevat een spatie gescheiden sleutel/waarde paar, waar de sleutel en waarde's zijn gescheiden door een dubbel punt (:). Elke waarde wordt overgeslagen conform de regels beschreven in de sectie over overslaan van speciale karakters in een tekst.
-l, --list-types | Somt invoer bestandstypen op.
--list-languages | Somt alle talen en hun ISO639-2 code's op welke gebruikt kunnen worden met de --language optie.
--priority priority | Stelt de proces prioriteit in waarmee mkvmerge(1) zijn werk doet. Geldige waarden zijn 'lowest', 'lower', 'normal', 'higher' en 'highest'. Is niets ingegeven dan wordt 'normal' gebruikt. Op unix achtige systemen zal mkvmerge(1) gebruiken de nice(2) functie. Daarom kan alléén de 'super' gebruiker die gebruiken 'higher' en 'highest'. Op Windows zijn alle waarden voor iedereen beschikbaar.
--command-line-charset (karakter-set) | Plaatst het karakter dat wordt geplaatst om de reeksen om te zetten die op de commandoregel worden ingeven. Het is standaard aan het karakter van het systeem en afhankelijk van de besturingssysteem lokatie. Deze instellingen zijn van toepassing op argumenten van de volgende opties: --title, --track-name en --attachment-description.
--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). Het heeft de voorkeur de 'omgevings variabelen' te gebruiken LANG, LC_MESSAGES en LC_ALL Hoewel opvragen van een 'list' voor een land code zal er 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 mkvmerge --engage list. These features are not meant to be used in normal situations.
@options-file | Reads additional command line arguments from the file options-file. See the section about option files for further information.
--capabilities | Somt informtie op over optionele mogelijkheden die zijn gecompileerd en sluit af. De eerste uitvoer regel zal de versie informatie zijn. Alle volgende informatie regels bevatten exact één woord, waarvan de aanwezigheid aangeeft welke eigenschapen er binnenin zijn gecompileerd. Deze mogelijkheden zijn: 'BZ2' -- de bzlib(tm) compressie bibliotheek. Heeft effect op de beschikbare compressie methoden voor de --compression optie. 'LZO' -- de lzo(tm) compressie bibliotheek. Heeft effect op de beschikbare compressie methoden voor de --compression optie. 'FLAC' -- lezen raw FLAC bestanden en behandelen van FLAC sporen in andere inhoudsmaten, b.v. Ogg(tm) of Matroska(tm).
-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.

# 3. Gebruik

Voor elk bestand kan de gebruiker selecteren welke sporen mkvmerge(1) zou moeten nemen. Zij zitten allemaal in het bestand gespecificeerd met -o. Een lijst met bekende (en ondersteunde) bron formaten kunnen verkregen worden met de -l optie.

Important:

The order of command line options is important. Please read the section "Option order" if you're new to the program.

# 4. Optie volgorde

Voor sommige optie's is de volgorde waarin zij zijn opgegeven belangrijk. Optie's mislukken in twee categorieën:

1. Opties die het programma beinvloeden en niet verbonden zijn aan enig invoerbestand. Dez omvatten maar zijn niet beperkt tot --command-line-charset, --output of --title. Deze mogen waar dan ook op de commandoregel staan.

2. Opties die één enkel invoerbstand beïnvloedden of spoor in een invoerbestand. Deze optie's zijn allen van toepassing op het invoerbestand op de commandoregel. Alle optie's naar hetzelfde invoerbestand (of naar sporen in hetzelfde invoerbestand) mogen in elke volgorde geschreven worden zolang deze voor het invoerbestandsnaam staan. Voorbeelden die een invoerbestand beïnvloedden zijn --no-chapters of --chapter-charset. Voorbeelden voor een enkel spoor --default-duration of --language.

De optie's worden uitgevoerd van links naar rechts. Indien er een optie meerdere keren is, binnen hetzelfde gebied, dan wordt de laatste gebruikt. Daarom zal de titel gezet worden naar "Iets anders" in het volgende voorbeeld:

    $ mkvmerge -o output.mkv --title 'Dit én Dat' input.avi --title 'Iets anders'

Het volgende voorbeeld toont dat het gebruiken van de optie --language tweemaal OK is, omdat zij andere gebieden gebruiken. Alhoewel zij tot hetzelfde spoor ID behoren maar van verschillende invoer bestanden en daarom verschillende gebieden hebben:

    $ mkvmerge -o output.mkv --language 0:fre français.ogg --language 0:deu deutsch.ogg

# 5. Voorbeelden

Laten we aannemen dat je een bestand genoemd hebt mijn film.avi en het audio spoor in een ander bestand, b.v. 'mijn film.wav'. Dan wil je eerst de audio coderen naar OggVorbis(tm):

    $ oggenc -q4 -omijn film.ogg mijn film.wav

Na een paar minuten kan je het video en audio samenvoegen:

    $ mkvmerge -o mijn film-met-geluid.mkv mijn film.avi mijn film.ogg

Als jouw AVI reeds een audio spoor bevat dan wordt ook die gekopieerd (als mkvmerge(1) dat audio formaat ondersteunt). Om dat te voorkomen doe simpel

    $ mkvmerge -o mijn film-met-geluid.mkv -A mijn film.avi mijn film.ogg

Na een paar minuten van wikken en wegen rip je een ander audio spoor, b.v. de regiseur zijn commentaar of een andere taal naar 'mijn film-voegtoe-geluid.wav'. Codeer het opnieuw en voeg het samen met het andere bestand:

    $ oggenc -q4 -oMyMovie-add-audio.ogg MyMovie-add-audio.wav
    $ mkvmerge -o MM-complete.mkv MyMovie-with-sound.mkv MyMovie-add-audio.ogg

Hetzelfde resultaat kan worden verkregen met

    $ mkvmerge -o MM-complete.mkv -A mijn film.avi mijn film.ogg mijn film-voegtoe-geluid.ogg

Nu mplayer(tm) opstarten en geniet. Als je meerdere audio sporen hebt (of zelfs video sporen) dan kan je aangeven aan mplayer(tm) welk spoor af te spelen met de '-vid' en '-aid' opties. Deze zijn 0 gebaseerd en maken geen onderscheid tussen video en audio.

Indien het nodig is een audio spoor te synchroniseren kan je dat héél makkelijk doen. Achterhaal eerst welk spoor ID het Vorbis spoor bevat

    $ mkvmerge --identify outofsync.ogg

Nu kan je dat ID gebruiken voor de volgende commandoregel:

    $ mkvmerge -o goodsync.mkv -A source.avi -y 12345:200 outofsync.ogg

Dit zou toevoegen 200ms aan stilte aan het begin van het spoor met het ID 12345 genomen van 'outofsync.ogg'.

Sommige films starten correct gesynchroniseerd maar langzaam aan verloopt dat. Voor dit soort films kan je een vertraag factor opgeven die worden toegevoegd aan alle tijd codes -- Er wordt géén data toegvoegd of verwijderd. Dus, als je die factor te klein of te groot maakt dan krijg je een slecht resultaat. Een voorbeeld is, dat een episode die ik heb getranscodeerd met 0.2 seconden uit sync aan het eind van de film, welke 77340 beelden lang was. Bij 29.97fps seconden ongeveer corresponderen met 0.2 seconden. 6 beelden. Dus ik deed

    $ mkvmerge -o goodsync.mkv -y 23456:0,77346/77340 outofsync.mkv

Het resultaat was goed.

De sync opties kunnen ook op de zelfde manier gebruikt worden voor ondertitels.

Voor tekst ondertitels kan je één van beide Windows programma's gebruiken (zoals SubRipper(tm)) of het subrip(tm) pakket te vinden in transcode(1)'s bronnen in de 'contrib/subrip' map. Het algemene proces is:

1. pak een raw ondertiteling uit van de bron:

       $ tccat -i /path/to/copied/dvd/ -T 1 -L | tcextract -x ps1 -t vob -a 0x20 | subtitle2pgm -o mymovie

2. converteer het resultaat PGM beeld/plaatje naar tekst met het 'GOCR' programma:

       $ pgm2txt mymovie

3. spellingscontrole voor de resulterende tekst bestanden:

       $ ispell -d american *txt

4. converteer de tekst bestanden naar een SRT bestand:

       $ srttool -s -w -i mymovie.srtx -o mymovie.srt

Het resultaat bestand kan gebruikt worden als een ander invoerbestand voor mkvmerge(1):

    $ mkvmerge -o mymovie.mkv mymovie.avi mymovie.srt

Als je een taal wilt opgeven voor een gegeven spoor kan dit héél makkelijk gedaan worden. Zoek eerst de ISO639-2 code voor jouw taal. mkvmerge(1) kan alle code's uitlijsten voor je:

    $ mkvmerge --list-languages

Zoek in de lijst naar de taal die je nodig hebt. Laten we aannemen dat je twee audio sporen aan het Matroska(tm) bestand wilt invoegen en je hun taalcodes wilt instellen terwijl hun spoor ID's zijn 2 en 3. Dit kan gedaan worden met

    $ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut without-lang-codes.mkv

Zoals je kunt zien, kan je de --language schakelaar meerdere keren gebruiken.

Misschien zou je het ook fijn vinden dat de afpeler standaard de Nederlandse taal gebruikt. Als je ook nog extra ondertitelingen hebt zoals b.v. Engels, Frans, en je wilt dat de afpeler de Franse als standaard gebruikt. Kan je dit doen met

    $ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut --default-track 3 without-lang-codes.mkv --language 0:eng english.srt --default-track 0 --language 0:fre french.srt

Als je de taal of de standaard spoor markering niet ziet, welke je had opgegeven in mkvinfo(1)'s uitvoer lees dan a.u.b. de sectie over standaard waarden.

Zet de compressie uit voor een invoer bestand

    $ mkvmerge -o no-compression.mkv --compression -1:none MyMovie.avi --compression -1:none mymovie.srt

# 6. Spoor ID's

Sommige opties voor mkvmerge(1) hebben een spoor ID nodig om te specificeren op welk spoor zij zouden moeten worden toegepast. Die spoor ID's worden getoond door de lezers bij het samenvoegen van het huidige invoer bestand, of als mkvmerge(1) is opgeroepen met de --identify optie. Een voorbeeld van een dergelijke uitvoer:

    $ mkvmerge -i v.mkv
    File 'v.mkv': container: Matroska
    Track ID 1: video (V_MS/VFW/FOURCC, DIV3)
    Track ID 2: audio (A_MPEG/L3)

Verwar de spoor ID's niet met welke zijn toegewezen aan spo(o)r(en) in het uitvoer MKV bestand met het spoor ID van het invoerbestand. Alleen het invoerbestand spoor ID's worden gebruikt voor optie's die deze waarde nodig hebben.

Opmerking: Dat elk invoerbestand zijn eigen spoor ID's heeft. Daarom het spoor ID voor bestand 'file1.ext gerapporteerd wordt door 'mkvmerge --identify' verander niets, ongeacht hoeveel invoerbestanden in welke positie dan ook 'file1.ext' wordt gebruikt.

Spoor ID's worden toegewezen zoals dit:

- AVI bestanden: Het video spoor heeft het ID 0. De audio sporen krijgen de ID's in oplopende volgorde beginnend bij 1.

- AAC, AC3, MP3, SRT en WAV bestanden: Het 'spoor' in dat bestand krijgt het ID 0.

- Most other files: The track IDs are assigned in order the tracks are found in the file starting at 0.

Het speciale spoor ID '-1' is de 'joker' en past de bepaalde schakelaar toe op alle sporen die van een invoerbestand worden gelezen.

De opties die de spoor ID's gebruiken zijn degenen die de beschrijvingen bevatten 'TID'. De volgende optie gebruikt het spoor ID ook: --audio-tracks, --video-tracks, --subtitle-tracks, --button-tracks en --track-tags.

# 7. Tekst bestanden en karakter set conversies

Note:

Deze sectie is van toepassing op alle programma's in MKVToolNix zelfs wanneer alléén mkvmerge(1) genoemd wordt.

Alle teksten in Matroska(tm) bestanden zijn gecodeerd in UTF-8. Dit betekend, dat mkvmerge(1) alle de te lezen tekst bestanden moet converteren en evenals elke ingegeven tekst op de commandoregel om elke karakter te zetten naar UTF-8. Teruggekoppeld betekend dit ook, dat mkvmerge(1)'s uitvoer terug geconverterd moet worden naar die karakter set van UTF-8, b.v. als een niet Engelse vertaling is gebruikt met --ui-languages of voor de orginele tekst uit een Matroska(tm) bestand.

mkvmerge(1) doet deze conversie automatisch gebasseerd op de aanwezigheid van een Byte Order Marker (byte volgorde markering) (kort: BOM) of op basis van het huidige besturingssysteem lokatie. Hoe de karakter van de lokatie wordt 'achterhaald' hangt af van het besturingssysteem waarop mkvmerge(1) is opgestart.

Tekst bestanden die starten met BOM (byte volgorde markering) zijn al gecodeerd in de vertegenwoordiging van UTF. mkvmerge(1) ondersteunt één van de volgende vijf modes: UTF-8, UTF-16 Little en Big Endian, UTF-32 Little en Big Endian. Tekst bestanden met een BOM (byte volgorde markering) worden automatisch geconverteerd naar UTF-8. Elke van de parameters die gezet zouden zijn voor een dergelijk bestand (b.v. --sub-charset) worden stilletjes genegeerd.

Op Unix-achtige systemen gebruikt mkvmerge(1) de setlocale(3) besturingssysteem oproep, welke beurtelings de omgevingsvariabelen gebruikt LANG, LC_ALL en LC_CYPE. Het resulterende karakter set is vaak één van de UTF-8 of de ISO-8859-* familie en wordt gebruikt voor alle tekst bestand operaties en voor het coderen van reeksen op de commandoregel voor een uitvoer naar het apparaat/houder.

On Windows there are actually two different character sets that mkvmerge(1) uses due to the way the Windows shell program cmd.exe is implemented. The first character set is determined by a call to the GetACP() system call. This character set is used as the default for text file conversions and for all elements displayed by the GUI programs in the MKVToolNix package.

Another charset may be used if cmd.exe is used. However, reading the command line is done with the GetCommandLineW() function which already returns a Unicode string. Therefore the option --command-line-charset is ignored on Windows. Output to the console is done with the WriteConsoleW() function. Therefore the option --output-charset is only used on Windows if the output is redirected with --redirect-output.

Als de volgende optie aanwezig is dan is het toegestaan de karakter set te specificeren:

- --sub-charset voor tekst ondertitels en tekst ondertitel sporen opgeslagen in de houder formaat waarvan de karakter set niet onomtstotelijk kan worden vastgesteld (b.v. Ogg bestanden),

- --chapter-charset voor tekst hoofdstuk bestanden en voor hoofdstukken en bestand titels opgeslagen in de houder formaat waarvan de karakter set niet onomtstotelijk kan worden vastgesteld (b.v. Ogg bestanden voor hoofdstuk informatie, spoor en bestand titels etc.; MP4 bestanden voor hoofdstuk informatie),

- --command-line-charset voor alle ingave's op de commandoregel,

- --output-charset voor alle reeksen geschreven naar het apparaat/houder of naar een bestand wanneer de uitvoer is omgeleid met de --redirect-output optie.

# 8. Option files

An option file is a file mkvmerge(1) can read additional command line arguments from. This can be used in order to circumvent certain limitations of the shell or the operating system when executing external programs like a limited command line length.

There are several rules regarding option files. Lines whose first non-whitespace character is a hash mark ('#') are treated as comments and ignored. White spaces at the start and end of a line will be stripped. Each line must contain exactly one option.

A line not containing anything is also ignored. An empty argument is represented by the line '#EMPTY#'.

Verschillende karakters kunnen worden overgeslagen, b.v. als het nodig is een niet commentaar regel te starten met '#'. Deze regels worden beschreven in de sectie over overslaan van tekst.

Note that backslashes must always be escaped. Hash marks ('#') must be escaped if they should not start a comment.

De commandoregel 'mkvmerge -o "mijn bestand.mkv" -A "een film.avi" geluid.ogg' kan geconverteerd worden naar het volgende optie bestand:

    # Write to the file "c:\Matroska\my file.mkv" on Windows.
    -o
    c:\\Matroska\\my file.mkv
    # Set the title to '#65'.
    --title
    \h65
    # Only take the video from "a movie.avi".
    -A
    a movie.avi
    sound.ogg

# 9. 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 '\\'.

# 10. Ondertitelingen

There are several text and bitmap subtitle formats that can be embedded into Matroska(tm). Text subtitles must be recoded to UTF-8 so that they can be displayed correctly by a player (see the section about text files and character sets for an explanation how mkvmerge(1) converts between character sets). Kate subtitles are already encoded in UTF-8 and do not have to be re-encoded.

De volgende ondertitel formaten worden momenteel ondersteund:

- Ondertitel stripper (SRT) bestand(en)

- Substation Alpha (SSA) / Advanced Substation Alpha scripts (ASS)

- Universal Subtitle Format (USF) files

- OggKate stromen

- VobSub bitmap ondertitel bestanden

- PGS bitmap subtitle files as found on BluRay discs

# 11. Bestand linken

Matroska(tm) ondersteunt bestand linken welke eenvoudig zegt, dat een specifiek bestand de voorganger of de opvolger van het huidige bestand is. Om precies te zijn, het zijn niet echt de bestanden die gelinkt zijn maar de Matroska(tm) segmenten. En de meeste bestanden bevatten alleen één Matroska(tm) segment de volgende uitleg gebruikt de term 'bestand linken' hoewel 'segment linken' meer op zijn plaats zou zijn.

Elk segment word geïndentificeerd door een uniek 128 bit lang segment UID. Dit UID wordt automatisch gegenereerd door mkvmerge(1). Het linken wordt primair gedaan via het zetten van het segment UID's (kort: SID) van het volgende/vorige bestand naar het segment kop informatie. mkvinfo(1) print deze SID's als het hen vindt.

Als een bestand wordt gesplitst in meerdere kleinere bestanden en linken wordt gebruikt, dan zullen de tijd codes niet opnieuw starten op 0 maar doorgaan op daar waar het vorige bestand eindigde. Op deze manier zal absolute de tijd code behouden blijven, zelfs wanneer het vorige bestand niet aanwezig/beschikbaar is (b.v. bij 'streaming''). Als er géén linken is gebruikt, dan zouden de tijd codes moeten starten op 0 voor elk bestand. Standaard gebruikt mkvmerge(1) bestand linken niet. Als je wilt kan je dit aanzetten met de --link optie. Deze optie is alléén nuttig wanneer ook het splitsen actief is.

Regardless of whether splitting is active or not the user can tell mkvmerge(1) to link the produced files to specific SIDs. This is achieved with the options --link-to-previous and --link-to-next. These options accept a segment SID in the format that mkvinfo(1) outputs: 16 hexadecimal numbers between 0x00 and 0xff prefixed with '0x' each, e.g. '0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93'. Alternatively a shorter form can be used: 16 hexadecimal numbers between 0x00 and 0xff without the '0x' prefixes and without the spaces, e.g. '41da7366d9cfb21eae78ebb45ecab393'.

Als splitsen wordt gebruikt, dan is het eerste bestand gelinkt naar het SID gegeven met --link-to-previous en het laatste bestand is gelinkt naar SID gegeven met --link-to-next. Als splitsen niet is gebruikt, dan zal één uitvoer bestand worden gelinkt met twee van de beide SIDs.

# 12. Standaard waarden

De Matroska(tm) de specificatie verklaart dat sommige elementen een standaard waarde hebben. Gewoonlijk wordt een element niet naar het bestand geschreven als het niet gelijk is aan de standaard waarde, dit om ruimte te besparen. De elementen die gebruiker zou kunnen missen in mkvinfo(1)'s uitvoer, zijn de lanuage (taal) en de defautt track flag (standaard spoor markering) elementen. De standaard waarde voor de language (taal) is English (is Engels) ('eng'), en de standaard waarde voor de standard track flag (standaard spoor markering) is true (waar). Als je daarom gebruikt de --language 0:eng voor een spoor, dan zal deze niet verschijnen in de mkvinfo(1)'s uitvoer.

# 13. Bijlagen

Misschien wilt u ook sommige foto's samen met uw Matroska(tm) bestand houden of je gebruikt SSA ondertitels en je wilt een speciaal TrueType(tm) lettertype(n) gebruiken welke zeldzaam zijn. In deze gevallen kan je deze bestanden vastmaken aan het Matroska(tm) bestand. Zij zullen niet enkel bijgevoegd worden aan het bestand maar er ingevoegd worden. Een afspeler kan deze bestanden tonen (de 'foto' gevallen) of hen gebruiken om de ondertitels te genereren (de 'TrueType(tm) lettertype' gevallen).

Hier is een voorbeeld hoe een foto en een TrueType(tm) lettertype aan het uitvoerbestand kan vast te maken:

    $ mkvmerge -o output.mkv -A video.avi sound.ogg \
      --attachment-description "Me and the band behind the stage in a small get-together" \
      --attachment-mime-type image/jpeg \
      --attach-file me_and_the_band.jpg \
      --attachment-description "The real rare and unbelievably good looking font" \
      --attachment-type application/octet-stream \
      --attach-file really_cool_font.ttf

Als een Matroska(tm) bestandsbijlage bevat en is gebruikt als een invoer bestand dan zal mkvmerge(1) de bijlage kopieeren naar een nieuw bestand. De selectie, welke bijlage wordt gekopieerd en welke niet kan veranderd worden met de opties --attachments en --no-attachments.

# 14. Hoofdstukken

Het Matroska(tm) hoofdstuk systeem is krachtiger dan het oude bekende systeem vanOGM bestanden. De volledige specificatie kan gevonden worden op de Matroska website.

mkvmerge(1) ondersteunt twee soorten van hoofdstuk bestanden als invoer. Het eerste formaat, genoemd 'simpel hoofdstuk format', is hetzelfde format dat het OGM hulpmiddel verwacht. Het tweede format is een XML gebasseerd hoofdstuk format welke alle Matroska(tm)'s hoofdstuk functionaliteiten ondersteunt.

## 14.1. Een eenvoudig hoofdstuk formaat

Dit formaat bestaat uit twee paren van regels die respectievelijk starten met 'CHAPTERxx=' en 'CHAPTERxxNAME='. De eerste bevat de start tijdcode en de tweede bevat de titel. Hier is een voorbeeld:

    CHAPTER01=00:00:00.000
    CHAPTER01NAME=Intro
    CHAPTER02=00:02:30.000
    CHAPTER02NAME=Baby prepares to rock
    CHAPTER03=00:02:42.300
    CHAPTER03NAME=Baby rocks the house

mkvmerge(1) zal elk paar of regels transformeren naar één Matroska(tm) ChapterAtom. Het plaatst geen ChapterTrackNumber Wat inhoudt, dat de hoofdstukken van toepassing zijn aan alle sporen in het bestand.

Aangezien dit een tekst bestand is kan karakter set conversie nog nodig zijn. Zie de sectie over tekst bestanden en karakter sets voor een uitleg hoe mkvmerge(1) converteert tussen karakter sets.

## 14.2. Het XML gebaseerde hoofdstuk formaat

Het XML gebaseerde hoofdstuk formaat lijkt op dit voorbeeld:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE Chapters SYSTEM "matroskachapters.dtd">
    <Chapters>
      <EditionEntry>
        <ChapterAtom>
          <ChapterTimeStart>00:00:30.000</ChapterTimeStart>
          <ChapterTimeEnd>00:01:20.000</ChapterTimeEnd>
          <ChapterDisplay>
            <ChapterString>A short chapter</ChapterString>
            <ChapterLanguage>eng</ChapterLanguage>
          </ChapterDisplay>
          <ChapterAtom>
            <ChapterTimeStart>00:00:46.000</ChapterTimeStart>
            <ChapterTimeEnd>00:01:10.000</ChapterTimeEnd>
            <ChapterDisplay>
              <ChapterString>A part of that short chapter</ChapterString>
              <ChapterLanguage>eng</ChapterLanguage>
            </ChapterDisplay>
          </ChapterAtom>
        </ChapterAtom>
      </EditionEntry>
    </Chapters>

Met dit format zijn drie dingen mogelijk die niet mogelijk zijn met het simpele hoofdstuk format:

1. De tijdmarkering voor het hoofdstuk eind kan ingegeven worden,

2. Hoofdstukken mogen ingekapseld zijn

3. De taal en het land mag ingesteld worden

De mkvtoolnix distributie bevat meerdere voorbeeld bestanden in de doc sub map welke als basis gebruikt kan worden.

The following lists the supported XML tags, their data types and, where appropriate, the valid range for their values:

    Chapters (master)
      EditionEntry (master)
        EditionUID (unsigned integer, valid range: 1 <= value)
        EditionFlagHidden (unsigned integer, valid range: 0 <= value <= 1)
        EditionFlagDefault (unsigned integer, valid range: 0 <= value <= 1)
        EditionFlagOrdered (unsigned integer, valid range: 0 <= value <= 1)
        ChapterAtom (master)
          ChapterAtom (master)
          ChapterUID (unsigned integer, valid range: 1 <= value)
          ChapterTimeStart (unsigned integer)
          ChapterTimeEnd (unsigned integer)
          ChapterFlagHidden (unsigned integer, valid range: 0 <= value <= 1)
          ChapterFlagEnabled (unsigned integer, valid range: 0 <= value <= 1)
          ChapterSegmentUID (binary, valid range: 1 <= length in bytes)
          ChapterSegmentEditionUID (unsigned integer, valid range: 1 <= value)
          ChapterPhysicalEquiv (unsigned integer)
          ChapterTrack (master)
            ChapterTrackNumber (unsigned integer, valid range: 1 <= value)
          ChapterDisplay (master)
            ChapterString (UTF-8 string)
            ChapterLanguage (UTF-8 string)
            ChapterCountry (UTF-8 string)
          ChapterProcess (master)
            ChapterProcessCodecID (unsigned integer)
            ChapterProcessPrivate (binary)
            ChapterProcessCommand (master)
              ChapterProcessTime (unsigned integer)
              ChapterProcessData (binary)

## 14.3. Algemene opmerkingen

Bij het splitsen van bestanden dan zal mkvmerge(1) tevens de hoofdstukken juist bijstellen. Dit betekendt, dat elk bestand slechts de hoofdstukingangen omvat waarop het van toepassing is, en dat de tijd codes worden gecompenseerd om te voldoen aan de nieuwe tijd codes van elk uitvoer bestand.

mkvmerge(1) is in staat hoofdstukken te kopieeren van Matroska(tm) bronbestanden tenzij dit expliciet is uitgezet met de --no-chapters optie. De hoofdstukken van alle bronen (Matroska(tm) bestanden, Ogg bestanden, MP4 bestanden, hoofdstuk tekst bestanden) worden gewoonlijk niet samengevoegd maar eindigen als een separate ChapterEditions. Alleen wanneer de hoofdstukken worden gelezen van verschillende Matroska(tm) of XML bestanden die dezelfde editie UID's delen, zullen hoofdstukken samengevoegd worden tot één ChapterEdition. Als een dergelijke samenvoeging ook in andere situaties gewenst is, dan dient de gebruiker de hoofdstukken eerst te extraheren uit alle bronnen met mkvextract(1), handmatig de XML bestanden aaneenkoppelen en nadien samenvoegen.

# 15. Markeringen

## 15.1. Introductie

Matroska(tm) ondersteunt een uitgebreide set markeringen welke zijn verouderd, een nieuw simpeler systeem welke worden gebruikt in de meeste overige inhoudsformaten: KEY=VALUE. Hoewel, in Matroska(tm) deze markeeringen ook kunnen worden ingekapseld, en beide de KEY en de VALUE zijn elementen van zichzelf. Het voorbeeld bestand example-tags-2.xml toont hoe dit nieuwe systeem te gebruiken.

## 15.2. Gebied van de markeringen

Matroska(tm) markeringen worden niet automatisch toegekend aan het hele bestand. Dat kunnen zij, maar zij kunnen ook op verschillende delen van het bestand van toepassing zijn: aan één of meerdere sporen, aan één of meerdere hoofdstukken, of zelfs een combinatie van beide. De Matroska specificaties geeft meer informatie over dit feit.

Eén belangrijk feit is, dat markeringen gelinkt zijn naar sporen of hoofdstukken met de Targets Matroska(tm) markeer element, en dat de gebruikte UID's voor dit linken niet zijn, de spoor ID's die overal door mkvmerge(1) gebruikt worden. In plaats daarvan, zijn de gebruikte UID's nummers welke mkvmerge(1) automatisch uitrekent (als het spoor genomen is anders dan van een Matroska(tm) bestandsformat) of welke zijn gekopieerd van een bronbestand, als de sporen bronbestand een Matroska(tm) bestand is. Daarom is het moeilijk te bepalen, welke UID's te gebruiken in het markeer bestand voordat het bestand wordt overgedragen naar mkvmerge(1).

mkvmerge(1) kent twee opties waarmee je markeringen kunt toevoegen aan Matroska(tm) bestanden: De --global-tags en de --tags opties. Het verschil is dat de vroegere optie, --global-tags, de markeringen zal maken die op het volledige bestand van toepassing zijn, door te verwijderen (welke dan ook) Targets elementen hierboven genoemd. De laatstgenoemde optie, --tags, voegt automatisch het UID die mkvmerge(1) genereert voor de markering gespecificeerd met het TID deel van de--tags opties.

## 15.3. Voorbeeld

Laten we aannemen, dat je een markering wiilt toevoegen aan een video spoor gelezen van een AVI. mkvmerge --identify file.avi vertelt je, dat het video spoor ID (verwar dit ID niet met het UID!) 0 is. Zodat het jouw markeer bestand kan creëren, laat weg alle Targets elementen en start mkvmerge(1) op:

    $ mkvmerge -o file.mkv --tags 0:tags.xml file.avi

## 15.4. Markeer bestandsformaat

mkvmerge(1) ondersteunt een XML gebasseerde markeer bestand format. Het format is rijkelijk gedocumenteerd op de Matroska specificaties. Beide, zowel het binaire alsmede de bron distributies van MKVToolNix komen met een voorbeeld bestand genaamd example-tags-2.xml welke simpelweg alle bekende markeringen opsomt en welke kunnen worden gebrukt als basis voor 'echte leven' markeer bestanden.

De basis is:

- Het buitenste element moet zijn <Tags>.

- Eén logische markering welke binnenin één paar bevindt van <Tag> XML markeringen.

- Spaties direct voor en na een markering worden genegeerd.

## 15.5. Data typen

Het nieuwe Matroska(tm) markeer systeem kent alléén twee data typen, een UTF-8 reeks en een binair type. De eerste wordt gebruikt voor markeer namen en het <String> element terwijl het binaire type gebruikt word voor het <Binary> element.

Aangezien binaire gegevens zelf niet zouden passen in een XML bestand, ondersteunt mkvmerge(1) twee andere methoden om binaire data op te slaan. Als de inhoud van een XML markering start met '@' dan wordt de volgende tekst behandeld als een bestandsnaam. De corresponderende bestandsinhoud wordt gekopieerd in een Matroska(tm) element.

Anders zou de gegeven data moeten zijn een gecodeerde Base64. Dit is een codering die binaire data codeert naar een gelimiteerde set van ASCII karakters en wordt gebruikt in b.v. email programma's. mkvextract(1) zal uitvoeren Base64 gecodeerde data voor binaire elementen.

Het verouderde markeer systeem kent een paar meer data typen welke gevonden kunnen worden in de officiële Matroska(tm) markeer specificaties. Aangezien in mkvmerge(1) dit systeem niet meer wordt ondersteund, worden deze typen hier niet beschreven.

## 15.6. Known tags for the XML file format

The following lists the supported XML tags, their data types and, where appropriate, the valid range for their values:

    Tags (master)
      Tag (master)
        Targets (master)
          TargetTypeValue (unsigned integer)
          TargetType (UTF-8 string)
          TrackUID (unsigned integer)
          EditionUID (unsigned integer)
          ChapterUID (unsigned integer)
          AttachmentUID (unsigned integer)
        Simple (master)
          Simple (master)
          Name (UTF-8 string)
          TagLanguage (UTF-8 string)
          DefaultLanguage (unsigned integer)
          String (UTF-8 string)
          Binary (binary)

# 16. The segment info XML files

With a segment info XML file it is possible to set certain values in the "segment information" header field of a Matroska file. All of these values cannot be set via other command line options.

Other "segment information" header fields can be set via command line options but not via the XML file. This includes e.g. the --title and the --timecode-scale options.

There are other elements that can be set neither via command line options nor via the XML files. These include the following elements: DateUTC (also known as the "muxing date"), MuxingApp, WritingApp and Duration. They're always set by mkvmerge(1) itself.

The following lists the supported XML tags, their data types and, where appropriate, the valid range for their values:

    Info (master)
      SegmentUID (binary, valid range: length in bytes == 16)
      SegmentFilename (UTF-8 string)
      PreviousSegmentUID (binary, valid range: length in bytes == 16)
      PreviousSegmentFilename (UTF-8 string)
      NextSegmentUID (binary, valid range: length in bytes == 16)
      NextSegmentFilename (UTF-8 string)
      SegmentFamily (binary, valid range: length in bytes == 16)
      ChapterTranslate (master)
        ChapterTranslateEditionUID (unsigned integer)
        ChapterTranslateCodec (unsigned integer)
        ChapterTranslateID (binary)

# 17. Matroska bestand layout

Het Matroska(tm) layout bestand is redelijk flexibel. mkvmerge(1) zal een bestand genereren op een vooraf gedefinieerde manier. Het resultaat zal er zo uitzien:

[EBML head] [segment {meta seek #1} [segment information] [track information] {attachments} {chapters} [cluster 1] {cluster 2} ... {cluster n} {cues} {meta seek #2} {tags}]

De elementen in gekromde haakjes zijn optioneel en afhankelijk van de inhoud en de gebruikte opties. Een paar opmerkingen:

- meta zoek #1 bevat slechts een klein aantal aan niveau 1 elementen, en alleen als deze ook werkelijk bestaan: bijlagen, hoofdstukken, volg document(en) (cue), markeringen, meta zoek #2. Oudere versies van mkvmerge(1) zijn tevens gewend om clusters binnenin het meta zoek element te plaatsen. Daarom was het noodzakelijk ietwat onnauwkeurig te gokken om genoeg ruimte te reserveren. Het faalde vaak. Nu worden alleen clusters opgeslagen in het meta zoek #2, en meta zoek #1 verwijst naar het meta zoek element #2.

- Bijlage, hoofdstuk en markeer elementen zijn alléén aanwezig indien zij waren toegevoegd.

Het kortst mogelijke Matroska bestand zou lijken op dit:

[EBML head] [segment [segment information] [track information] [cluster 1]]

Dit kan het geval zijn voor alléén-audio bestanden.

# 18. Externe tijdcode bestanden

mkvmerge(1) staat de gebruiker toe, de tijd codes voor een specifiek spoor zelf te kiezen. Dit kan worden gebruikt, om bestanden met de variabele video beeld verhouding te creëren of 'gaten' in audio te laten bevatten. Een beeld in dit geval, is de unit welke mkvmerge(1) separaat creëert per Matroska(tm) blok. Voor video is dit exact één beeld, voor audio is dit één pakket van het specifieke audio type b.v. voor AC3 zou dit een pakket moeten zijn inhoudende 1536 voorbeelden.

Tijdcode bestanden die worden gebruikt wanneer de sporen aan elkaar worden toegevoegd, moeten alleen voor het eerste deel in een reeks van sporen worden gespecificeerd. Bijvoorbeeld, als je twee bestanden toevoegt, v1.avi en v2.avi, en je wilt tijd codes gebruiken dan moet je commandoregel lijken op dit:

    $ mkvmerge ... --timecodes 0:my_timecodes.txt v1.avi +v2.avi

Er zijn vier formaten die worden herkend door mkvmerge(1). De eerste regel bevat altijd het versie nummer. Lege regels, regels alleen bevattende spaties en regels beginnend met '#' worden genegeerd.

## 18.1. Tijdcode bestandsformaat v1

Dit format start met de versie regel. De tweede regel verklaart het aantal beelden per seconde. Alle volgende regels bevatten drie nummers gescheiden door een komma: het start beeld (0 is het eerste beeld), het eind beeld en het aantal beelden binnen dit bereik. Het FPS veranderbaar nummer met een punt '.' als het decimale punt. De bereiken kunnen 'gaten' bevatten waarvoor standaard FPS is gebruikt. een voorbeeld:

    # timecode format v1
    assume 27.930
    800,1000,25
    1500,1700,30

## 18.2. Tijdcode formaat v2

In dit format, bevat elke regel een tijdcode voor het corresponderende beeld. Deze tijdcode moet opgeven worden in milli seconden. Het mag een veranderbaar nummer zijn, maar het hoeft niet. Jij moet minstens zo veel tijdcoderegels opgeven als er aan beelden in het spoor zijn. De tijd codes in dit bestand moeten gesorteerd zijn. Voorbeeld voor 25fps:

    # timecode format v2
    0
    40
    80

## 18.3. Tijd code formaat v3

In dit format bevat elke regel een duur in seconden gevolgd door een optioneel aantal beelden per seconde. Beide kunnen een veranderbaar nummer zijn. Als het aantal beelden per seconde niet is opgegeven dan wordt het standaard aantal gebruikt. Voor audio, zou jij de codec zelf de tijd codes moeten laten berekenen. Daarvoor zou je moeten gebruiken 0.0 als het aantal beelden per seconde. Je kunt ook 'gaten' creëren in de stromen door te gebruiken de 'gap' sleutelwoord gevolgd door de duur van het 'gat'. Voorbeeld voor een audio bestand:

    # timecode format v3
    assume 0.0
    25.325
    7.530,38.236
    gap, 10.050
    2.000,38.236

## 18.4. Tijdcode formaat v4

Dit format is identiek aan het v2 format. Het enige verschil is dat de tijd codes niet gesorteerd behoeven te zijn. Dit format zou bijna nooit gebruikt moeten worden.

# 19. Verlaat codes

mkvinfo(1) verlaat met één van de drie afsluit codes:

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

- 1 -- In dit geval heeft mkvmerge(1) tenmiste één waarschuwing uitgevaardigd, maar het samenvoegen ging door. Een waarschuwing gaat vooraf 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. mkvmerge(1) breekt direct af na het geven van dit waarschuw bericht. Fout! bereik in berichten, van een verkeerd commandoregel argument over lees/schrijf fouten naar een 'gebroken' bestanden.

# 20. Environment variables

mkvmerge(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).

# 21. Zie ook

mkvinfo(1), mkvextract(1), mkvpropedit(1), mmg(1)

# 22. WWW

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