mkvextract -- haalt sporen uit Matroska(tm) bestanden en plaatst die in andere bestanden

# 1. Beknopte inhoudsbeschrijving

mkvextract {mode} {source-filename} options extraction-spec

# 2. Beschrijving

This program extracts specific parts from a Matroska(tm) file to other useful formats. The first argument, mode, tells mkvextract(1) what to extract. Currently supported is the extraction of tracks, tags, attachments, chapters, CUE sheets, timecodes and cues. The second argument is the name of the source file. It must be a Matroska(tm) file. All following arguments are options and extraction specifications; both of which depend on the selected mode.

## 2.1. Algemene opties

De volgende opties zijn beschikbaar in alle modes en worden slechts één maal beschreven in deze sectie.

Option | Description
--- | ---
-f, --parse-fully | Stelt de ontleedt mode in op 'volledig'. De standaard waarde ontleedt niet het gehele bestand maar gebruikt het 'meta zoek' element(en) voor het lokaliseren van de vereiste elementen van een bronbestand. In 99% van alle gevallen is dit genoeg. Maar voor bestanden die het 'meta zoek' element niet bevatten of voor bestanden die zijn beschadigd kan deze gebruiker mode erg handig zijn. Een volledige scan kan een aantal minuten in beslag nemen terwijl een 'snelle' scan slechts enkele seconden duren.
--command-line-charset (karakterset) | Plaatst het karakter set om de reeksen om te zetten die vanaf de commandoregel worden opgegeven. Standaard wordt gebruikt het karakter set die afhankelijk is van wat er in uw besturingssysteem staat aangegeven (locatie).
--output-charset (karakterset) | Stelt het karakter set in, waarnaar de reeksen naar de uitvoer dienen te worden geconverteerd. Standaard wordt gebruikt het karakter set die afhankelijk is van wat er in uw besturingssysteem staat aangegeven (locatie).
-r, --redirect-output (bestandsnaam) | Schrijft alle berichten naar een bestand file-name i.p.v. naar de 'apparaat/houder'. Terwijl dit gemakkelijk met uitvoer omleiden kan worden gedaan, er zijn gevallen waarin deze optie nodig is: wanneer de verwerker e.e.a. herinterpreteert, voordat het geschreven wordt naar de uitvoer bestand. Het karakter set met --output-charset is toegewezen.
--ui-language code | Forceert de vertaling voor de te gebruiken taal code (b.v. 'de_DE' voor de Duitse taal). Hoewel het de voorkeur heeft de 'omgevingsvariabelen' te gebruiken LANG, LC_MESSAGES en LC_ALL. Opvragen van een 'list' als een code zal voor zorgen dat mkvextract(1) een lijst zal uitvoeren van alle beschikbare vertalingen.
--title onderwerp | Zet debuggen aan voor een specifieke mogelijkheid. Dit is alleen zinvol voor ontwikkelaars.
--tags feature | Zet experimentele mogelijkheden aan. Een lijst van beschikbare mogelijkheden kan worden opgevraagd met mkvextract --engage list. Deze mogelijkheden zijn niet bedoeld in normale situaties.
--gui-mode | Turns on GUI mode. In this mode specially-formatted lines may be output that can tell a controlling GUI what's happening. These messages follow the format '#GUI#message'. The message may be followed by key/value pairs as in '#GUI#message#key1=value1#key2=value2…'. Neither the messages nor the keys are ever translated and always output in English.
-v, --verbose | Wees uitgebreid en toon alle belangrijke Matroska(tm) elementen zoals ze zijn gelezen.
-h, --help | Toon gebruik informatie en sluit af.
-V, --version | Toon versie informatie en sluit af.
--check-for-updates | Controleert online op nieuwere versies via ophalen op adres http://mkvtoolnix-releases.bunkus.org/latest-release.xml. Vier regels worden uitgevoerd in key=value stijl: het adres van waar de informatie wordt verkregen (key version_check_url), de huidig uitgevoerde versie (key running_version), laatst uitgebrachte versie (key available_version en het ophaal adres (key download_url). Nadien sluit het programma af met een afsluitwaarde van 0 als er geen nieuwere versie beschikbaar is, met een 1 als er een nieuwere beschikbaar is en 2 indien er een fout ontstond (b.v. als de opwaardeer informatie niet verkregen kon worden). Deze optie is alleen beschikbaar indien het gebouwd is met ondersteuning voor libcurl.
@options-file | Leest extra commandoregel argumenten in van een bestand options-file. Regels met een spatie (lege ruimte) als eerste karakter, zijn gemarkeerd als een hash (waarde) ('#') worden behandeld als commentaar en genegeerd. Een spatie aan het begin en einde van een regel worden verwijderd. Elke regel mag exact één waarde bevatten Verschillende karakters kunnen worden overgeslagen, b.v. als het nodig is een niet commentaar regel te starten met '#'. Deze regels worden beschreven in de sectie over: Overslaan van speciale karakter(s) in tekst. De commandoregel 'mkvextract tracks source.mkv --raw 1:destination.raw' kunnen worden geconverteerd naar één van de volgende optie bestanden:
    # Extract a track from source.mkv
    tracks
    source.mkv
    # Output the track as raw data.
    --raw
    1:destination.raw

## 2.2. Spoor uitpak mode

Syntax: mkvextract tracks source-filename [options] TID1:dest-filename1 [TID2:dest-filename2 ...]

De volgende commandoregel opties zijn beschikbaar voor elk spoor in 'tracks' uitpak mode. Zij zullen vooraan moeten worden geplaatst in de spoor specificatie (zie hieronder) Zij zouden toegepast moeten zijn op.

Option | Description
--- | ---
-c character-set | Stelt het karakter set in waarna het volgende ondertitel tekst spoor geconverteerd wordt. Is alleen geldig, wanneer een volgende ondertitel spoor verwijst naar een tekst ondertitel spoor. Standaard naar UTF-8.
--blockadd niveau | Houd alleen de BlockAdditions tot aan dit niveau. Standaard is alle niveaus te houden. Deze optie heeft alleen effect op bepaalde codecs zoals WAVPACK4.
--cuesheet | Zorgt er voor dat mkvextract(1) uitpakt naar een CUE lijst/document/reeks van het hoofdstuk data en markeer data voor de volgende sporen naar een bestand waarvan de naam van het uitvoer spoor heeft waarna '.cue' eraan toegevoegd wordt.
--raw | Pakt de raw dat uit naar een bestand zonder enige inhoud data er omheen. Niet zoals --fullraw dit merkteken markeren, veroorzaakt niet dat de inhoud van CodecPrivate element geschreven wordt naar de bestand. Deze mode werkt met alle CodecIDs, zelfs diegenen die mkvextract(1) niet eens ondersteund, maar het resulterende bestand kan onbruikbaar zijn.
--fullraw | Pakt de raw data uit naar een bestand zonder enige inhoud data er omheen. De inhoud van het CodecPrivate element zal eerst naar het bestand worden geschreven als het spoor een dergelijk hoofd element bevat. Deze mode werkt met alle CodecIDs, zelfs diegene die mkvextract(1) niet eens ondersteund, maar het resulterende bestand kan onbruikbaar zijn.
TID:outname | Extraheert het spoor met het ID TID naar het bestand outname als een dergelijk spoor bestaat in het bronbestand. Deze optie kan meerdere keren geven worden. De spo(o)r(en) ID's zijn hetzelfde als diegene die met mkvmerge(1)'s --identify optie worden verkregen. Elke uitvoernaam zou slechts één maal mogen worden gebruikt. De uitzonderingen zijn RealAudio en RealVideo sporen. Als je dezelfde naam gebruikt voor verschillende sporen dan zullen die sporen in hetzelfde bestand bewaard worden. Voorbeeld:
    $ mkvextract tracks input.mkv 1:output-two-tracks.rm 2:output-two-tracks.rm

## 2.3. Markeringen extraheren mode

Syntax: mkvextract tags source-filename [options]

De geëxtraheerde markeringen zijn geschreven naar de apparaat/houder tenzij de uitvoer is omgeleid (zie de sectie over: Uitvoer omleiden voor details).

## 2.4. Bijlagen extraheren mode

Syntax: mkvextract attachments source-filename [options] AID1:outname1 [AID2:outname2 ...]

Option | Description
--- | ---
AID:outname | Zorgt voor het uitpakken van bijlage met het ID AID naar het bestand outname als een dergelijke bijlage bestaat in het bronbestand. Als de outname wordt leeggelaten dan wordt de naam gebruikt die zich binnenin het Matroska(tm) bronbestand bevindt. Deze optie kan meerdere malen worden gegeven. De ID's van de bijlagen zijn het zelfde als diegene die worden gecreëerd met mkvmerge(1)'s --identify optie.

## 2.5. Hoofdstuk uitpak mode

Syntax: mkvextract chapters source-filename [options]

Option | Description
--- | ---
-s, --simple | Exporteert het hoofdstuk informatie in een simpel tekst formaat gebruikt in de OGM hulpmiddelen (CHAPTER01=..., CHAPTER01NAME=...). In deze mode wordt sommige informatie overgeslagen. Standaard is het hoofdstuk uitvoer naar XML formaat.

De geëxtraheerde hoofdstukken zijn geschreven naar de apparaat/houder tenzij de uitvoer is omgeleid (zie de sectie over: Uitvoer omleiden voor details).

## 2.6. Volg document(en) (cue) extraheren mode

Syntax: mkvextract cuesheet source-filename [options]

De geëxtraheerde volg document(en) (cue) zijn geschreven naar de apparaat/houder tenzij de uitvoer is omgeleid (zie de sectie over: Uitvoer omleiden voor details).

## 2.7. Tijd code extraheren mode

Syntax: mkvextract timecodes_v2 source-filename [options] TID1:dest-filename1 [TID2:dest-filename2 ...]

De geëxtraheerde hoofdstukken zijn geschreven naar de apparaat/houder tenzij de uitvoer is omgeleid (zie de sectie over: Uitvoer omleiden voor details).

Option | Description
--- | ---
TID:outname | Extraheert tijd codes voor het spoor met het ID TID naar het bestand outname als een dergelijk spoor bestaat in het bronbestand. Deze optie kan meerdere keren geven worden. De spo(o)r(en) ID's zijn hetzelfde als diegene die met mkvmerge(1)'s --identify optie worden verkregen. Voorbeeld:
    $ mkvextract timecodes_v2 input.mkv 1:tc-track1.txt 2:tc-track2.txt

## 2.8. Cues extraction mode

Syntax: mkvextract cues source-filename [options] TID1:dest-filename1 [TID2:dest-filename2 ...]

Option | Description
--- | ---
TID:dest-filename | Causes extraction of the cues for the track with the ID TID into the file outname if such a track exists in the source file. This option can be given multiple times. The track IDs are the same as the ones output by mkvmerge(1)'s --identify option and not the numbers contained in the CueTrack element.

The format output is a simple text format: one line per CuePoint element with key=value pairs. If an optional element is not present in a CuePoint (e.g. CueDuration) then a dash will be output as the value.

Voorbeeld:

    timecode=00:00:13.305000000 duration=- cluster_position=757741 relative_position=11

The possible keys are:

Option | Description
--- | ---
timecode | The cue point's timecode with nanosecond precision. The format is HH:MM:SS.nnnnnnnnn. This element is always set.
duration | The cue point's duration with nanosecond precision. The format is HH:MM:SS.nnnnnnnnn.
cluster_position | The absolute position in bytes inside the Matroska(tm) file where the cluster containing the referenced element starts. Note: Inside the Matroska(tm) file the CueClusterPosition is relative to the segment's data start offset. The value output by mkvextract(1)'s cue extraction mode, however, contains that offset already and is an absolute offset from the beginning of the file.
relative_position | The relative position in bytes inside the cluster where the BlockGroup or SimpleBlock element the cue point refers to starts. Note: Inside the Matroska(tm) file the CueRelativePosition is relative to the cluster's data start offset. The value output by mkvextract(1)'s cue extraction mode, however, is relative to the cluster's ID. The absolute position inside the file can be calculated by adding cluster_position and relative_position.

Voorbeeld:

    $ mkvextract cues input.mkv 1:cues-track1.txt 2:cues-track2.txt

# 3. Uitvoer omleiden

Verschillende extractie modes veroorzaken dat mkvextract(1) de geëxtraheerde data wegschrijft naar de apparaat/houder. In algemene zin, zijn er twee manieren om deze data naar een bestand te schrijven: één verzorgd door een 'schil' en één verzorgd door mkvextract(1) zelf.

Het in de schil ingebouwde omleidingsmechanisme wordt gebruikt door het toevoegen '> output-filename.ext' op de commandoregel. Voorbeeld:

    $ mkvextract tags source.mkv > tags.xml

mkvextract(1)'s eigen omleiding wordt aangehaald met --redirect-output option. Voorbeeld:

    $ mkvextract tags source.mkv --redirect-output tags.xml

Note:

Met Windows zal je waarschijnlijk moeten gebruiken --redirect-output optie omdat, cmd.exe soms een speciaal karakter interpreteert nog voordat ze geschreven worden naar een uitvoer bestand met als resultaat een 'gebroken' uitvoer.

# 4. Tekst bestanden en karakter set conversies

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

# 5. Uitvoer bestandsformaten

De beslissing over het uitvoer formaat is gebaseerd op het spoor type, niet op de gebruikte extensie van de uitvoer bestandsnaam. De volgende spoor typen worden momenteel ondersteund:

Option | Description
--- | ---
V_MPEG4/ISO/AVC | H.264 / AVC video sporen worden geschreven naar H.264 elementaire stromen welke verder verwerkt kunnen worden b.v. MP4Box(tm) van het GPAC(tm) pakket.
V_MS/VFW/FOURCC | Vaste FPS video sporen met deze CodecID worden geschreven naar AVI bestanden.
V_REAL/* | RealVideo(tm) sporen worden geschreven naar RealMedia(tm) bestanden.
V_THEORA | Theora(tm) stromen worden geschreven binnen een Ogg(tm) bestand
V_VP8, V_VP9 | VP8 / VP9 tracks are written to IVF files.
A_MPEG/L2 | MPEG-1 Audio Layer II stromen worden uitgpakt naar raw MP2 bestanden.
A_MPEG/L3, A_AC3 | Deze worden uitgepakt naar MP3 en AC3 bestanden.
A_PCM/INT/LIT | Raw PCM data zal naar een WAV bestand geschreven worden.
A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC | Alle AAC bestanden zullen geschreven worden in een AAC bestand met ADTS koppen voor elk pakket. De ADTS koppen bevatten géén verouderd nadrukgebiedsveld.
A_VORBIS | Vorbis audio zal worden geschreven naar een OggVorbis(tm) bestand.
A_REAL/* | RealAudio(tm) sporen worden geschreven naar RealMedia(tm) bestanden.
A_TTA1 | TrueAudio(tm) sporen worden geschreven naar TTA bestanden. Opmerking: door een limitatie in Matroska(tm)'s tijd code precisie zal de geëxtraheerde bestandskop verschillend zijn aangaande deze twee velden: data_length (de totale nummers van voorbeelden in het bestand) en de CRC.
A_ALAC | ALAC worden geschreven naar CAF bestanden.
A_FLAC | FLAC sporen worden geschreven naar raw FLAC bestanden.
A_WAVPACK4 | WavPack(tm) sporen worden geschreven naar WV(tm) bestanden.
A_OPUS | Opus(tm) tracks are written to OggOpus(tm) files.
S_TEXT/UTF8 | Simpele tekst ondertitels worden geschreven in SRT bestanden.
S_TEXT/SSA, S_TEXT/ASS | SSA en ASS tekst ondertitels worden respectievelijk geschreven als SSA/ASS bestanden.
S_KATE | Kate(tm) de stromen zullen binnen een Ogg(tm) bestand worden geschreven.
S_VOBSUB | VobSub(tm) ondetitels worden geschreven als SUB samen met de bijbehorende index bestanden, als IDX bestanden.
S_TEXT/USF | USF tekst ondertitels worden geschreven als USF bestanden.
S_HDMV/PGS | PGS ondertitels worden geschreven als SUP bestanden.
Markeringen | Markeringen worden geconverteerd naar een XML formaat. Dit formaat is hetzelfde dat mkvmerge(1) ondersteund voor het lezen van markeringen.
Bijlagen | Bijlagen worden geschreven naar de uitvoer zoals ze zijn. Geen enkele conversie (welke conversie dan ook) wordt uitgevoerd.
Hoofdstukken | Hoofdstukken worden geconverteerd naar een XML formaat. Dit formaat is hetzelfde welke mkvmerge(1) ondersteund voor het lezen van hoofdstukken. Alternatief is een 'uitgeklede versie' welke uitvoert naar het simpele OGM stijl formaat.
Tijd codes | Tijd codes worden het eerst gesorteerd en daarna geschreven als en tijd code v2 volg baar bestandformaat, klaar om aangevoerd te worden naar mkvmerge(1). Het extraheren naar andere formaten (v1, v3 en v4) zijn niet ondersteund.

# 6. Verlaat codes

mkvextract(1) sluit af met drie afsluit codes:

- 0 -- Deze verlaat code betekend dat de extractie succesvol is voltooid.

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

- 2 -- Deze verlaat code wordt gebruikt nadat een fout is ontstaan. mkvextract(1) breekt direct af na het uitgeven van de waarschuwing. Fout berichten, bereik van verkeerde commandoregel argumenten tot aan lees/schrijf fouten naar gebroken bestanden.

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

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

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

# 8. Omgevingsvariabelen

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

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

# 9. Zie ook

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

# 10. WWW

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