NOM¶
mkvextract - Extreu les pistes des de fitxers Matroska a altres
fitxers
SINOPSIS¶
mkvextract {mode} {nom_fitxer_origen} [opcions]
[especificacions_extracció]
DESCRIPCIÓ¶
Aquest programa extreu parts específiques d'un fitxer
Matroska a altres formats d'utilitat. El primer argument, mode, li
indica al mkvextract(1) què ha d'extreure. Actualment
és possible extreure pistes (tracks), etiquetes (tags), adjunts
(attachments), capítols (chapters), fulls de muntatge (CUE sheets),
codis de temps (timecodes) i índexs (cues). El segon argument
és el nom del fitxer d'origen. Aquest haurà de ser un fitxer
Matroska. La resta d'arguments són opcions i especificacions per a
l'extracció -ambdues depenen del mode seleccionat-.
Opcions comunes¶
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 per omissió 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. Per omissió
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. Per omissió 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
a 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.
--ui-language codi
Força l'ús de les traduccions pel
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.
--debug tema
Activa la depuració per a una
característica específica. Aquesta opció només
és útil pels 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 a mesura que es llegeixin.
-h, --help
Mostra la informació d'ús i surt.
-V, --version
Mostra la informació sobre la versió i
surt.
--check-for-updates
Comprova en línia si hi ha nous llançaments
per baixar-los des de l'URL
http://mkvtoolnix-releases.bunkus.org/latest-release.xml. Es generaran
quatre línies amb l'estil clau=valor: l'URL des d'on s'ha obtingut la
informació (clau version_check_url), la versió actualment en
execució (clau running_version), la versió de l'últim
llançament (clau available_version) i l'URL per a la baixada (clau
download_url).
Després el programa sortirà amb un codi de sortida
de 0 si no hi ha cap llançament més recent disponible, amb 1
si hi ha disponible una nova versió i amb 2 si s'ha produït
algun error (p. ex., si no s'ha pogut recuperar la informació sobre
l'actualització).
Aquesta opció només estarà disponible si el
programa va ser construït amb la implementació per a
«libcurl».
@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).
Sintaxi: mkvextract tracks
nom_fitxer_origen [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 (veure 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. Per omissió s'empra UTF-8.
--blockadd nivell
Només manté «BlockAdditions»
fins aquest nivell. Per omissió 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 tracks entrada.mkv 1:sortida_dos_pistes.rm 2:sortida_dos_pistes.rm
Sintaxi: mkvextract tags
nom_fitxer_origen [opcions]
Les etiquetes extretes s'escriuran a la consola a menys que la
sortida sigui redirigida (per a més detalls, vegeu la secció
sobre la redirecció de la sortida).
Sintaxi: mkvextract attachments
nom_fitxer_origen [opcions]
AID1:nom_sortida_1
[AID2:nom_sortida_2 «...»]
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 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.
Sintaxi: mkvextract chapters
nom_fitxer_origen [opcions]
-s, --simple
Exporta la informació dels capítols en un
format simple, emprat en les eines OGM (CHAPTER01=«...»,
CHAPTER01NAME=«...»). En aquest mode es descartarà alguna
informació. Per omissió la sortida dels capítols
serà en el format XML.
--simple-language idioma
Si el format simple 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. Per
omissió, 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 extrets s'escriuran a la consola a menys que
la sortida sigui redirigida (per a més detalls, vegeu la
secció sobre la redirecció de la sortida).
Sintaxi: mkvextract cuesheet
nom_fitxer_origen [opcions]
Els fulls de muntatge extrets s'escriuran a la consola a menys que
la sortida sigui redirigida (per a més detalls, vegeu la
secció sobre la redirecció de la sortida).
Sintaxi: mkvextract timecodes_v2
nom_fitxer_origen [opcions]
TID1:nom_fitxer_destinació_1
[TID2:nom_fitxer_destinació_2
«...»]
Els codis de temps extrets s'escriuran a la consola a menys que la
sortida sigui redirigida (per a més detalls, vegeu la secció
sobre la redirecció de la sortida).
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 timecodes_v2 entrada.mkv 1:ct_pista_1.txt 2:ct_pista_2.txt
Sintaxi: mkvextract cues
nom_fitxer_origen [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 simple 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:
timecode=00:00:13.305000000 duration=- cluster_position=757741 relative_position=11
Les claus possibles són:
timecode
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, on comença el clúster que conté l'element de
referència.
Nota
Dins del fitxer Matroska, 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, 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 cues entrada.mkv 1:índex_pista_1.txt 2:índex_pista_2.txt
REDIRECCIÓ DE LA SORTIDA¶
Diversos modes d'extracció provoquen que el
mkvextract(1) escrigui la informació extreta a la consola. En
general, hi ha dos modes d'escriure aquesta informació a un fitxer:
un proporcionat per l'intèrpret d'ordres i un altre pel
mkvextract(1).
El mecanisme de redirecció intern de l'intèrpret
d'ordres és emprat amb «> nom_fitxer_sortida.ext» a
la línia d'ordres. Exemple:
$ mkvextract tags origen.mkv > etiquetes.xml
La redirecció del mkvextract(1) és invocada
amb l'opció --redirect-output. Exemple:
$ mkvextract tags origen.mkv --redirect-output etiquetes.xml
Nota
En Windows possiblement necessitareu emprar l'opció
--redirect-output, perquè cmd.exe a vegades interpreta
els caràcters especials abans que s'escriguin al fitxer de sortida,
resultant en una sortida malmesa.
CONVERSIÓ PER A FITXERS DE TEXT I JOCS DE CARÀCTERS¶
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:
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 del paquet GPAC.
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 s'escriuran en fitxers
RealMedia.
V_THEORA
Els fluxos Theora s'escriuran dins d'un contenidor
Ogg.
V_VP8, V_VP9
Les pistes VP8 / VP9 s'escriuran en fitxers IVF.
A_MPEG/L2
Els fluxos d'àudio MPEG-1 nivell II s'extrauran a
fitxers MP2 en RAW.
A_MPEG/L3, A_AC3
Aquests s'extreuen a fitxers MP3 i AC-3 en RAW.
A_PCM/INT/LIT
Les dades PCM en RAW s'escriuran en un fitxer WAV.
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_VORBIS
L'àudio Vorbis s'escriurà en un fitxer
OggVorbis.
A_REAL/*
Les pistes RealAudio s'escriuran en fitxers
RealMedia.
A_TTA1
Les pistes TrueAudio s'escriuran en fitxers TTA. Si us
plau, tingueu en compte que a causa de la limitada precisió dels codis
de temps del Matroska, 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_ALAC
Les pistes ALAC s'escriuran en fitxers CAF.
A_FLAC
Les pistes FLAC s'escriuran en fitxers FLAC en RAW.
A_WAVPACK4
Les pistes WavPack s'escriuran en fitxers WV.
A_OPUS
Les pistes Opus s'escriuran en fitxers OggOpus.
S_TEXT/UTF8
Els subtítols de text simple s'escriuran com a
fitxers SRT.
S_TEXT/SSA, S_TEXT/ASS
Els subtítols de text SSA i ASS s'escriuran com a
fitxers SSA/ASS respectivament.
S_KATE
Els fluxos Kate s'escriuran dins d'un contenidor
Ogg.
S_VOBSUB
Els subtítols VobSub 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_HDMV/PGS
Els subtítols PGS s'escriuran com a fitxers
SUP.
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 tipus 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
simple a l'estil OGM.
Codis de temps
Els codis de temps primer estan ordenats i després
la sortida genera un fitxer compatible amb el format timecode v2 preparat per
a ser proporcionat al mkvmerge(1). L'extracció a altres formats
(v1, v3 i v4) no és admesa.
CODIS DE SORTIDA¶
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.
ESCAPAR CARÀCTERS ESPECIALS EN EL TEXT¶
Hi ha pocs llocs en els quals els caràcters especials en el
text puguin o s'hagin d'escapar. Les regles per a l'escapament són
simples: cada caràcter que necessiti ser escapat serà
substituït amb una barra invertida seguida d'un altre
caràcter.
Les regles són: « » (un espai) serà
«\s», «"» (cometes dobles) serà
«\2», «:» serà «\c»,
«#» serà «\h» i «\» (una
única barra invertida) serà «\\».
VARIABLES DENTORN¶
El mkvextract(1) empra les variables per omissió 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.
MKVEXTRACT_OPTIONS, MKVTOOLNIX_OPTIONS i la seva
forma abreujada MTX_OPTIONS
El contingut serà dividit en espais en blanc. Les
cadenes parcials resultants seran tractades com si haguessin estat passades
com a opcions a la línia d'ordres. Si necessiteu passar
caràcters especials (p. ex., espais) llavors els haureu d'escapar
(vegeu la secció sobre escapar caràcters especials en el
text).
VEGEU TAMBɶ
mkvmerge(1), mkvinfo(1), mkvpropedit(1),
mkvtoolnix-gui(1)
WWW¶
Sempre trobareu l'última versió a la
pàgina de les MKVToolNix[1].
AUTOR¶
Bunkus, Moritz <moritz@bunkus.org>
Desenvolupador
NOTES¶
- 1.
- la pàgina de les MKVToolNix