NOMBRE¶
mkvextract - extrae las pistas de los archivos Matroska a otros
archivos
SINOPSIS¶
mkvextract {modo} {nombre-archivo} [opciones]
[especificaciones-extracción]
DESCRIPCIÓN¶
Este programa extrae ciertas partes de un archivo Matroska a otros
formatos de utilidad. El primer argumento, modo, le dice a
mkvextract(1) qué debe extraer. Actualmente es posible extraer
pistas, etiquetas, adjuntos, capítulos, CUE sheets, códigos de
tiempo (timecodes) e índices (cues). El segundo argumento es el
nombre del archivo origen. Éste debe ser un archivo Matroska. El
resto de argumentos son opciones y especificaciones de extracción;
ambos son dependientes del modo seleccionado.
Opciones comunes¶
Las siguientes opciones están disponibles en todos los
modos y sólo se describirán en esta sección.
-f, --parse-fully
Establece el modo de análisis a 'completo'. El
modo predeterminado no analiza el archivo entero pues usa la búsqueda
de elementos de metadatos para localizar los elementos necesarios de un
archivo origen. En un 99% de todos los casos es suficiente. Pero para archivos
que no contienen elementos de metadatos o que están dañados, el
usuario debería usar este modo. Un análisis completo de un
archivo puede requerir bastantes minutos mientras que un análisis
rápido sólo lleva unos segundos.
--command-line-charset conjunto-caracteres
Establece el conjunto de caracteres a convertir las
cadenas de texto dadas desde la línea de comandos. Por defecto, se
ajusta al conjunto de caracteres dado por la configuración local del
sistema.
--output-charset conjunto-caracteres
Establece el conjunto de caracteres para convertir las
cadenas de texto que serán usadas en el archivo de salida. Por defecto,
se ajusta al conjunto de caracteres dado por la configuración local del
sistema.
-r, --redirect-output nombre-archivo
Escribe todos los mensajes al archivo
nombre-archivo en vez de en la consola. Aunque esto se puede hacer
fácilmente con la opción de redirección hay casos en los
que es necesaria esta opción: cuando el terminal reinterpreta la salida
antes de escribirlo al archivo. El conjunto de caracteres establecido con
--output-charset se respeta.
--ui-language código
Fuerza la traducción al código de
idioma que será usado (p.e. 'de_DE' para la traducción al
Alemán). Introduciendo 'list' como código
provocará que el programa muestre una lista de las traducciones
disponibles.
--debug topic
Habilita la depuración para una
característica concreta. Esta opción sólo es útil
para desarrolladores.
--engage característica
Habilita características experimentales. Una lista
de características disponibles puede ser solicitada con la
instrucción mkvextract --engage list. Estas
características no están indicadas para ser usadas en
situaciones normales.
--gui-mode
Habilita el modo GUI. En este modo las líneas
especialmente formateadas pueden ser generadas para decirle a un control de la
GUI lo que está pasando. Estos mensajes se rigen bajo el formato
'#GUI#mensaje'. El mensaje puede ser continuado por pares de valores/claves
como en '#GUI#mensaje#clave1=valor1#clave2=valor2...'. Ni los mensajes ni las
claves pueden ser traducidas y siempre se generan en inglés.
-v, --verbose
Habilita el modo detallado y muestra todos los elementos
Matroska importantes que pueden ser leídos.
-h, --help
Muestra información de uso y sale.
-V, --version
Muestra la información de la versión y
sale.
--check-for-updates
Comprueba online si hay nuevas versiones al descargar el
archivo ubicado en la URL
http://mkvtoolnix-releases.bunkus.org/latest-release.xml. Cuatro
líneas serán generadas del tipo clave=valor: la URL desde donde
se obtuvo la información (clave version_check_url), la versión
actual (clave running_version), la última versión disponible
(clave available_version) y la URL de descarga (clave download_url).
Después el programa sale con un código de salida 0
si ninguna versión nueva está disponible, con 1 si hay
disponible una versión más actual y con 2 si ocurre
algún error (p.e. si la información de la actualización
no puede ser obtenida).
Esta opción sólo está disponible si el
programa fue creado con compatibilidad para libcurl.
@options-file.json
Lee argumentos adicionales de la línea de comandos
desde el archivo archivo-opciones. Para más información
sobre los formatos admitidos para esos archivos mire la sección acerca
de "archivos de opciones" en la página del manual de
mkvmerge(1)
Sintaxis: mkvextract tracks
nombre-archivo [opciones]
TID1:dest-nombre1 [TID2:dest-nombre2
...]
Las siguientes opciones de línea de comandos están
disponibles para cada pista en el modo de extracción de pistas
('tracks'). Tienen que aparecer delante de la especificación de pista
a las que se deben aplicar (ver abajo).
-c conjunto-caracteres
Establece el conjunto de caracteres para convertir el
texto de la siguiente pista de subtítulo. Sólo es válido
si el ID de la siguiente pista corresponde a un subtítulo. Por defecto
usa UTF-8.
--blockadd nivel
Conserva el BlockAdditions sólo hasta este nivel.
Por defecto conserva todos los niveles. Esta opción sólo afecta
a ciertos tipos de códecs como WAVPACK4.
--cuesheet
Provoca que mkvextract(1) extraiga un CUE sheet
desde la información de capítulos y etiquetas para la siguiente
pista, a un archivo cuyo nombre es el del archivo de salida junto con la
extensión '.cue'.
--raw
Extrae los datos en bruto (raw) a un archivo sin
contenedor. A diferencia de --fullraw esta opción no provoca que
el contenido del elemento CodecPrivate se escriba en el archivo. Este modo
funciona sólo con todos los CodecIDs, incluso con los que
mkvextract(1) no sea compatible pero los archivos resultantes
podrían ser inutilizables.
--fullraw
Extrae los datos en bruto (raw) a un archivo sin
contenedor. El contenido del elemento CodecPrivate se escribirá en el
primer archivo si la pista contiene ese elemento en el encabezado. Este modo
funciona sólo con todos los CodecIDs, incluso con los que
mkvextract(1) no sea compatible pero los archivos resultantes
podrían ser inutilizables.
TID:nombre-salida
Provoca la extracción de la pista con el ID
TID a un archivo con el
nombre-salida si dicha pista existe en
el archivo fuente. Esta opción puede ser usada múltiples veces.
Los IDs de la pista son los mismos que muestra
mkvmerge(1) con la
opción
--identify.
Cada nombre de salida sólo debe ser usado una vez. La
única excepción son las pistas RealAudio y RealVideo. Si usas
el mismo nombre para pistas diferentes entonces estas pistas serán
almacenadas en el mismo archivo. Ejemplo:
mkvextract tracks entrada.mkv 1:salida-dos-pistas.rm 2:salida-dos-pistas.rm
Sintaxis: mkvextract tags
nombre-archivo [opciones]
Las etiquetas extraídas se escriben a la consola a menos
que la salida sea redirigida (vea la sección a cerca de
redirección de salida para más detalles).
Sintaxis: mkvextract attachments
nombre-archivo [opciones]
AID1:salida1 [AID2:salida2 ...]
AID:nombre-salida
Provoca la extracción del adjunto con el ID
AID a un archivo con el nombre-salida si dicho adjunto existe en
el archivo fuente. Si el nombre-salida se deja vacío entonces
será usado el nombre del adjunto en el archivo Matroska. Esta
opción puede ser usada múltiples veces. Los IDs de los adjuntos
son los mismos que muestra mkvmerge(1) con la opción
--identify.
Sintaxis: mkvextract chapters
nombre-archivo [opciones]
-s, --simple
Exporta la información de capítulos en un
formato simple usado en las herramientas de OGM (CAPITULO01=...,
CAPITULO01NOMBRE=...). En este modo alguna información será
descartada. Por defecto la salida de los capítulos están en
formato XML.
--simple-language idioma
Si se habilita el formato simple entonces
mkvextract(1) sólo generará una única entrada de
cada capítulo atom encontrado incluso si un capítulo atom
contiene más de un nombre de capítulos. Por defecto
mkvextract(1) usará el primer nombre de capítulos que
encuentre para cada atom, independientemente de su idioma.
Usar esta opción permite al usuario determinar que nombres
de capítulos se generan si los atoms contienen más de un
nombre de capítulos. El parámetro language debe ser un
código ISO 639-1 o ISO 639-2.
Los capítulos extraídos se escriben en la consola a
menos que la salida sea redirigida (vea la sección sobre
redirección de salida para más detalles).
Sintaxis: mkvextract cuesheet
nombre-archivo [opciones]
El cue sheet extraído se escriben en la consola a menos que
la salida sea redirigida (vea la sección sobre redirección de
salida para más detalles).
Sintaxis: mkvextract timecodes_v2
nombre-archivo [opciones]
TID1:nombrearchivo-dest1
[TID2:nombrearchivo-dest2 ...]
Los códigos de tiempo se escriben en la consola a menos que
la salida sea redirigida (vea la sección sobre redirección de
salida para más detalles).
TID:nombre-salida
Provoca la extracción de los timecodes para la
pista con el ID
TID a un archivo con el
nombre-salida si dicha
pista existe en el archivo origen. Esta opción puede ser usada
múltiples veces. Los IDs de la pista son los mismos que muestra
mkvmerge(1) con la opción
--identify.
Ejemplo:
mkvextract timecodes_v2 entrada.mkv 1:tc-pista1.txt 2:tc-pista2.txt
Sintaxis: mkvextract cues
nombre-archivo [opciones]
TID1:nombrearchivo-dest1
[TID2:nombrearchivo-dest2 ...]
TID:nombrearchivo-dest
Provoca la extracción de los cues (índices)
para la pista con el ID TID a un archivo con el nombre-salida si
dicha pista existe en el archivo origen. Esta opción puede ser usada
múltiples veces. Los IDs de la pista son los mismos que muestra
mkvmerge(1) con la opción --identify y no los
números contenidos en el elemento CueTrack.
El formato de salida es un simple formato de texto: una
línea por cada elemento CuePoint con clave=valor. Si un elemento
opcional no existe en un CuePoint (p.e. CueDuration) entonces un
guión será devuelto como valor.
Ejemplo:
timecode=00:00:13.305000000 duration=- cluster_position=757741 relative_position=11
Las claves posibles son:
timecode
El código de tiempo del cue point con
precisión de nanosegundos. El formato es HH:MM:SS.nnnnnnnnn. Este
elemento siempre se establece.
duration
La duración del cue point con precisión de
nanosegundos. El formato es HH:MM:SS.nnnnnnnnn.
cluster_position
La posición absoluta en bytes dentro del archivo
Matroska en dónde comienza el clúster que contiene el elemento
de referencia.
Nota
Dentro del archivo Matroska el CueClusterPosition se refiere a la
compensación (offset) de los datos de inicio del segmento. El valor de
salida es dado por el modo de extracción de cue de
mkvextract(1), sin embargo ya contiene esa compensación y que es
absoluta a partir del inicio del archivo.
relative_position
La posición relativa en bytes dentro del
clúster en donde el elemento BlockGroup o SimpleBlock es el cue point
que se refiere al inicio.
Nota
Dentro del archivo Matroska el CueRelativePosition se refiere a la
compensación de los datos de inicio del clúster. El valor de
salida es dado por el modo de extracción de cue de
mkvextract(1), sin embargo es relativo al ID del clúster. La
posición absoluta dentro del archivo puede ser calculada por
añadir cluster_position y relative_position.
Ejemplo:
mkvextract cues entrada.mkv 1:cues-pista1.txt 2:cues-pista2.txt
REDIRECCIÓN DE SALIDA¶
Varios modos de extracción provocan que
mkvextract(1) escriba la información extraída a la
consola. Por lo general, hay dos maneras de escribir esta información
a un archivo: uno proporcionado por el shell y otro por
mkvextract(1).
El mecanismo de redirección de orden interna del shell se
utiliza añadiendo '> nombresalida.ext' a la línea de
comandos. Ejemplo:
mkvextract tags archivo.mkv > etiquetas.xml
La redirección de mkvextract(1) es invocada con la
opción --redirect-output. Ejemplo:
mkvextract tags archivo.mkv --redirect-output etiquetas.xml
Nota
En Windows es posible que necesite usar la opción
--redirect-output porque cmd.exe a veces interpreta los
caracteres especiales antes de que se escriban en el archivo de salida
provocando una salida incorrecta.
CONVERSIÓN DE ARCHIVOS DE TEXTO Y CONJUNTO DE CARACTERES¶
Para una discusión en profundidad sobre como la suite de
MkvToolNix manipula las conversiones de caracteres, la codificación
entrada/salida y la codificación de la línea de comandos y
consola, por favor consulte la sección llamada de igual manera en la
pagina del manual para mkvmerge(1).
La decisión sobre el tipo de formato se basa en el tipo de
pista y no en la extensión usada en el nombre del archivo de salida.
Por ahora, los siguientes tipos de pista son compatibles:
V_MPEG4/ISO/AVC
Las pistas de video H.264 / AVC se escriben en secuencias
elementales H.264 que pueden ser procesadas posteriormente, por ejemplo con
MP4Box del paquete GPAC.
V_MS/VFW/FOURCC
Las pistas de video con FPS fijadas con este CodecID se
escriben en los archivos AVI.
V_REAL/*
Las pistas RealVideo se escriben en archivos
RealMedia.
V_THEORA
Las secuencias Theora se escribirán en un
contenedor Ogg.
V_VP8, V_VP9
Las pistas VP8 / VP9 se escriben en archivos IVF.
A_MPEG/L2
Las secuencias de audio MPEG-1 Layer II serán
extraídas a archivos en bruto MP2.
A_MPEG/L3, A_AC3
Estos serán extraídos a archivos en bruto
MP3 y AC-3.
A_PCM/INT/LIT
La información en bruto PCM se escribirá en
un archivo WAV.
A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC
Todos los archivos AAC se escribirán en un archivo
AAC con encabezados ADTS antes de cada paquete. Los encabezados ADTS no
contendrán el obsoleto campo de énfasis.
A_VORBIS
El audio Vorbis se escribirá en un archivo
OggVorbis.
A_REAL/*
Las pistas RealAudio se escriben en archivos
RealMedia.
A_TTA1
Las pistas TrueAudio se escriben en archivos TTA. Por
favor, tenga en cuenta que debido a la precisión limitada de los
códigos de tiempo de Matroska, el encabezado del archivo
extraído será diferente con respecto a dos campos:
data_length (el número total de muestras en el archivo) y el
CRC.
A_ALAC
Las pistas ALAC se escriben en archivos CAF.
A_FLAC
Las pistas FLAC se escriben en archivos en bruto
FLAC.
A_WAVPACK4
Las pistas WavPack se escriben en archivos WV.
A_OPUS
Las pistas Opus se escribe en archivos OggOpus.
S_TEXT/UTF8
Los subtítulos de texto simple se
escribirán como archivos SRT.
S_TEXT/SSA, S_TEXT/ASS
Los subtítulos de texto SSA y ASS se
escribirán como archivos SSA/ASS, respectivamente.
S_KATE
Las secuencias Kate se escribirán dentro de un
contenedor Ogg.
S_VOBSUB
Los subtítulos VobSub se escribirán como
archivos SUB junto con sus respectivos archivos de índice IDX.
S_TEXT/USF
Los subtítulos de texto USF se escribirán
como archivos USF.
S_HDMV/PGS
Los subtítulos PGS se escribirán como
archivos SUP.
Tags
Las etiquetas se convierten a formato XML. Este formato
es el mismo que mkvmerge(1) admite para leer etiquetas.
Attachments
Los adjuntos se escriben en el archivo de salida tal y
como están. No se realiza ningún tipo de
conversión.
Chapters
Los capítulos se convierten a formato XML. Este
formato es el mismo que mkvmerge(1) admite para leer capítulos.
Alternativamente, una versión reducida puede ser generada a un simple
formato de estilo OGM.
Timecodes
Los códigos de tiempo se ordenan de principio a
fin, y entonces se genera un archivo compatible con el formato timecode v2
preparado para ser proporcionado a mkvmerge(1). La extracción a
otros formatos (v1, v3 y v4) no son compatibles.
CÓDIGOS DE SALIDA¶
mkvextract(1) finaliza con uno de estos tres códigos
de salida:
•0 -- Este código de salida
significa que la extracción se ha realizado correctamente.
•1 -- En este caso mkvextract(1)
genera una salida con al menos una advertencia, pero la extracción
continuó. Una advertencia es prefijada con el texto 'Advertencia:'.
Dependiendo de los fallos involucrados los archivos creados serán
correctos o no. El usuario es instado a que revise tanto las advertencias como
los archivos creados.
•2 -- Este código de salida es usado
después de que ocurra un error. mkvextract(1) aborta el proceso
justo después de mostrar el mensaje de error. El rango de los mensajes
de error va desde los argumentos de la línea de comandos, por delante
de los errores de lectura/escritura, hasta los archivos erróneos.
CARACTERES ESPECIALES DE ESCAPE EN EL TEXTO¶
Hay pocos sitios en los que los caracteres especiales en el texto
puedan o deban ser escapados. Las reglas del escape son simples: cada
carácter que necesite ser escapado es reemplazado con una barra
invertida seguida de otro carácter.
Las reglas son: ' ' (un espacio) se convierte a '\s', '"'
(doble comillas) sería '\2', ':' se convierte a '\c', '#' se
reemplazada como '\h' y '\' (una barra invertida) se expresaría como
'\\'.
VARIABLES DE ENTORNO¶
mkvextract(1) usa las variables predefinidas que se
determinan en la configuración local del sistema (p.e. LANG y
la familia LC_*). Variables adicionales:
MKVEXTRACT_DEBUG, MKVTOOLNIX_DEBUG y su forma
abreviadaMTX_DEBUG
El contenido se trata como si se hubiese pasado a
través de la opción --debug.
MKVEXTRACT_ENGAGE, MKVTOOLNIX_ENGAGE y su forma
abreviada MTX_ENGAGE
El contenido se trata como si se hubiese pasado a
través de la opción --engage.
MKVEXTRACT_OPTIONS, MKVTOOLNIX_OPTIONS y su forma
abreviada MTX_OPTIONS
El contenido es dividido en espacios en blanco. Las
cadenas de texto parciales resultantes son tratadas como si hubiesen sido
pasadas como opciones a la línea de comandos. Si necesitas pasar
caracteres especiales (p.e. espacios) entonces tienes que escaparlos (vea la
sección caracteres especiales de escape en el texto).
VEA TAMBIÉN¶
mkvmerge(1), mkvinfo(1), mkvpropedit(1),
mkvtoolnix-gui(1)
WWW¶
La última versión se puede encontrar siempre en
la página de MKVToolNix[1].
AUTOR¶
Moritz Bunkus <moritz@bunkus.org>
Desarrollador
NOTAS¶
- 1.
- la página de MKVToolNix