MKVEXTRACT(1) Comandos de usuario MKVEXTRACT(1) NOMBRE mkvextract - extrae las pistas de los archivos Matroska(TM) a otros archivos SINOPSIS mkvextract {source-filename} {mode1} [options] [extraction-spec1] [mode2] [options] [extraction-spec2] [...] DESCRIPCION Este programa extrae partes especificas de un archivo Matroska(TM) a otros formatos. El primer argumento es el nombre del archivo origen que debe ser un archivo Matroska(TM). Todos los argumentos cambian a un modo de extraccion concreto, cambian las opciones del modo actualmente activo o especifican que extraer a cierto archivo. Varios modos se pueden usar en la misma invocacion de mkvextract permitiendo la extraccion de multiples elementos de una sola vez. La mayoria de las opciones solo se pueden usar en ciertos modos con algunas opciones que se aplican a todos los modos. Actualmente permite la extraccion de pistas, etiquetas, adjuntos, capitulos, CUE sheets -tabla de contenidos-, codigos de tiempo ecues -registros-. Opciones comunes Las siguientes opciones estan disponibles en todos los modos y solo se describiran en esta seccion. -f, --parse-fully Establece el modo de analisis a 'completo'. El modo predeterminado no analiza el archivo entero pues usa la busqueda 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 estan danados, el usuario deberia usar este modo. Un analisis completo de un archivo puede requerir bastantes minutos mientras que un analisis rapido solo lleva unos segundos. --command-line-charset conjunto-caracteres Establece el conjunto de caracteres a convertir las cadenas de texto dadas desde la linea de comandos. Por defecto, se ajusta al conjunto de caracteres dado por la configuracion local del sistema. --output-charset conjunto-caracteres Establece el conjunto de caracteres para convertir las cadenas de texto que seran usadas en el archivo de salida. Por defecto, se ajusta al conjunto de caracteres dado por la configuracion 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 facilmente con la opcion de redireccion hay casos en los que es necesaria esta opcion: 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 perdida de datos en cortes de energia o para evitar ciertos problemas en el sistema operativo o los controladores. La desventaja es que el multiplexado tardara mas, ya que mkvmerge debera 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 codigo Fuerza la traduccion al codigo de idioma que sera usado (p.e. 'de_DE' para la traduccion al Aleman). Introduciendo 'list' como codigo provocara que el programa muestre una lista de las traducciones disponibles. --abort-on-warnings Le dice al programa que cancele despues de emitir la primera advertencia. El codigo de salida del programa sera 1. --debug topic Habilita la depuracion para una caracteristica concreta. Esta opcion solo es util para desarrolladores. --engage caracteristica Habilita caracteristicas experimentales. Una lista de caracteristicas disponibles puede ser solicitada con la instruccion mkvextract --engage list. Estas caracteristicas no estan indicadas para ser usadas en situaciones normales. --gui-mode Habilita el modo GUI. En este modo las lineas especialmente formateadas pueden ser generadas para decirle a un control de la GUI lo que esta 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 ingles. -v, --verbose Habilita el modo detallado y muestra todos los elementos Matroska(TM) importantes que pueden ser leidos. -h, --help Muestra informacion de uso y sale. -V, --version Muestra la informacion de la version y sale. @options-file.json Lee argumentos adicionales de la linea de comandos desde el archivo archivo-opciones. Para mas informacion sobre los formatos admitidos para esos archivos consulte la seccion acerca de "archivos de opciones" en la pagina del manual de mkvmerge(1) Modo de extraccion de pista Sintaxis: mkvextract nombre-archivo tracks [opciones] TID1:nombre-destino1 [TID2:nombre-destino2 ...] Las siguientes opciones de linea de comandos estan disponibles para cada pista en el modo de extraccion de pistas ('tracks'). Tienen que aparecer delante de la especificacion 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 subtitulo. Solo es valido si el ID de la siguiente pista corresponde a un subtitulo. Por defecto usa UTF-8. --blockadd nivel Conserva el BlockAdditions solo hasta este nivel. Por defecto conserva todos los niveles. Esta opcion solo afecta a ciertos tipos de codecs como WAVPACK4. --cuesheet Provoca que mkvextract(1) extraiga un CUE sheet desde la informacion de capitulos y etiquetas para la siguiente pista, a un archivo cuyo nombre es el del archivo de salida junto con la extension '.cue' del archivo unido. --raw Extrae los datos en bruto (raw) a un archivo sin contenedor. A diferencia de --fullraw esta opcion no provoca que el contenido del elemento CodecPrivate se escriba en el archivo. Este modo funciona solo con todos los CodecIDs, incluso con los que mkvextract(1) no sea compatible pero los archivos resultantes podrian ser inutilizables. --fullraw Extrae los datos en bruto (raw) a un archivo sin contenedor. El contenido del elemento CodecPrivate se escribira en el primer archivo si la pista contiene ese elemento en el encabezado. Este modo funciona solo con todos los CodecIDs, incluso con los que mkvextract(1) no sea compatible pero los archivos resultantes podrian ser inutilizables. TID:nombre-salida Provoca la extraccion de la pista con el ID TID a un archivo con el nombre-salida si dicha pista existe en el archivo fuente. Esta opcion puede ser usada multiples veces. Los IDs de la pista son los mismos que muestra mkvmerge(1) con la opcion --identify. Cada nombre de salida solo debe ser usado una vez. La unica excepcion son las pistas RealAudio y RealVideo. Si usas el mismo nombre para pistas diferentes entonces estas pistas seran 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 extraccion de adjuntos Sintaxis: mkvextract nombre-archivo attachments [opciones] AID1:nombre-destino1 [AID2:nombre-destino2 ...] AID:nombre-salida Provoca la extraccion 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 vacio entonces sera usado el nombre del adjunto en el archivo Matroska(TM). Esta opcion puede ser usada multiples veces. Los IDs de los adjuntos son los mismos que muestra mkvmerge(1) con la opcion --identify. Modo de extraccion de capitulos Sintaxis: mkvextract nombre-archivo chapters [opciones] nombre-destino.xml -s, --simple Exporta la informacion de capitulos en un formato simple usado en las herramientas de OGM (CAPITULO01=..., CAPITULO01NOMBRE=...). En este modo alguna informacion sera descartada. Por defecto la salida de los capitulos estan en formato XML. --simple-language idioma Si se habilita el formato simple entonces mkvextract(1) solo generara una unica entrada de cada capitulo atom encontrado incluso si un capitulo atom contiene mas de un nombre de capitulos. Por defecto mkvextract(1) usara el primer nombre de capitulos que encuentre para cada atom, independientemente de su idioma. Usar esta opcion permite al usuario determinar que nombres de capitulos se generan si los atoms contienen mas de un nombre de capitulos. El parametro language debe ser un codigo ISO 639-1 o ISO 639-2. Los capitulos 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 capitulos, el archivo de salida no sera creado. Modo de extraccion 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 sera creado. Modo de extraccion 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 capitulos o etiquetas, el archivo de salida no sera creado. Modo de extraccion de codigos de tiempo Sintaxis: mkvextract nombre-archivo timestamps_v2 [opciones] TID1:nombre-destino1 [TID2:nombre-destino2 ...] TID:nombre-salida Provoca la extraccion 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 opcion puede ser usada multiples veces. Los IDs de la pista son los mismos que muestra mkvmerge(1) con la opcion --identify. Ejemplo: $ mkvextract entrada.mkv timestamps_v2 1:ct-pista1.txt 2:ct-pista2.txt Modo de extraccion de Cues Sintaxis: mkvextract nombre-archivo cues [opciones] TID1:nombre-destino1 [TID2:nombre-destino2 ...] TID:nombrearchivo-dest Provoca la extraccion de los cues (indices) para la pista con el ID TID a un archivo con el nombre-salida si dicha pista existe en el archivo origen. Esta opcion puede ser usada multiples veces. Los IDs de la pista son los mismos que muestra mkvmerge(1) con la opcion --identify y no los numeros contenidos en el elemento CueTrack. El formato de salida es un simple formato de texto: una linea por cada elemento CuePoint con clave=valor. Si un elemento opcional no existe en un CuePoint (p.e. CueDuration) entonces un guion sera devuelto como valor. Ejemplo: timestamp=00:00:13.305000000 duration=- cluster_position=757741 relative_position=11 Las claves posibles son: timestamp El codigo de tiempo del cue point con precision de nanosegundos. El formato es HH:MM:SS.nnnnnnnnn. Este elemento siempre se establece. duration La duracion del cue point con precision de nanosegundos. El formato es HH:MM:SS.nnnnnnnnn. cluster_position La posicion absoluta en bytes dentro del archivo Matroska(TM) en donde comienza el cluster que contiene el elemento de referencia. Nota Dentro del archivo Matroska(TM) el CueClusterPosition se refiere a la compensacion (offset) de los datos de inicio del segmento. El valor de salida es dado por el modo de extraccion de cue de mkvextract(1), sin embargo ya contiene esa compensacion y que es absoluta a partir del inicio del archivo. relative_position La posicion relativa en bytes dentro del cluster en donde el elemento BlockGroup o SimpleBlock es el cue point que se refiere al inicio. Nota Dentro del archivo Matroska(TM) el CueRelativePosition se refiere a la compensacion de los datos de inicio del cluster. El valor de salida es dado por el modo de extraccion de cue de mkvextract(1), sin embargo es relativo al ID del cluster. La posicion absoluta dentro del archivo puede ser calculada por anadir cluster_position y relative_position. Ejemplo: $ mkvextract entrada.mkv cues 1:cues-pista1.txt 2:cues-pista2.txt EJEMPLOS Extrayendo tanto capitulos como etiquetas en sus respectivos formatos XML a la vez; $ mkvextract pelicula.mkv chapters capitulos-pelicula.xml tags etiquetas-pelicula.xml Extrayendo un par de pistas y sus respectivos codigos de tiempo a la vez: $ 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" Extrayendo capitulos en el formato Ogg/OGM y recodificando el texto de una pista de subtitulos a otro conjunto de caracteres: $ mkvextract "Mi pelicula.mkv" chapters --simple "Mis capitulos.txt" tracks -c MS-ANSI "2:Mis subtitulos.srt" CONVERSION DE ARCHIVOS DE TEXTO Y CONJUNTO DE CARACTERES Para una discusion en profundidad sobre como la suite de MkvToolNix manipula las conversiones de caracteres, la codificacion entrada/salida y la codificacion de la linea de comandos y consola, por favor consulte la seccion llamada de igual manera en la pagina del manual para mkvmerge(1). FORMATOS DE SALIDA La decision sobre el tipo de formato se basa en el tipo de pista y no en la extension usada en el nombre del archivo de salida. Por ahora, los siguientes tipos de pista son compatibles: A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC Todos los archivos AAC se escribiran en un archivo AAC con encabezados ADTS antes de cada paquete. Los encabezados ADTS no contendran el obsoleto campo de enfasis. A_AC3, A_EAC3 Seran extraidos a archivos AC-3 sin procesar. A_ALAC Las pistas ALAC se escriben en archivos CAF. A_DTS Seran extraidos 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 seran extraidas a archivos en bruto MP2. A_MPEG/L3 Seran extraidos a archivos MP3 sin procesar. A_OPUS Las pistas Opus(TM) se escribe en archivos OggOpus(TM). A_PCM/INT/LIT, A_PCM/INT/BIG Los datos PCM sin procesar seran escritos al archivo WAV. Los datos enteros big-endian se convertiran en datos little-endian en el proceso. A_REAL/* Las pistas RealAudio(TM) se escriben en archivos RealMedia(TM). A_TRUEHD, A_MLP Seran extraidos a archivos TrueHD/MLP sin procesar. A_TTA1 Las pistas TrueAudio(TM) se escriben en archivos TTA. Por favor, tenga en cuenta que debido a la precision limitada de los codigos de tiempo de Matroska(TM), el encabezado del archivo extraido sera diferente con respecto a dos campos: data_length (el numero total de muestras en el archivo) y el CRC. A_VORBIS El audio Vorbis se escribira en un archivo OggVorbis(TM). A_WAVPACK4 Las pistas WavPack(TM) se escriben en archivos WV. S_HDMV/PGS Los subtitulos PGS se escribiran como archivos SUP. S_HDMV/TEXTST Los subtitulos TextST seran escritos como un formato especial de archivo inventado para mkvmerge(1) y mkvextract(1). S_KATE Las secuencias Kate(TM) se escribiran dentro de un contenedor Ogg(TM). S_TEXT/SSA, S_TEXT/ASS, S_SSA, S_ASS Los subtitulos de texto SSA y ASS se escribiran como archivos SSA/ASS, respectivamente. S_TEXT/UTF8, S_TEXT/ASCII Los subtitulos de texto simple se escribiran como archivos SRT. S_VOBSUB Los subtitulos VobSub(TM) se escribiran como archivos SUB junto con sus respectivos archivos de indice IDX. S_TEXT/USF Los subtitulos de texto USF se escribiran como archivos USF. S_TEXT/WEBVTT Los subtitulos de texto WebVTT seran escritos como archivos WebVTT. V_MPEG1, V_MPEG2 Las pistas de video MPEG-1 y MPEG-2 seran escritas como secuencias basicas 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(TM) del paquete GPAC(TM). V_MPEG4/ISO/HEVC Las pistas de video H.265/HEVC seran escritas a secuencias basicas H.265 que pueden ser procesadas posteriormente, por ejemplo, con MP4Box(TM) del paquete GPAC(TM). 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(TM) se escriben en archivos RealMedia(TM). V_THEORA Las secuencias Theora(TM) se escribiran en un contenedor Ogg(TM). 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 estan. No se realiza ningun tipo de conversion. Chapters Los capitulos se convierten a formato XML. Este formato es el mismo que mkvmerge(1) admite para leer capitulos. Alternativamente, una version reducida puede ser generada a un simple formato de estilo OGM. Timestamps Los codigos 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 extraccion a otros formatos (v1, v3 y v4) no son compatibles. CODIGOS DE SALIDA mkvextract(1) finaliza con uno de estos tres codigos de salida: o 0 -- Este codigo de salida significa que la extraccion se ha realizado correctamente. o 1 -- En este caso mkvextract(1) genera una salida con al menos una advertencia, pero la extraccion continuo. Una advertencia es prefijada con el texto 'Advertencia:'. Dependiendo de los fallos involucrados los archivos creados seran correctos o no. El usuario es instado a que revise tanto las advertencias como los archivos creados. o 2 -- Este codigo de salida es usado despues de que ocurra un error. mkvextract(1) aborta el proceso justo despues de mostrar el mensaje de error. El rango de los mensajes de error va desde los argumentos de la linea de comandos, por delante de los errores de lectura/escritura, hasta los archivos erroneos. VARIABLES DE ENTORNO mkvextract(1) usa las variables predefinidas que se determinan en la configuracion 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 traves de la opcion --debug. MKVEXTRACT_ENGAGE, MKVTOOLNIX_ENGAGE y su forma abreviada MTX_ENGAGE El contenido se trata como si se hubiese pasado a traves de la opcion --engage. VEA TAMBIEN mkvmerge(1), mkvinfo(1), mkvpropedit(1), mkvtoolnix-gui(1) WWW La ultima version se puede encontrar siempre en la pagina de MKVToolNix[1]. AUTOR Moritz Bunkus Desarrollador NOTAS 1. la pagina de MKVToolNix https://mkvtoolnix.download/ MKVToolNix 83.0 2024-03-10 MKVEXTRACT(1)