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

Dit programma haalt specifieke delen uit Matroska(tm) bestanden naar andere zeer bruikbare formaten. Het eerste argument, mode, vertelt mkvextract(1) wat eruit te halen. Momenteel wordt het uithalen ondersteund van sporen, markeringen, bijlagen, hoofdstukken, volg document(en) (cue) en tijd coderingen. Het tweede argument is de bron bestandsnaam. Het moet zijn een Matroska(tm) bestand. Alle volgende argumenten zijn opties en de 'uit te halen' sepcificaties; Die beiden van de geselecteerde wijze afhangen.

## 2.1. Algemene opties

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

Ingave: 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 de 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 de 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 het bestand. Deze mode werkt met alle CodecIDs, zelfs diegenen die mkvextract(1) niet eens ondersteunt, 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 zo'n hoofd element bevat. Deze mode werkt met alle CodecIDs, zelfs diegene die mkvextract(1) niet eens ondersteunt, 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. Eke uitvoernaam zou slechts éénmaal 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. Markeeringen extraheer mode

Ingave: mkvextract tags source-filename [options]

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

## 2.4. Bijlagen extraheer mode

Ingave: 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

Ingave: mkvextract chapters source-filename [options]

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

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

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

Ingave: mkvextract cuesheet source-filename [options]

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

## 2.7. Tijdcode extraheer mode

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

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

Option | Description
--- | ---
TID:outname | Extraheert tijdcodes 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

# 3. Uitvoer omleiden

Verschillende extractie modes veroorzaken dat mkvextract(1) de geëxtraheerde data wegschrijft naar het 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.

De in het 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. Uitvoer bestandsformaten

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

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.
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 tijdcode precisie zal de geëxtraheerde bestandskop verschillendl zijn aangaande deze twee velden: data_length (de totale nummers van voorbeelden in het bestand) en de CRC.
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.
Markeringen | Markeringen worden geconverteerd naar een XML formaat. Dit formaat is hetzelfde dat mkvmerge(1) ondersteunt 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) ondersteunt voor het lezen van hoofdstukken. Alternatief is een 'uitgekleedde versie' welke uitvoert naar het simpele OGM stijl formaat.
Tijd codes | Tijd codes worden het eerst gesorteerd en daarna gechreven als en tijdcode v2 volgbaar bestandformaat, klaar om aangevoerd te worden naar mkvmerge(1). Het extraheren naar andere formaten (v1, v3 en v4) zijn niet onderstend.

# 5. 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) minstends één waarschuwing uitgegeven, maar extractie is doorgegaan. Een waarschuwing wordt vooraf bepaald met de tekst 'Warning:'. Afhankelijk van de 'tegengekomen' kwesties kan het resltaat goed of slecht zijn. De gebruiker wordt geadviseerd om zowel de waarschuwing als de resulterende bestanden te controleren.

- 2 -- Deze 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.

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

# 7. Environment variables

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

# 8. Zie ook

mkvmerge(1), mkvinfo(1), mkvpropedit(1), mmg(1)

# 9. WWW

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