Provided by:
mkvtoolnix_5.1.0-1ubuntu1_i386 
REFERENTIENAAM
mkvmerge - Voegt multimedia stromen in een Matroska(TM) bestand in.
BEKNOPTE INHOUDSBESCHRIJVING
mkvmerge [global options] {-o out} [options1] {file1}
[[options2] {file2}] [@optionsfile]
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(TM)[1] website.
Belangrijk
The order of command line options is important. Please read the
section "Option order" if you're new to the program.
Global options
-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
Creeer 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. Geen 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'.
Segment info handling (global options)
--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.
--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 gecreeerd bestand bevat een segment, en elk segment heeft een
UID. Als er meer segment UID's zijn opgegeven dan er zijn
gecreeerd, dan zullen de extra UID's worden genegeerd. Zijn er
minder UID's opgegeven dan er segmenten zijn gecreeerd, dan worden
er willekeurig UID's voor hen aangemaakt.
Chapter and tag handling (global options)
--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:
o %p is vervangen door de huidige ingangen PERFORMER (artiest)
reeks,
o %t is vervangen door de huidige ingangen TITLE (titel) reeks,
o %n wordt vervangen op huidig spoor nummer en
o %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.
General output control (advanced global options)
--track-order FID1:TID1,FID2:TID2,...
Deze optie verandert de volgorde waarin de sporen voor een invoer
bestand worden gereeerd. 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 gecreeerd na diegene die met deze optie zijn gecreeerd.
--cluster-length spec
Limiteert het aantal data blokken of de duur van de data in elke
cluster. De spec parameter kan een 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 creeren 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 creeren aan het eind van
het bestand dat alle clusters bevat. Zie ook de sectie over de
Matroska(TM) 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 een audio spoor
bevatten, zal mkvmerge(1) automatisch de tijd code schaal factor
kiezen, zodat alle tijd codes en duren een precisie hebben van een
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.
File splitting, linking and appending (more global options)
--split specification
Splits het uitvoer bestand na een opgegeven grootte of tijd.
Opmerking, sporen kunnen alleen 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.
Op het moment ondersteunt mkvmerge(1) drie verschillende modes.
1. 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.
2. 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 een 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.
3. 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
gereeerd. Daarna wordt het volgende splits punt gebruikt van de
gebruikte lijst.
Het 'timecodes:' voorvoegsel mag niet wegelaten worden.
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 een 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
=
Normaal kijkt mkvmerge naar bestanden in dezelfde map welke
dezelfde basis naam bevatten maar alleen verschillen van
volgordenummer (b.v. 'VTS_01_1.VOB', 'VTS_01_2.VOB', 'VTS_01_3.VOB'
etc). Deze optie, een enkele '=' maakt dat mkvmerge niet kijkt naar
die extra bestanden.
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
Attachment support (more global options)
--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 officiele
herkende MIME typen kan gevonden worden b.v. op de IANA[2]
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
Creeert 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.
Options that can be used for each input file
-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 overtekst 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 geen
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 gereeerd
voor een opgegeven spoor (zie sectie Spoor ID's). 'none' remt het
creeren van volg document(en) (cue) af. Voor 'iframes' alleen
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 creeren
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 een 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
Forceert de standaard duur van een gegeven spoor naar de gegeven
waarde. Tevens de spoor tijdcode aanpast zodat die overeenkomt met
de standaard duur. Het argument x moet zijn vastgezet met 's',
'ms', 'us', 'ns' of 'fps' om te specificeren de standaard duur in
seconden, milliseconden, microseconden, nanoseconden of
respectievelijk de ''beelden per seconde' (fps). Het aantal x kan
zelf een veranderbaar nummer ziijn of een fractie.
Als de standaard duur niet is geforceerd, dan zal mkvmerge proberen
te achterhalen de standaard spoor duur van de houder en/of de
gebruikte codec. Een geval waarin deze optie in gebruik is, is bij
het toevoegen van AVC/h.264 elementaire stromen, omdat deze geen
informatie bevatten over de standaard aantal beelden per seconde
(fps) of een standaard duur van elk beeld. Voor dergelijke
bestanden neemt mkvmerge(1) aan een standaard duur van '25fps'
tenzij dit overegeld is.
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 alleen 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 alleen
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.
Options that only apply to video tracks
-f, --fourcc TID:FourCC
Forceert de FourCC naar de opgegeven waarde. Werkt alleen 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 een 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 een 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'.
Options that only apply to text subtitle tracks
--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.
Other options
-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 alleen 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.
@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 een
waarde bevatten
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
--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 een
woord, waarvan de aanwezigheid aangeeft welke eigenschapen er
binnenin zijn gecompileerd. Deze mogelijkheden zijn:
o 'BZ2' -- de bzlib(TM) compressie bibliotheek. Heeft effect op
de beschikbare compressie methoden voor de --compression optie.
o 'LZO' -- de lzo(TM) compressie bibliotheek. Heeft effect op de
beschikbare compressie methoden voor de --compression optie.
o '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.
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.
Belangrijk
The order of command line options is important. Please read the
section "Option order" if you're new to the program.
OPTIE VOLGORDE
Voor sommige optie's is de volgorde waarin zij zijn opgegeven
belangrijk. Optie's mislukken in twee categorieen:
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 een enkel invoerbstand beinvloedden 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
beinvloedden 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 en 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 francais.ogg --language 0:deu deutsch.ogg
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 heel
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 geen 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 een 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 heel
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
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(TM)
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:
o AVI bestanden: Het video spoor heeft het ID 0. De audio sporen
krijgen de ID's in oplopende volgorde beginnend bij 1.
o MP4 bestanden: Als uitvoer van x264, het video spoor het ID 1
heeft.
o AAC, AC3, MP3, SRT en WAV bestanden: Het 'spoor' in dat bestand
krijgt het ID 0.
o Ogg/OGM bestanden: De spoor ID's worden toegekend volgens de
volgorde zoals het gevonden is in het bestand startend bij 0.
o Matroska(TM) bestanden: Het spoor ID is het spoornummer zoals
gerapporteerd door mkvinfo(1). Het is niet het spoor UID.
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.
TEKST BESTANDEN EN KARAKTER SET CONVERSIES
Opmerking
Deze sectie is van toepassing op alle programma's in MKVToolNix
zelfs wanneer alleen 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
een 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
een 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:
o --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),
o --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),
o --command-line-charset voor alle ingave's op de commandoregel,
o --output-charset voor alle reeksen geschreven naar het
apparaat/houder of naar een bestand wanneer de uitvoer is omgeleid
met de --redirect-output optie.
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 '\\'.
ONDERTITELINGEN
Er zijn verschillende tekst ondertitel formaten welke kunnen worden
'ingebakken' in Matroska(TM). Op het moment ondersteunt mkvmerge(1)
alleen tekst, VobSub en Kate ondertitel formaten. Tekst ondertitels
moet worden hergecodeerd naar UTF-8 zodat deze juist kunnen worden
getoond door een afspeler (zie de sectie over tekst bestanden en
karakter sets voor een uitleg hoe mkvmerge(1) converteert tussen de
verschillende karakter sets). Kate ondertitels zijn reeds gecodeerd met
UTF-8 en hoeven niet ge-hercodeerd te worden.
De volgende ondertitel formaten worden momenteel ondersteund:
o Ondertitel stripper (SRT) bestand(en)
o Substation Alpha (SSA) / Advanced Substation Alpha scripts (ASS)
o OggKate stromen
o VobSub bitmap ondertitel bestanden
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 een Matroska(TM) segment de volgende uitleg gebruikt de term
'bestand linken' hoewel 'segment linken' meer op zijn plaats zou zijn.
Elk segment word geindentificeerd 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 geen 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 alleen 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 een uitvoer bestand worden gelinkt met twee van de beide SIDs.
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.
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.
HOOFDSTUKKEN
Het Matroska(TM) hoofdstuk systeem is krachtiger dan het oude bekende
systeem vanOGM bestanden. De volledige specificatie kan gevonden worden
op de Matroska(TM)[1] 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.
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 een 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.
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.
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 een 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.
MARKERINGEN
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.
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 een of meerdere sporen, aan een of
meerdere hoofdstukken, of zelfs een combinatie van beide. De
Matroska(TM) specificaties[3] geeft meer informatie over dit feit.
Een 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.
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 creeren, laat weg alle Targets elementen
en start mkvmerge(1) op:
$ mkvmerge -o file.mkv --tags 0:tags.xml file.avi
Markeer bestandsformaat
mkvmerge(1) ondersteunt een XML gebasseerde markeer bestand format. Het
format is rijkelijk gedocumenteerd op de Matroska(TM)[3] 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:
o Het buitenste element moet zijn <Tags>.
o Een logische markering welke binnenin een paar bevindt van <Tag>
XML markeringen.
o Spaties direct voor en na een markering worden genegeerd.
Data typen
Het nieuwe Matroska(TM) markeer systeem kent alleen 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 officiele Matroska(TM) markeer
specificaties. Aangezien in mkvmerge(1) dit systeem niet meer wordt
ondersteund, worden deze typen hier niet beschreven.
MATROSKA(TM) 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:
o 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.
o Bijlage, hoofdstuk en markeer elementen zijn alleen 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 alleen-audio bestanden.
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 creeren of 'gaten' in audio te
laten bevatten. Een beeld in dit geval, is de unit welke mkvmerge(1)
separaat creeert per Matroska(TM) blok. Voor video is dit exact een
beeld, voor audio is dit een 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.
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
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
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' creeren 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
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.
VERLAAT CODES
mkvinfo(1) verlaat met een van de drie afsluit codes:
o 0 -- Deze verlaat code betekend dat het samenvoegen succesvol
voltooid is.
o 1 -- In dit geval heeft mkvmerge(1) tenmiste een 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.
o 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.
ZIE OOK
mkvinfo(1), mkvextract(1), mkvpropedit(1), mmg(1)
WWW
De laatste versie kan altijd gevonden worden op de MKVToolNix[4] thuis
basis.
AUTEUR
Moritz Bunkus <moritz@bunkus.org>
Ontwikkelaar
NOTEN
1. Matroska(TM)
http://www.matroska.org/
2. IANA
http://www.iana.org/assignments/media-types/
3. De Matroska(TM) specificaties
http://matroska.org/technical/specs/index.html
4. MKVToolNix
http://www.bunkus.org/videotools/mkvtoolnix/