NOMBRE
mkvextract - extrae las pistas de los archivos Matroska a otros archivosSINOPSIS
mkvextract
{source-filename} {mode1} [options] [extraction-spec1] [mode2] [options]
[extraction-spec2] [...]
DESCRIPCIÓN
Este programa extrae partes específicas de un archivo Matroska a otros formatos. El primer argumento es el nombre del archivo origen que debe ser un archivo Matroska. Todos los argumentos cambian a un modo de extracción concreto, cambian las opciones del modo actualmente activo o especifican qué extraer a cierto archivo. Varios modos se pueden usar en la misma invocación de mkvextract permitiendo la extracción de múltiples elementos de una sola vez. La mayoría de las opciones sólo se pueden usar en ciertos modos con algunas opciones que se aplican a todos los modos. Actualmente permite la extracción de pistas, etiquetas, adjuntos, capítulos, CUE sheets -tabla de contenidos-, códigos de tiempo ecues -registros-.Opciones comunes
Las siguientes opciones están disponibles en todos los modos y sólo se describirán en esta sección. -f, --parse-fullyEstablece 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.
--flush-on-close
Le dice al programa que libere de datos la
memoria cache cuando se cierren los archivos para su escritura. Esto se puede
usar para evitar la pérdida de datos en cortes de energía o para
evitar ciertos problemas en el sistema operativo o los controladores. La
desventaja es que el multiplexado tardará más, ya que mkvmerge
deberá esperar hasta que todos los datos se hayan escrito en el
almacenamiento antes de salir. Ver falos #2469 y #2480 en el servidor de
MKVToolNix para analizar los pros y los contras en profundidad.
--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.
--abort-on-warnings
Le dice al programa que cancele después
de emitir la primera advertencia. El código de salida del programa
será 1.
--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.
@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 consulte la
sección acerca de "archivos de opciones" en la página
del manual de mkvmerge(1)
Modo de extracción de pista
Sintaxis: mkvextract nombre-archivo tracks [opciones] TID1:nombre-destino1 [TID2:nombre-destino2 ...] 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-caracteresEstablece 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 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' del archivo unido.
--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
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
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 entrada.mkv tracks 0:video.h264 2:salida-2-pistas-vobsub.idx 3:salida-2-pistas-vobsub.idx
Modo de extracción de adjuntos
Sintaxis: mkvextract nombre-archivo attachments [opciones] AID1:nombre-destino1 [AID2:nombre-destino2 ...] AID:nombre-salidaProvoca 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.
Modo de extracción de capitulos
Sintaxis: mkvextract nombre-archivo chapters [opciones] nombre-destino.xml -s, --simpleExporta 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
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
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 se escriben a un archivo de salida especificado. Por
defecto, se utiliza el formato XML que es interpretado por mkvmerge(1).
Si en el archivo no hay capítulos, el archivo de salida no será
creado.
Modo de extracción de etiquetas
Sintaxis: mkvextract nombre-archivo tags [opciones] nombre-destino.xml Las etiquetas se escriben a un archivo de salida especificado en el formato XML que es interpretado por mkvmerge(1). Si en el archivo no hay etiquetas, el archivo de salida no será creado.Modo de extracción de Cue sheet
Sintaxis: mkvextract nombre-archivo cuesheet [opciones] nombre-destino.cue La tabla de contenidos -cue sheet- se escribe a un archivo de salida especificado. Si en el archivo no hay capítulos o etiquetas, el archivo de salida no será creado.Modo de extracción de códigos de tiempo
Sintaxis: mkvextract nombre-archivo timestamps_v2 [opciones] TID1:nombre-destino1 [TID2:nombre-destino2 ...] TID:nombre-salidaProvoca la extracción de los timestamps
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 entrada.mkv timestamps_v2 1:ct-pista1.txt 2:ct-pista2.txt
Modo de extracción de Cues
Sintaxis: mkvextract nombre-archivo cues [opciones] TID1:nombre-destino1 [TID2:nombre-destino2 ...] TID:nombrearchivo-destProvoca 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:
timestamp=00:00:13.305000000 duration=- cluster_position=757741 relative_position=11
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
, 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
, 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 entrada.mkv cues 1:cues-pista1.txt 2:cues-pista2.txt
EJEMPLOS
Extrayendo tanto capítulos como etiquetas en sus respectivos formatos XML a la vez;$ mkvextract pelicula.mkv chapters capitulos-pelicula.xml tags etiquetas-pelicula.xml
$ mkvextract "Otra pelicula.mkv" tracks 0:video.h265 "1:audio principal.aac" "2:comentarios del director.aac" timestamps_v2 "0:marcas tiempo del video.txt" "1:marcas de tiempo del audio principal.txt" "2:marcas de tiempo de los comentarios del director.txt"
$ mkvextract "Mi pelicula.mkv" chapters --simple "Mis capitulos.txt" tracks -c MS-ANSI "2:Mis subtitulos.srt"
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).FORMATOS DE SALIDA
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: A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AACTodos 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_AC3, A_EAC3
Serán extraídos a archivos AC-3
sin procesar.
A_ALAC
Las pistas ALAC se escriben en archivos
CAF.
A_DTS
Serán extraídos a archivos DTS
sin procesar.
A_FLAC
Las pistas FLAC se escriben en archivos en
bruto FLAC.
A_MPEG/L2
Las secuencias de audio MPEG-1 Layer II
serán extraídas a archivos en bruto MP2.
A_MPEG/L3
Serán extraídos a archivos MP3
sin procesar.
A_OPUS
Las pistas Opus se escribe en archivos
OggOpus.
A_PCM/INT/LIT, A_PCM/INT/BIG
Los datos PCM sin procesar serán
escritos al archivo WAV. Los datos enteros big-endian se convertirán en
datos little-endian en el proceso.
A_REAL/*
Las pistas RealAudio se escriben en archivos
RealMedia.
A_TRUEHD, A_MLP
Serán extraídos a archivos
TrueHD/MLP sin procesar.
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_VORBIS
El audio Vorbis se escribirá en un
archivo OggVorbis.
A_WAVPACK4
Las pistas WavPack se escriben en archivos
WV.
S_HDMV/PGS
Los subtítulos PGS se escribirán
como archivos SUP.
S_HDMV/TEXTST
Los subtítulos TextST serán
escritos como un formato especial de archivo inventado para mkvmerge(1)
y .
S_KATE
Las secuencias Kate se escribirán
dentro de un contenedor Ogg.
S_TEXT/SSA, S_TEXT/ASS, S_SSA, S_ASS
Los subtítulos de texto SSA y ASS se
escribirán como archivos SSA/ASS, respectivamente.
S_TEXT/UTF8, S_TEXT/ASCII
Los subtítulos de texto simple se
escribirán como archivos SRT.
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_TEXT/WEBVTT
Los subtítulos de texto WebVTT
serán escritos como archivos WebVTT.
V_MPEG1, V_MPEG2
Las pistas de video MPEG-1 y MPEG-2
serán escritas como secuencias básicas MPEG.
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_MPEG4/ISO/HEVC
Las pistas de video H.265/HEVC serán
escritas a secuencias básicas H.265 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.
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.
Timestamps
Los códigos de tiempo se ordenan de
principio a fin, y entonces se genera un archivo compatible con el formato
timestamp 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
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
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.
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.
VARIABLES DE ENTORNO
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_DEBUGEl 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.
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 <[email protected]>Desarrollador
NOTAS
- 1.
- la página de MKVToolNix
2023-02-12 | MKVToolNix 74.0.0 |