MKVEXTRACT(1) Ordres dusuari MKVEXTRACT(1)

mkvextract - Extreu les pistes des de fitxers Matroska(TM) a altres fitxers

mkvextract {nom-fitxer_origen} {mode1} [opcions] [extracció-especificacions1] [mode2] [opcions] [extracció-especificacions2] [...]

Aquest programa extreu parts específiques d'un fitxer Matroska(TM) a altres formats útils. El primer argument és el nom del fitxer d'origen que haurà de ser un fitxer Matroska(TM).

Tots els altres arguments canviaran a un determinat mode d'extracció, canviaran les opcions per al mode actual o s'especificarà extreure a quin fitxer. Es poden usar múltiples modes en la mateixa invocació del «mkvextract», el qual permet l'extracció de múltiples coses en un sol pas. La majoria de les opcions només es poden usar en determinats modes amb algunes opcions que s'apliquen a tots els modes.

Actualment, s'admet l'extracció de pistes, etiquetes, adjunts, capítols, fulls de muntatge CUE, codis de temps i índexs.

Les següents opcions estan disponibles en tots els modes i només es descriuran en aquesta secció.

-f, --parse-fully

Estableix el mode d'anàlisi a «full» (Completa). El mode predeterminat no analitzarà tot el fitxer, ja que empra la meta de cerca dels elements per a localitzar els elements requerits d'un fitxer d'origen. En el 99% dels casos n'hi ha prou. Però per a fitxers que no contenen elements meta de cerca o que estan malmesos, l'usuari hauria d'emprar aquest mode. L'anàlisi completa d'un fitxer pot requerir força temps, mentre que una anàlisi ràpida només porta segons.

--command-line-charset joc_de_caràcters

Estableix el joc de caràcters al qual convertir les cadenes indicades des de la línia d'ordres. De manera predeterminada serà el joc de caràcters donat per la configuració regional actual del sistema.

--output-charset joc_de_caràcters

Estableix el joc de caràcters al qual convertir les cadenes de la sortida. De manera predeterminada serà el joc de caràcters donat per la configuració regional actual del sistema.

-r, --redirect-output nom_fitxer

Escriu tots els missatges al nom_fitxer en lloc de la consola. Si bé això es pot fer fàcilment amb la redirecció de la sortida, hi ha casos en què cal aquesta opció: quan el terminal torna a interpretar la sortida abans d'escriure-la a un fitxer. Es respectarà el joc de caràcters establert amb --output-charset.

--flush-on-close

Li indica al programa que buidi totes les dades emmagatzemades a la memòria cau de l'emmagatzematge en tancar els fitxers oberts per a escriure. Això es pot usar per a evitar la pèrdua de dades en interrupcions d'electricitat o per a evitar certs problemes en el sistema operatiu o els controladors. L'inconvenient és que la multiplexació trigarà més, ja que el «mkvmerge» esperarà fins que totes les dades s'hagin escrit a l'emmagatzematge abans de sortir. Vegeu els problemes número 2469 i 2480 en el seguiment d'errors del MKVToolNix per a un debat en profunditat sobre els pros i els contres.

--ui-language codi

Força l'ús de les traduccions per al codi d'idioma (p. ex., «de_DE» per a les traduccions en alemany). Introduint «list» com a codi, es farà que el programa ofereixi a la sortida una llista de les traduccions disponibles.

--abort-on-warnings

Indica al programa que interrompi després d'emetre el primer avís. El codi de sortida del programa serà 1.

--debug tema

Activa la depuració per a una característica específica. Aquesta opció només és útil per als desenvolupadors.

--engage característica

Activa les característiques experimentals. Es pot sol⋅licitar una llista de les característiques disponibles amb mkvextract --engage list. Aquestes característiques no estan destinades a ser emprades en situacions normals.

--gui-mode

Activa el mode IGU. En aquest mode, les línies surten amb un format especial que pot explicar-vos el que està succeint per tal de controlar la IGU. Aquests missatges segueixen el format «#IGU#missatge». El missatge pot estar seguit per parells clau/valor com «#IGU#missatge#clau1=valor1#clau2=valor2...». Ni els missatges ni les claus seran traduïdes, sempre sortiran en anglès.

-v, --verbose

Serà detallat i mostrarà tots els elements importants del Matroska(TM) a mesura que es llegeixin.

-h, --help

Mostra la informació d'ús i surt.

-V, --version

Mostra la informació sobre la versió i surt.

@fitxer_d_opcions.json

Llegeix els arguments addicionals per a la línia d'ordres des del fitxer fitxer_d_opcions. Per a més informació sobre els formats admesos, vegeu la secció anomenada «Fitxers d'opcions» a la pàgina man del mkvmerge(1).

Mode extracció de la pista

Sintaxi: mkvextract nom-fitxer_origentracks[opcions]TID1:nom-fitxer_destinació1[TID2:nom-fitxer_destinació2 ...]

Hi ha disponibles les següents opcions de línia d'ordres per a cada pista en el mode d'extracció «tracks» (pistes). Hauran d'aparèixer al davant de l'especificació de la pista on s'hagin d'aplicar (vegeu a sota).

-c joc_de_caràcters

Estableix el joc de caràcters per a convertir el text de la següent pista de subtítols. Només serà vàlida si l'objectiu de l'ID es correspon amb una pista de subtítols de text. De manera predeterminada s'empra UTF-8.

--blockadd nivell

Només manté «BlockAdditions» fins aquest nivell. De manera predeterminada ho manté en tots els nivells. Aquesta opció només afectarà certs tipus de còdecs com WAVPACK4.

--cuesheet

Fa que el mkvextract(1) extregui un full de muntatge (CUE sheet) des de la informació dels capítols i les dades de les etiquetes per a la següent pista a dins d'un fitxer el nom del qual serà el nom de sortida de la pista amb un prefix «.cue».

--raw

Extreu les dades en RAW a un fitxer sense contenidor. A diferència de l'etiqueta --fullraw, aquesta etiqueta no causa que el contingut de l'element CodecPrivate s'escrigui al fitxer. Aquest mode funciona amb tots els CodecID, fins i tot amb els que el mkvextract(1) no permet, però els fitxers resultants podrien no ser usables.

--fullraw

Extreu les dades en RAW a un fitxer sense contenidor. El contingut de l'element CodecPrivate s'escriurà en el primer fitxer si la pista conté aquest element a la capçalera. Aquest mode funciona amb tots els CodecID, fins i tot amb els que el mkvextract(1) no permet, però els fitxers resultants podrien no ser usables.

TID:nom_sortida

Causa l'extracció de la pista amb l'ID TID al fitxer nom_sortida, si aquesta pista existeix al fitxer d'origen. Aquesta opció es pot emprar múltiples vegades. Els ID de les pistes són els mateixos que mostra el mkvmerge(1) amb l'opció --identify.

Cada nom de sortida només s'ha d'emprar una vegada. L'única excepció són les pistes RealAudio i RealVideo. Si empreu el mateix nom per a pistes diferents, llavors aquestes seran emmagatzemades en el mateix fitxer. Exemple:

$ mkvextract entrada.mkv tracks 0:video.h264 2:sortida-dues-pistes-vobsub.idx 3:sortida-dues-pistes-vobsub.idx

Mode extracció dels adjunts

Sintaxi: mkvextract nom-fitxer_origenattachments[opcions]AID1:nom_sortida1[AID2:nom_sortida2 ...]

AID:nom_sortida

Causa l'extracció de l'adjunt amb l'ID AID al fitxer nom_sortida, si aquest adjunt existeix al fitxer d'origen. Si es deixa buit el nom_sortida, llavors s'emprarà el nom de l'adjunt al fitxer Matroska(TM) d'origen. Aquesta opció es pot emprar múltiples vegades. Els ID dels adjunts són els mateixos que mostra el mkvmerge(1) amb l'opció --identify.

Mode extracció dels capítols

Sintaxi: mkvextract nom-fitxer_origenchapters[opcions]nom-fitxer_sortida.xml

-s, --simple

Exporta la informació dels capítols en un format senzill, emprat en les eines OGM (CHAPTER01=«...», CHAPTER01NAME=«...»). En aquest mode es descartarà alguna informació. De manera predeterminada, la sortida dels capítols serà en el format XML.

--simple-language idioma

Si el format senzill està habilitat, llavors el mkvextract(1) simplement mostrarà una única entrada per a cada àtom de capítol trobat, fins i tot si un àtom de capítol conté més d'un nom de capítol. De manera predeterminada, el mkvextract(1) emprarà el primer nom de capítol trobat per a cada àtom, independentment del seu idioma.

L'ús d'aquesta opció permet a l'usuari determinar quins són els noms dels capítols de sortida si els àtoms contenen més d'un nom de capítol. El paràmetre language ha de ser un codi ISO 639-1 o ISO 639-2.

Els capítols s'escriuran en un fitxer de sortida especificat. De manera predeterminada, s'utilitzarà el format XML entès pel mkvmerge(1). Si no es troba cap capítol al fitxer, el fitxer de sortida no serà creat.

Mode extracció de les etiquetes

Sintaxi: mkvextract nom-fitxer_origentags[opcions]nom-fitxer_sortida.xml

Les etiquetes s'escriuran en un fitxer de sortida especificat, s'utilitzarà el format XML entès pel mkvmerge(1). Si no es troba cap etiqueta al fitxer, el fitxer de sortida no serà creat.

Mode extracció del full de muntatge

Sintaxi: mkvextract nom-fitxer_origencuesheet[opcions]nom-fitxer_sortida.cue

El full de muntatge s'escriurà en un fitxer de sortida especificat. Si no es troba cap capítol o etiqueta al fitxer, no es crearà el fitxer de sortida.

Mode extracció del codi de temps

Sintaxi: mkvextract nom-fitxer_origencodis_de_temps_v2[opcions]TID1:nom-fitxer_destinació1[TID2:nom-fitxer_destinació2 ...]

TID:nom_sortida

Causa l'extracció dels codis de temps per a la pista amb l'ID TID al fitxer nom_sortida, si aquesta pista existeix al fitxer d'origen. Aquesta opció es pot emprar múltiples vegades. Els ID de les pistes són els mateixos que mostra el mkvmerge(1) amb l'opció --identify.

Exemple:

$ mkvextract entrada.mkv codis_de_temps_v2 1:pista-ts1.txt 2:pista-ts2.txt

Mode extracció dels índexs

Sintaxi: mkvextract nom-fitxer_origencues[opcions]TID1:nom-fitxer_destinació1[TID2:nom-fitxer_destinació2 ...]

TID:nom_fitxer_destinació

Causa l'extracció dels índexs per a la pista amb l'ID TID al fitxer nom_sortida, si aquesta pista existeix al fitxer d'origen. Aquesta opció es pot emprar múltiples vegades. Els ID de les pistes són els mateixos que mostra el mkvmerge(1) amb l'opció --identify i no els números continguts en l'element CueTrack.

El format de la sortida és un senzill format de text: una línia per a cada element CuePoint amb un parell clau=valor. Si un element opcional no és present en un CuePoint (p. ex., CueDuration), llavors es retornarà un guió com a valor.

Exemple:

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

Les claus possibles són:

timestamp

El codi de temps del punt de l'índex amb una precisió de nanosegons. El format és HH:MM:SS.nnnnnnnnn. Aquest element s'establirà sempre.

duration

La durada del punt de l'índex amb una precisió de nanosegons. El format és HH:MM:SS.nnnnnnnnn.

cluster_position

La posició absoluta en bytes dins del fitxer Matroska(TM), on comença el clúster que conté l'element de referència.

Nota
Dins del fitxer Matroska(TM), el CueClusterPosition es refereix a la compensació a l'inici de les dades del segment. El valor de la sortida és donat pel mode d'extracció de l'índex del mkvextract(1), però ja conté aquesta compensació, la qual és absoluta a partir del començament del fitxer.

relative_position

La posició relativa en bytes dins del clúster on l'element BlockGroup o SimpleBlock és el punt de l'índex al qual es refereix al començament.

Nota
Dins del fitxer Matroska(TM), el CueRelativePosition es refereix a la compensació a l'inici de les dades del clúster. El valor de sortida serà donat pel mode d'extracció de l'índex del mkvextract(1), però és relatiu a l'ID del clúster. La posició absoluta dins del fitxer es pot calcular afegint cluster_position i relative_position.

Exemple:

$ mkvextract entrada.mkv cues 1:índexs-pista1.txt 2:índexs-pista2.txt

Extreure alhora els capítols i les etiquetes en els seus respectius formats en XML:

$ mkvextract peli.mkv chapters capítols_peli.xml tags etiquetes_peli.xml

Extreure alhora un parell de pistes i els seus respectius codis de temps:

$ mkvextract "Una altra peli.mkv" tracks 0:video.h265 "1:àudio principal.aac" "2:comentaris del director.aac" codis_de_tempss_v2 "0:codis_de_temps del vídeo.txt" "1:codis_de_temps de l'àudio principal.txt" "2:codis_de_temps per als comentaris del director.txt"

Extreure capítols en el format Ogg/OGM i tornar a codificar una pista amb subtítols de text a un altre joc de caràcters:

$ mkvextract "La meva peli.mkv" chapters --simple "Els meus capítols.txt" tracks -c MS-ANSI "2:Els meus subtítols.srt"

Per a un debat en profunditat sobre com manipula la suite MKVToolNix les conversions entre els jocs de caràcters, codifica l'entrada/sortida, codifica la línia d'ordres i codifica a la consola, si us plau, vegeu la secció anomenada de la mateixa manera a la pàgina man del mkvmerge(1).

La decisió sobre el format de la sortida es basa en el tipus de pista, i no en l'extensió usada en el nom del fitxer de sortida. Per ara, s'admeten els següents tipus de pista:

A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC

Tots els fitxers AAC s'escriuran en un fitxer AAC amb capçaleres ADTS abans de cada paquet. Les capçaleres ADTS no contindran l'obsolet camp d'èmfasi.

A_AC3, A_EAC3

Aquests s'extrauran als fitxers AC-3 en RAW.

A_ALAC

Les pistes ALAC s'escriuran en fitxers CAF.

A_DTS

Aquests s'extrauran als fitxers DTS en RAW.

A_FLAC

Les pistes FLAC s'escriuran en fitxers FLAC en RAW.

A_MPEG/L2

Els fluxos d'àudio MPEG-1 nivell II s'extrauran a fitxers MP2 en RAW.

A_MPEG/L3

Aquests s'extrauran als fitxers MP3 en RAW.

A_OPUS

Les pistes Opus(TM) s'escriuran en fitxers OggOpus(TM).

A_PCM/INT/LIT, A_PCM/INT/BIG

Les dades PCM sense processar s'escriuran en un fitxer WAV. Les dades dels sencers big-endian es convertiran durant el procés en dades little-endian.

A_REAL/*

Les pistes RealAudio(TM) s'escriuran en fitxers RealMedia(TM).

A_TRUEHD, A_MLP

Aquests s'extrauran a fitxers TrueHD/MLP sense processar.

A_TTA1

Les pistes TrueAudio(TM) s'escriuran en fitxers TTA. Si us plau, cal tenir en compte que a causa de la limitada precisió dels codis de temps del Matroska(TM), la capçalera extreta del fitxer serà diferent pel que fa a dos camps: data_length (el nombre total de fluxos en el fitxer) i la CRC.

A_VORBIS

L'àudio Vorbis s'escriurà en un fitxer OggVorbis(TM).

A_WAVPACK4

Les pistes WavPack(TM) s'escriuran en fitxers WV.

S_HDMV/PGS

Els subtítols PGS s'escriuran com a fitxers SUP.

S_HDMV/TEXTST

Els subtítols TextST s'escriuran com un format de fitxer especial inventat per al mkvmerge(1) i mkvextract(1).

S_KATE

Els fluxos Kate(TM) s'escriuran dins d'un contenidor Ogg(TM).

S_TEXT/SSA, S_TEXT/ASS, S_SSA, S_ASS

Els subtítols de text SSA i ASS s'escriuran com a fitxers SSA/ASS respectivament.

S_TEXT/UTF8, S_TEXT/ASCII

Els subtítols de text senzill s'escriuran com a fitxers SRT.

S_VOBSUB

Els subtítols VobSub(TM) s'escriuran com a fitxers SUB juntament amb els fitxers d'índex respectius, com a fitxers IDX.

S_TEXT/USF

Els subtítols de text USF s'escriuran com a fitxers USF.

S_TEXT/WEBVTT

Els subtítols WebVTT s'escriuran com a fitxers WebVTT.

V_MPEG1, V_MPEG2

Les pistes de vídeo MPEG-1 i MPEG-2 s'escriuran com a fluxos elementals MPEG.

V_MPEG4/ISO/AVC

Les pistes de vídeo H.264 / AVC s'escriuran en fluxos elementals H.264 que posteriorment es poden processar, p. ex., amb MP4Box(TM) del paquet GPAC(TM).

V_MPEG4/ISO/HEVC

Les pistes de vídeo H.265 / HEVC s'escriuran a fluxos elementals H.265, els quals es poden processar encara més, p. ex. MP4Box(TM) des del paquet GPAC(TM).

V_MS/VFW/FOURCC

Les pistes de vídeo amb FPS fixos amb aquest CodecID s'escriuran en fitxers AVI.

V_REAL/*

Les pistes RealVideo(TM) s'escriuran en fitxers RealMedia(TM).

V_THEORA

Els fluxos Theora(TM) s'escriuran dins d'un contenidor Ogg(TM).

V_VP8, V_VP9

Les pistes VP8 / VP9 s'escriuran en fitxers IVF.

Etiquetes

Les etiquetes es convertiran al format XML. Aquest és el mateix format que admet el mkvmerge(1) per a llegir-les.

Adjunts

Els adjunts s'escriuran al fitxer de sortida tal com estan. No es realitzarà cap mena de conversió.

Capítols

Els capítols es convertiran al format XML. Aquest és el mateix format que admet el mkvmerge(1) per a llegir-los. Altrament, es pot generar una versió reduïda amb un format senzill a l'estil OGM.

Codis de temps

Els codis de temps primer estan ordenats i després la sortida genera un fitxer compatible amb un format de codis de temps v2 preparat per a ser proporcionat al mkvmerge(1). L'extracció a altres formats (v1, v3 i v4) no és admesa.

El mkvextract(1) sortirà amb un d'aquests tres codis de sortida:

0 -- Aquest codi de sortida significa que l'extracció s'ha realitzat correctament.
1 -- En aquest cas, el mkvextract(1) ha generat una sortida amb almenys un avís, però l'extracció ha continuat. Un avís és prefixat amb el text «Avís:». Depenent de les qüestions involucrades, els fitxers resultants seran o no correctes. L'usuari serà instat a revisar tant els avisos com els fitxers resultants.
2 -- Aquest codi de sortida s'empra després de produir-se un error. El mkvextract(1) interromprà el procés just després de mostrar el missatge d'error. L'interval dels missatges d'error va des d'arguments incorrectes a la línia d'ordres fins a errors de lectura/escriptura en fitxers malmesos.

El mkvextract(1) empra les variables predeterminades que es determinen a la configuració regional del sistema (p. ex., LANG i la família LC_*). Variables addicionals:

MKVEXTRACT_DEBUG, MKVTOOLNIX_DEBUG i la seva forma abreujada MTX_DEBUG

El contingut es tractarà com si s'hagués passat l'opció --debug.

MKVEXTRACT_ENGAGE, MKVTOOLNIX_ENGAGE i la seva forma abreujada MTX_ENGAGE

El contingut es tractarà com si s'hagués passat l'opció --engage.

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

Sempre trobareu l'última versió a la pàgina de les MKVToolNix[1].

Bunkus, Moritz <moritz@bunkus.org>

Desenvolupador

1.
la pàgina de les MKVToolNix
2024-03-10 MKVToolNix 83.0