mkvextract -- pakk ut spor fra Matroska(tm) filer til andre filer

# 1. Sammendrag

mkvextract {kildefilnavn} {modus1} alternativer utpakking-spes1 modus2 alternativer utpakking-spes2 …

# 2. Beskrivelse

Dette programmet trekker ut spesifikke deler fra en Matroska(tm) fil til andre nyttige formater. Det første argumentet er navnet på kildefilen som må være en Matroska(tm) fil.

Alle andre argumenter bytter enten til en bestemt utvinningsmodus, endrer alternativer for den aktive modusen eller spesifiserer hva som skal trekkes ut i hvilken fil. Flere moduser kan brukes i samme påkallelse av mkvextract, noe som tillater utvinning av flere ting i en enkel iterasjon. De fleste alternativer kan bare brukes i visse moduser med noen få alternativer som gjelder for alle moduser.

For tiden støttes uttrekking av spor, tagger, vedlegg, kapitler, CUE-ark, tidsstempler og cues.

## 2.1. Vanlige alternativer

Følgende alternativer er tilgjengelige i alle moduser og beskrives bare én gang i denne seksjonen.

Option | Description
--- | ---
-f, --parse-fully | Setter analysemodus til 'full'. Standardmodusen analyserer ikke hele filen, men bruker metasøk-elementene for å finne de nødvendige elementene i en kildefil. I 99% av alle tilfeller er dette nok. Men for filer som ikke inneholder metasøk-elementer eller som er skadet, må brukeren kanskje bruke denne modusen. En full skanning av en fil kan ta et par minutter, mens en rask skanning bare tar sekunder.
--command-line-charset character-set | Angir tegnsettet for å konvertere strenger fra gitt på kommandolinjen. Den er standard til tegnsettet gitt av systemets gjeldende lokalitet.
--output-charset character-set | Angir tegnsettet som strenger konverteres til som skal sendes ut. Den er standard til tegnsettet gitt av systemets gjeldende lokalitet.
-r, --redirect-output filnavn | Skriver alle meldinger til filen filnavn i stedet for til konsollen. Selv om dette kan gjøres enkelt med omdirigering av utdata, er det tilfeller der dette alternativet er nødvendig: når terminalen tolker utdataene på nytt før du skriver den til en fil. Tegnsettet angitt med --output-charset er hedret.
--no-bom | Normally text files that are created & encoded in one of the UTF variants will start with a byte order marker (BOM). Using this option disables writing that byte order marker.
--flush-on-close | Ber programmet tømme alle data som er bufret i minnet til lagring når filer som er åpnet for skriving lukkes. Dette kan brukes til å forhindre tap av data ved strømbrudd eller for å omgå visse problemer i operativsystemet eller driverne. Ulempen er at multipleksing vil ta lengre tid da mkvmerge vil vente til alle data er skrevet til lagringen før den avsluttes. Se saker #2469 og #2480 på MKVToolNix-feilsporeren for dyptgående diskusjoner om fordeler og ulemper.
--ui-language kode | Tvinger oversettelsene for språk- koden som skal brukes (eks. 'de_DE' for tyske oversettelser). Ved å skrive inn 'list' som koden vil føre til at programmet sender ut en liste over tilgjengelige oversettelser.
--abort-on-warnings | Ber programmet om å avbryte etter at den første advarselen er sendt ut. Programmets avslutningskode vil være 1.
--debug emne | Slå på feilsøking for en bestemt funksjon. Dette alternativet er bare nyttig for utviklere.
--engage funksjon | Slå på eksperimentelle funksjoner. En liste over tilgjengelige funksjoner kan bes om med mkvextract --engage list. Disse funksjonene er ikke ment å brukes i normale situasjoner.
--gui-mode | Slår på det grafiske grensesnittet. I denne modusen kan spesialformaterte linjer være utdata som kan fortelle et kontrollerende grafisk grensesnitt hva som skjer. Disse meldingene følger formatet '#GUI#melding'. Meldingen kan etterfølges av nøkkel/verdipar som i '#GUI#melding#nøkkel1=verdi1#nøkkel2=verdi2…'. Verken meldingene eller nøklene blir noen gang oversatt og sendes alltid ut på engelsk.
-v, --verbose | Vær detaljert og vis alle de viktige Matroska(tm) elementene mens de leses.
-h, --help | Vis bruksinformasjon og avslutt.
-V, --version | Vis versjonsinformasjon og avslutt.
@alternativer-fil.json | Leser flere kommandolinjeargumenter fra filen alternativer-fil. Hvis du vil ha en fullstendig forklaring på hvilke formater som støttes for slike filer, kan du se avsnittet "Alternativfiler" i mkvmerge(1) manualside.

## 2.2. Modus for sporuttrekking

Syntaks: mkvextract kildefilnavn spor [alternativer] TID1:målfilnavn1 [TID2:målfilnavn2 ...]

Følgende kommandolinjealternativer er tilgjengelige for hvert spor i modus for uttrekking av ' spor'. De må vises foran sporspesifikasjonen (se nedenfor) de skal anvendes på.

Option | Description
--- | ---
-c tegnsett | Angir tegnsettet som neste tekst-undertekstspor skal konverteres til. Bare gyldig hvis neste spor-ID er rettet mot et tekst-undertekstspor. Den er standard UTF-8.
--blockadd nivå | Hold bare BlockAdditions opp til dette nivået. Standard er å beholde alle nivåer. Dette alternativet påvirker bare visse typer kodeker, for eksempel WAVPACK4.
--cuesheet | Fører mkvextract(1) til å trekke ut et CUE-ark fra kapittelinformasjonen og taggdataene for det følgende sporet til en fil hvis navn er sporets utdatanavn med '.cue' tilføyd til den.
--raw | Trekker ut rådataene til en fil uten conteinerdata rundt den. I motsetning til --fullraw-flagget fører ikke dette flagget til at innholdet i CodecPrivate-elementet skrives til filen. Denne modusen fungerer med alle CodecIDs, selv de som mkvextract(1) ellers ikke støtter, men de resulterende filene kan kanskje ikke brukes.
--fullraw | Trekker ut rådataene i en fil uten conteinerdata rundt den. Innholdet i CodecPrivate-elementet skrives først til filen hvis sporet inneholder et slikt datahodeelement. Denne modusen fungerer med alle CodecIDs, selv de som mkvextract(1) ellers ikke støtter, men de resulterende filene kan kanskje ikke brukes.
TID:utnavn | Forårsaker uttrekking av sporet med ID TID inn i filen outname hvis et slikt spor finnes i kildefilen. Dette alternativet kan gis flere ganger. Spor-ID-ene er de samme som de som sendes ut av mkvmerge(1)s --identify-alternativ. Hvert utdatanavn skal bare brukes én gang. Unntaket er RealAudio- og RealVideo-spor. Hvis du bruker samme navn for forskjellige spor, blir disse sporene lagret i samme fil. Eksempel:
    $ mkvextract inndata.mkv tracks 0:video.h264 2:output-two-vobsub-tracks.idx 3:output-two-vobsub-tracks.idx

## 2.3. Uttrekkingsmodus for vedlegg

Syntaks: mkvextract kildefilnavn vedlegg [alternativer] AID1:utnavn1 [AID2:utnavn2 ...]

Option | Description
--- | ---
AID:utnavn | Forårsaker uttrekking av vedlegget med ID AID inn i filen utnavn hvis et slikt vedlegg finnes i kildefilen. Hvis utnavnet blir stående tomt, brukes navnet på vedlegget inne i kilden Matroska(tm) filen i stedet. Dette alternativet kan gis flere ganger. Vedleggs-ID-ene er de samme som de som sendes ut av mkvmerge(1)s --identify-alternativ.

## 2.4. Uttrekkingsmodus for kapitler

Syntaks: mkvextract kildefilnavn kapitler [alternativer] utdatafilnavn.xml

Option | Description
--- | ---
-s, --simple | Eksporterer kapittelinformasjonen i det enkle formatet som brukes iOGM-verktøyene (CHAPTER01=..., CHAPTER01NAME=...). I denne modusen må noe informasjon forkastes. Standard er å sende kapitlene i XML format.
--simple-language språk | Hvis det enkle formatet er aktivert, vil mkvextract(1) bare sende ut en enkelt oppføring for hvert kapittelatom som oppstår, selv om et kapittelatom inneholder mer enn ett kapittelnavn. Som standard vil mkvextract(1) bruke det første kapittelnavnet som finnes for hvert atom uavhengig av språket. Ved å bruke dette alternativet kan brukeren bestemme hvilke kapittelnavn som sendes ut hvis atomer inneholder mer enn ett kapittelnavn. Språkparameteren må være en ISO 639-1 eller ISO 639-2 kode.

Kapitlene er skrevet til spesifisert utdatafil. Som standard brukes XML-formatet som forstås av mkvmerge(1). Hvis det ikke finnes kapitler i filen, opprettes ikke utdatafilen.

## 2.5. Modus for tagguttrekking

Syntaks: mkvextract kildefilnavn tagger [alternativer] utdatafilnavn.xml

Option | Description
--- | ---
-T, --no-track-tags | Eksporterer bare tagger som ikke er spor-spesifikke.

Taggene skrives til spesifisert utdatafil i XML format forstått av mkvmerge(1). Hvis det ikke finnes noen tagger i filen, opprettes ikke utdatafilen.

## 2.6. Uttrekkingsmodus for Cue-ark

Syntaks: mkvextract kildefilnavn cuesheet [alternativer] utdatafilnavn.cue

Cue-arket er skrevet til spesifisert utdatafil. Hvis det ikke finnes kapitler eller tagger i filen, opprettes ikke utdatafilen.

## 2.7. Modus for uttrekking av tidsstempel

Syntaks: mkvextract kildefilnavn timestamps_v2 [alternativer] TID1:målfilnavn1 [TID2:målfilnavn2 ...]

Option | Description
--- | ---
TID:utnavn | Forårsaker uttrekking av tidsstemplene for sporet med ID TID inn i filen utnavn hvis et slikt spor finnes i kildefilen. Dette alternativet kan gis flere ganger. Spor-ID-ene er de samme som de som sendes ut av mkvmerge(1)s --identify-alternativ. Eksempel:
    $ mkvextract inndata.mkv timestamps_v2 1:ts-spor1.txt 2:ts-spor2.txt

## 2.8. Uttrekkingsmodus for signaler

Syntaks: mkvextract kildefilnavn cues [alternativer] TID1:målfilnavn1 [TID2:målfilnavn2 ...]

Option | Description
--- | ---
TID:målfilnavn | Forårsaker uttrekking av signalene for sporet med ID TID inn i filen utnavn hvis et slikt spor finnes i kildefilen. Dette alternativet kan gis flere ganger. Spor-ID-ene er de samme som de som sendes ut av mkvmerge(1)s --identify-alternativ og ikke tallene i CueTrack-elementet.

Formatutdataene er et enkelt tekstformat: én linje per CuePoint-element med nøkkel=verdi-par. Hvis et valgfritt element ikke finnes i en CuePoint (f.eks. CueDuration), vil en bindestrek sendes ut som verdien.

Eksempel:

    tidsstempel=00:00:13.305000000 varighet=- klynge_posisjon=757741 relativ_posisjon=11

De mulige nøklene er:

Option | Description
--- | ---
tidsstempel | Signalpunktets tidsstempel med nanosekundpresisjon. Formatet er HH:MM:SS.nnnnnnnnn. Dette elementet er alltid satt.
varighet | Signalpunktets varighet med nanosekundpresisjon. Formatet er HH:MM:SS.nnnnnnnnn.
klynge_posisjon | Den absolutte posisjonen i byte inne i Matroska(tm)-filen der klyngen som inneholder det refererte elementet starter. Note: Inne i Matroska(tm) filen er CueClusterPosition i forhold til segmentets data start forskyvning. Verdien som sendes ut av mkvextract(1)s signal-uttrekkingsmodus, inneholder imidlertid den forskyvningen allerede og er en absolutt forskyvning fra begynnelsen av filen.
relativ_posisjon | Den relative posisjonen i byte inne i klyngen der BlockGroup- eller SimpleBlock-elementet som signalpunktet refererer til, starter. Note: Inne i Matroska(tm) filen er CueRelativePosition i forhold til klyngens data start forskyvning. Verdien som sendes ut ved mkvextract(1)s cue-uttrekkingsmodus, er imidlertid relativ til klyngens ID. Den absolutte posisjonen inne i filen kan beregnes ved å legge til cluster_position og relative_position.

Eksempel:

    $ mkvextract inndata.mkv cues 1:cues-spor1.txt 2:cues-spor2.txt

# 3. Eksempler

Trekker ut både kapitler og tagger i sine respektive XML formater samtidig:

    $ mkvextract film.mkv chapters film-kapitler.xml tags film-tagger.xml

Trekker ut et par spor og deres respektive tidsstempler samtidig:

    $ mkvextract "En annen film.mkv" tracks 0:video.h265 "1:main audio.aac" "2:director's comments.aac" timestamps_v2 "0:tidsstempler video.txt" "1:ttidsstempler hovedlyd.txt" "2:tidsstempler regissørens kommentarer.txt"

Trekke ut kapitler i Ogg/OGM-formatet og omkode et tekst-undertekstspor til et annet tegnsett:

    $ mkvextract "Min film.mkv" chapters --simple "Mine kapitler.txt" tracks -c MS-ANSI "2:Mine undertekster.srt"

# 4. Tekstfiler og tegnsettkonverteringer

For en grundig diskusjon om hvordan alle verktøyene i MKVToolNix-pakken håndterer tegnsettkonverteringer, inndata- / utdatakoding, kommandolinjekoding og konsollkoding, se delen med identisk navn i mkvmerge(1) manualsiden.

# 5. Utdatafilformater

Avgjørelsen om utdataformatet er basert på sportypen, ikke på utvidelsen som brukes til utdatafilnavnet. Følgende sportyper støttes for øyeblikket:

Option | Description
--- | ---
A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC | Alle AAC-filer vil bli skrevet inn i en AAC-fil med ADTS-datahoder før hver pakke. ADTS-datahodene inneholder ikke det avviklede uthevingsfeltet.
A_AC3, A_EAC3 | Disse vil bli trekket ut til rå AC-3-filer.
A_ALAC | ALAC-spor skrives til CAF-filer.
A_DTS | Disse vil bli trekket ut til rå DTS-filer.
A_FLAC | FLAC-spor skrives til rå FLAC-filer.
A_MPEG/L2 | MPEG-1 Audio Layer II-strømmer trekkes ut til rå MP2-filer.
A_MPEG/L3 | Disse vil bli trekket ut til rå MP3-filer.
A_OPUS | Opus(tm)-spor skrives til OggOpus(tm)-filer.
A_PCM/INT/LIT, A_PCM/INT/BIG | Rå PCM-data vil bli skrevet til en WAV-fil. Big-endian heltallsdata vil bli konvertert til little-endian data i prosessen.
A_REAL/* | RealAudio(tm)-spor skrives til RealMedia(tm)-filer.
A_TRUEHD, A_MLP | Disse vil ble trekket ut til rå TrueHD-/MLP-filer.
A_TTA1 | TrueAudio(tm)-spor skrives til TTA-filer. Vær oppmerksom på at på grunn av Matroska(tm)s begrensede tidsstempelpresisjon, vil den ekstraherte filens datahode være forskjellig angående to felt: data_length (totalt antall samples i filen) og CRC.
A_VORBIS | Vorbis-lyd vil skrives til en OggVorbis(tm) fil.
A_WAVPACK4 | WavPack(tm)-spor skrives til WV(tm)-filer.
S_HDMV/PGS | PGS-undertekster vil bli skrevet som SUP-filer.
S_HDMV/TEXTST | TextST-undertekster vil bli skrevet som et spesielt filformat oppfunnet for mkvmerge(1) og mkvextract(1).
S_KATE | Kate(tm)-strømmer vil bli skrevet i en Ogg(tm)-konteiner.
S_TEXT/SSA, S_TEXT/ASS, S_SSA, S_ASS | SSAog ASS tekst-undertekster vil bli skrevet som henholdsvis SSA-/ASS-filer.
S_TEXT/UTF8, S_TEXT/ASCII | Enkle tekst-undertekster vil bli skrevet som SRT-filer.
S_VOBSUB | VobSub(tm)-undertekster vil bli skrevet som SUB-filer sammen med de respektive indeksfilene, som IDX-filer.
S_TEXT/USF | USF tekst-undertekster vil bli skrevet som USF-filer.
S_TEXT/WEBVTT | WebVTT tekst-undertekster vil bli skrevet som WebVTT-filer.
V_MPEG1, V_MPEG2 | MPEG-1 og MPEG-2 videospor vil bli skrevet som MPEG- elementære strømmer.
V_MPEG4/ISO/AVC | H.264-/AVC-videospor er skrevet til H.264-elementære strømmer som kan behandles videre med for eksempel MP4Box(tm) fra GPAC(tm)-pakken.
V_MPEG4/ISO/HEVC | H.265-/HEVC-videospor er skrevet til H.265-elementære strømmer som kan behandles videre med for eksempel MP4Box(tm) fra GPAC(tm)-pakken.
V_MS/VFW/FOURCC | Faste FPS-videospor med denne CodecID-en skrives til AVI-filer.
V_REAL/* | RealVideo(tm)-spor skrives til RealMedia(tm)-filer.
V_THEORA | Theora(tm)-strømmer vil bli skrevet i en Ogg(tm)-konteiner.
V_VP8, V_VP9 | VP8-/VP9-spor skrives til IVF-filer.
Tagger | Tagger konverteres til et XML-format. Dette formatet er det samme som mkvmerge(1) støtter for lesing av tagger.
Vedlegg | Vedlegg skrives til utdatafilen som de er. Ingen konvertering overhodet er gjort.
Kapitler | Kapitler konverteres til et XML-format. Dette formatet er det samme som mkvmerge(1) støtter for lesing av kapitler. Alternativt kan en nedstrippet versjon sendes ut i det enkle OGM-stilformatet.
Tidsstempler | Tidsstempler blir først sortert og deretter sendt ut som en tidsstempel v2-format kompatibel fil klar til å bli matet til mkvmerge(1). Utpakking til andre formater (v1, v3 og v4) støttes ikke.

# 6. Avslutningskoder

mkvextract(1) avsluttes med en av tre avslutningskoder:

- 0 -- Denne avslutningskoden betyr at uttrekkingen er fullført.

- 1 -- I dette tilfellet har mkvextract(1) sendt ut minst en advarsel, men uttrekkingen fortsatte. En advarsel er prefikset med teksten 'Advarsel:'. Avhengig av problemene som er involvert, kan de resulterende filene være ok eller ikke. Brukeren oppfordres til å sjekke både advarselen og resultatfilene.

- 2 -- Denne avslutningskoden brukes etter at det oppstod en feil. mkvextract(1) avbryter rett etter at feilmeldingen er sendt ut. Feilmeldinger varierer fra feil kommandolinjeargumenter over lese-/skrivefeil til ødelagte filer.

# 7. Miljøvariabler

mkvextract(1) bruker standardvariablene som bestemmer systemets lokalitet (for eksempel LANG og LC_*-familien). Ytterligere variabler:

Option | Description
--- | ---
MKVINFO_DEBUG, MKVTOOLNIX_DEBUG og dens korte form MTX_DEBUG | Innholdet behandles som om det hadde blitt sendt via --debug alternativet.
MKVEXTRACT_ENGAGE, MKVTOOLNIX_ENGAGE og dens korte form MTX_ENGAGE | Innholdet behandles som om det hadde blitt sendt via --engage alternativet.

# 8. Se også

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

# 9. WWW

Den nyeste versjonen finner du alltid på MKVToolNixs hjemmeside.