MKVMERGE(1) Comandos de usuario MKVMERGE(1) NOMBRE mkvmerge - Multiplexa secuencias multimedia en un archivo Matroska(TM) SINOPSIS mkvmerge [opciones globales] {-o salida} [opciones1] {archivo1} [[opciones2] {archivo2}] [@archivo-opciones.json] DESCRIPCION Este programa toma de la entrada diversos archivos multimedia y une sus secuencias (todas ellas o solo las seleccionadas) en un archivo Matroska(TM); mire la pagina web de Matroska(TM)[1]. Importante El orden de las opciones en la linea de comandos es importante. Por favor, lea la seccion "Orden de opciones" si eres nuevo usando el programa. Opciones generales -v, --verbose Incrementa el detalle (verbose). -q, --quiet Suprime la salida. -o, --output nombre-archivo Escribe el nombre-archivo. Si la division es usada entonces este parametro es tratado de distinta manera. Mire la explicacion sobre la opcion --split para obtener mas detalles. -w, --webm Crea un archivo compatible WebM. Esto tambien se habilita si el nombre de la extension del archivo de salida es "webm". Este modo impone ciertas restricciones. Los unicos codecs permitidos son VP8, VP9 para video y Opus, Vorbis para pistas de audio. La entrada DocType de la cabecera se cambia a "webm". Para capitulos y etiquetas solo se permite un subconjunto de elementos. mkvmerge(1) eliminara automaticamente todos los elementos no permitidos por la especificacion. --title titulo Establece el titulo general para el archivo de salida, p.e. el nombre de la pelicula. --default-language codigo-lenguaje Establece el codigo de lenguaje predefinido que sera usado para todas las pistas a menos que se sobrescriban con la opcion --language. El codigo de idioma predefinido es 'und' para 'indeterminado'. Manipulacion de informacion del segmento (opciones generales) --segmentinfo nombre-archivo.xml Lee la informacion del segmento a partir de un archivo XML. Este archivo puede contener el UID de la familia del segmento: el UID del segmento, los elementos UID del segmento anterior y siguiente. Un archivo de ejemplo asi como un DTD estan incluidos en el paquete de MKVToolNix. Consulte la seccion de mas adelante sobre los archivos XML de informacion del segmento para mas detalles. --segment-uid SID1,SID2,... Establece los UIDs del segmento que se usaran. Esto es una lista separada por comas con UIDs del segmento con una longitud de 128 bits en la forma tipica del UID: numeros hexadecimales con o sin el prefijo "0x" con o sin espacios y siendo 32 digitos exactos. Si el SID comienza con = entonces el resto se interpreta como el nombre de un archivo Matroska cuyo UID del segmento es leido y usado. Cada archivo creado contiene un segmento, y cada segmento tiene un SID (UID del segmento). Si se especifican mas SIDs que segmentos entonces los UIDs que sobren son ignorados. Si se especifican menos UIDs que segmentos entonces se crearan de manera aleatoria los UIDs que faltan. Manipulacion de capitulos y etiquetas (opciones generales) --chapter-language codigo-idioma Establece el codigo de idioma ISO 639-2 que se escribe en cada entrada de capitulo. Por defecto se establece a 'eng'. Consulte la seccion de mas adelante sobre los capitulos para obtener mas detalles. Esta opcion puede ser usada tanto para archivos simples de capitulos como para archivos de entrada que contengan capitulos sin informacion del idioma de los capitulos, p.e. archivos MP4 y OGM. El idioma establecido con esta opcion se usa tambien cuando los capitulos se generan con la --generate-chapters opcion. --chapter-charset conjunto-caracteres Establece el conjunto de caracteres que se usara para la conversion a UTF-8 para archivos simples de capitulos. Consulte la seccion sobre la conversion de archivos de texto y conjunto de caracteres para ver una explicacion sobre como mkvmerge(1) realiza la conversion entre conjunto de caracteres. Este ajuste tambien se aplica a los capitulos que se copian desde ciertos tipos de contenedores, p.e. archivos Ogg/OGM y MP4. Consulte la seccion de mas adelante sobre capitulos para obtener mas detalles. --chapter-sync d[,o[/p]] Ajusta los codigos de tiempo de los capitulos en el siguiente archivo de origen en d ms. Como alternativa, se puede usar la opcion --sync con el ID -2 de pista especial (consulte la seccion IDs de pista especiales) o/p: ajusta las marcas de tiempo por o/p para fijar desfases lineales. Si se omite, p por defecto es 1. Tanto o y p pueden ser numeros decimales. Por defecto: no hay ninguna sincronizacion manual (que es lo mismo que d = 0 y o/p = 1.0). Esta opcion se puede utilizar varias veces para un archivo de entrada aplicandola a diversas pistas seleccionando IDs de pista diferente de pista cada vez. --generate-chapters modo mkvmerge(1) puede crear capitulos automaticamente. Actualmente, se admiten los siguientes dos modos: o 'when-appending' - Este modo crea un capitulo al inicio y cada vez que se une un archivo. Este modo tambien funciona con los tipos de corte 'partes:' y 'partes-fotogramas:'. Para estos modos se generara un capitulo por cada rango de marcas de tiempo unidas (aquellos cuyas marcas de tiempo inicien con '+'). Nota mkvmerge(1) requiere una pista de video o audio a fin de poder determinar cuando se une un nuevo archivo. Si una o mas pistas de video se multiplexan, se utiliza la primera. Por el contrario, se utiliza la primera pista de audio. o 'interval:time-spec' - Este modo crea un capitulo conforme a un intervalo establecido mediante time-spec. El formato es HH:MM:SS.nnnnnnnnn o un numero seguido por una unidad 's', 'ms' o 'us'. Ejemplo: --generate-chapters interval:45s Los nombres para los nuevos capitulos se controlan con la opcion --generate-chapters-name-template. El idioma se establece con --chapter-language que se debe establecer antes de --generate-chapters. --generate-chapters-name-template plantilla Esto establece el nombre de la plantilla para los nombres de los capitulos creados con la opcion --generate-chapters. Si no se usa la opcion entonces se usa por defecto 'Chapter '. Hay diversas variables que se pueden usar en la plantilla que son reemplazadas por sus valores correspondientes cuando se genera un capitulo. La cadena de texto '' sera reemplazada por el numero de capitulo. La cadena de texto '' sera reemplazada por la marca de tiempo inicial del capitulo. Las cadenas '' y '' solo se rellenan cuando se generan capitulos para los archivos anexados. Seran reemplazados por el nombre del archivo anexado con su extension, no respectivamente. Tenga en cuenta que solo se insertan el nombre base y la extension del archivo, no sus componentes de directorio o unidad. Puede especificar el numero minimo de digitos del numero del capitulo con '', p.e. ''. Se le anadiran ceros a la izquierda si el numero resultante tiene menos digitos de los especificados. Puede controlar el formato a usar segun la marca de tiempo inicial con . Por defecto, se usara '%H:%M:%S'. Los codigos validos de formato son: o %h - horas o %H - horas con dos digitos que admiten ceros a la izquierda o %m - minutos o %M - minutos con dos digitos que admiten ceros a la izquierda o %s - segundos o %S - segundos con dos digitos que admiten ceros a la izquierda o %n - nanosegundos con nueve digitos o %<1-9>n - nanosegundos con hasta nueve digitos (p.e. tres digitos con %3n) --cue-chapter-name-format formato mkvmerge(1) puede leer CUE sheets de archivos de audio como entrada para capitulos. Los CUE sheets normalmente contiene las entradas PERFORMER y TITLE para cada entrada del indice. mkvmerge(1) usa estos dos textos a fin de construir el nombre del capitulo. Con esta opcion, se puede configurar el formato usado para este nombre. Si esta opcion no se establece entonces mkvmerge(1) usa por defecto el formato '%p - %t' (el artista, seguido por un espacio, una barra, otro espacio y el titulo). Si el formato esta establecido entonces todo es copiado tal y como esta excepto los siguientes meta caracteres que seran reemplazados por: o %p es reemplazado por el texto de la entrada PERFORMER, o %t es reemplazado por el texto de la entrada TITLE, o %n es reemplazado por el numero de la pista y, o %N es reemplazado por el numero de la pista, agregandole un cero a la izquierda si el numero es menor de 10. --chapters nombre-archivo Lee la informacion de capitulo de nombre-archivo. Consulte la seccion de mas adelante sobre capitulos para obtener mas detalles. --global-tags nombre-archivo Lee las etiquetas globales de nombre-archivo. Consulte la seccion de mas adelante sobre etiquetas para obtener mas detalles. Control general de salida (opciones generales avanzadas) --track-order FID1:TID1,FID2:TID2,... Esta opcion cambia el orden en el que se crean las pistas de un archivo de entrada. El argumento es una lista separada por comas de pares de IDs. Cada par contiene primero el ID de archivo (FID1) que es tan solo es el numero del archivo en la linea de comandos partiendo de cero. El segundo es el ID de pista (TID1) de ese archivo. Si algunos IDs de pista son omitidos entonces esas pistas se crean despues de que se hayan creado las establecidas con esta opcion. Si no se especifica esta opcion, en primer lugar, las pistas se ordenaran en por su tipo & y en segundo lugar, por el orden de su archivo de origen. Las pistas de video aparecen en primer lugar, seguidas de las pistas de audio y subtitulos. Otros tipos de pistas poco utilizados aparecen en ultimo lugar. --cluster-length especificacion Limita el numero de bloques de datos o la duracion de los datos en cada cluster. El parametro especificacion puede ser un numero n sin unidad o un numero d con el sufijo 'ms'. Si no se usa ninguna unidad entonces mkvmerge(1) pondra como maximo n bloques de informacion en cada cluster. El numero maximo de bloques es 65535. Si el numero d tiene el sufijo 'ms' entonces mkvmerge(1) pondra como maximo d milisegundos de informacion en cada cluster. El valor minimo para d es '100ms', y el maximo es '32000ms'. mkvmerge(1) por defecto pone como maximo 65535 bloques de informacion y 5000ms de informacion en cada cluster. Los programas al tratar de encontrar cierto fotograma tan solo pueden buscar directamente un cluster y posteriormente leer todo el cluster. Por lo tanto, crear clusteres muy grandes podria conllevar una busqueda lenta e imprecisa. --clusters-in-meta-seek Le dice a mkvmerge(1) crear un elemento meta seek al final del archivo que contendra todos los clusteres. Consulte tambien la seccion sobre diseno de archivos Matroska(TM). --timestamp-scale factor Fuerza el factor de escala de los codigos de tiempo con factor. Los valores admitidos estan comprendidos en el rango 1000..10000000 o el valor especial -1. Normalmente, mkvmerge(1) usara el valor 1000000 lo que significa que los codigos de tiempo y duraciones tendran una precision de 1ms. Para los archivos que no vayan a contener una pista de video pero si al menos una de audio entonces mkvmerge(1) elegira automaticamente un factor de escala de codigos de tiempo por lo que todos los codigos de tiempo y duraciones tendran una precision de una muestra (sample) de audio. Esto causa una sobrecarga mayor pero permite que la busqueda y extraccion sea mas precisa. Si se usa el valor especial -1 entonces mkvmerge(1) usara la precision de la muestra incluso si existe una pista de video. --enable-durations Escribe las duraciones para todos los bloques. Esto incrementara el tamano del archivo y por ahora, no ofrece ningun valor adicional para los reproductores. --no-cues Le dice a mkvmerge(1) no crear y escribir la informacion del indice (cue) que puede ser comparada al indice de un AVI. Los archivos Matroska(TM) se pueden reproducir sin la informacion del indice, pero la busqueda sera probablemente imprecisa y lenta. Usa esto tan solo si realmente estas desesperado por ahorrar espacio o con fines de testeo. Mire tambien la opcion --cues que puede ser especificada para cada archivo de entrada. --no-date Por defecto mkvmerge(1) establece en el campo "fecha" de informacion del segmento el tiempo & fecha del inicio del multiplexado. Con esta opcion, este campo no sera escrito. --disable-lacing Deshabilita el lacing para todas las pistas. Esto incrementara el tamano del archivo, especialmente si hay muchas pistas de audio. Esta opcion no esta disenada para su uso frecuente. --disable-track-statistics-tags Normalmente, mkvmerge(1) escribira algunas etiquetas con estadisticas para cada pista. Si dichas etiquetas ya estan presentes entonces seran sobrescritas. Las etiquetas BPS, DURATION, NUMBER_OF_BYTES y NUMBER_OF_FRAMES. Habilitar esta opcion impide que mkvmerge(1) escriba y edite las etiquetas existentes con los mismos nombres. --disable-language-ietf Normalmente mkvmerge(1) escribira los nuevos elementos de idioma IETF BCP 47 junto con los elementos de idioma heredados en los encabezados de pista, capitulos y etiquetas. Si se usa esta opcion, unicamente seran escritos los elementos heredados. --normalize-language-ietf modo Habilita la normalizacion de todas las etiquetas de idioma IETF BCP 47 a su forma canonica con el modo 'canonical', a su forma de sub-etiquetas de idioma extendido con el modo 'extlang' o lo desactiva con el modo 'off'. Por defecto, se aplica la normalizacion a la forma canonica. En la forma canonica todas las sub-etiquetas para las que existe valores preferidos se reemplazan por esos valores preferidos. Por ejemplo, convierte esto 'zh-yue-jyutping' a 'yue-jyutping' o 'fr-FX' a 'fr-FR'. Para las sub-etiquetas de idioma extendido, primero se crea la forma canonica. Despues se reemplazan por esa sub-etiqueta de idioma extendido y su prefijo todos los idiomas principales para los que existe una sub-etiqueta de idioma extendido. Por ejemplo, esto convierte 'yue-jyutping' a 'zh-yue-jyutping' y no sucede nada en 'fr-FR' ya que 'fr' no es una sub-etiqueta de idioma extendido. --stop-after-video-ends Detiene el procesamiento una vez finalizada la pista de video principal, descartando los paquetes restantes de otras pistas. Division, vinculacion, union y concatenacion de archivos (mas opciones generales) --split especificacion Divide el archivo generado despues de un tamano o tiempo especificado. Por favor, tenga en cuenta que estas pistas solo pueden ser divididas justo antes de un fotograma clave. Por lo tanto, el punto de division podria ser algo distinto del especificado por el usuario. Por el momento mkvmerge(1) soporta los siguientes modos: 1. Division por tamano. Sintaxis: --split [size:]d[k|m|g] Ejemplos: --split size:700m or --split 150000000 El parametro d puede acabar con 'k', 'm' o 'g' para indicar que el tamano estan en KB, MB o GB, respectivamente. De cualquier otro modo, se asume el tamano en bytes. Despues de que el archivo de salida alcance el tamano limite, comienza la creacion de otro archivo. El prefijo 'size:' se puede omitir por motivos de compatibilidad. 2. Division por duracion. Sintaxis: --split [duration:]HH:MM:SS.nnnnnnnnn|ds Ejemplos: --split duration:00:60:00.000 o --split 3600s El parametro puede tener la forma HH:MM:SS.nnnnnnnnn para especificar la duracion en precision de nanosegundos o puede ser un numero d seguido por la letra 's' para una duracion en segundos. HH es el numero de las horas, MM el de los minutos, SS para los segundos y nnnnnnnnn son los nanosegundos. Tanto los numeros de las horas como los nanosegundos pueden ser omitidos. Hay hasta nueve digitos despues del punto decimal. Despues de que la duracion del contenido, en el archivo actual, alcance este limite comienza la creacion de otro archivo. El prefijo 'duration:' puede ser omitido por motivos de compatibilidad. 3. Division por codigos de tiempo. Sintaxis: --split timestamps:A[,B[,C...]] Ejemplo: --split timestamps:00:45:00.000,01:20:00.250,6300s Los parametros A, B, C, etc... pueden tener el mismo formato que el usado para la division por duracion (mire mas arriba). La lista de codigos de tiempo estan separados por comas. Tras alcanzar, en la secuencia de entrada, el codigo de tiempo del punto de division actual se crea un nuevo archivo. Entonces se usa el siguiente punto de division especificado en la lista. El prefijo 'timestamps:' no puede ser omitido. 4. Conservar las partes especificadas por los rangos de codigos de tiempo especificados mientras que las otras que son descartadas. Sintaxis: --split parts:inicio1-fin1[,[+]inicio2-fin2[,[+]inicio3-fin3...]] Ejemplos: 1. --split parts:00:01:20-00:02:45,00:05:50-00:10:30 2. --split parts:00:01:20-00:02:45,+00:05:50-00:10:30 3. --split parts:-00:02:45,00:05:50- El modo parts le dice a mkvmerge(1) conservar ciertos rangos de codigos de tiempo mientras se descartan otros. Los rangos a conservar tienen que ser listados despues de la palabra clave parts: y separados por comas. Un rango, en si mismo, consiste en un inicio y un fin, en el mismo formato y formas que acepta --split (p.e. tanto 00:01:20 y 80s se refieren al mismo codigo de tiempo). Si el codigo de tiempo de inicio se omite entonces por defecto lo toma del valor del codigo de tiempo final del rango anterior. Si no existe un rango anterior entonces por defecto lo toma el valor del inicio del archivo (mire el ejemplo 3). Si el codigo de tiempo final se omite entonces por defecto lo toma del valor final de los archivos entrada que basicamente le dice a mkvmerge(1) que conserve el resto (mire el ejemplo 3). Por lo general, cada rango sera escrito a un nuevo archivo. Esto se puede cambiar para que los rangos consecutivos se escriban en el mismo archivo. Por eso el usuario tiene que asignar el prefijo + al codigo de tiempo de inicial. Esto le dice a mkvmerge(1) que no cree un nuevo archivo y, en vez de eso, concatene el rango despues del ultimo rango escrito en el archivo. Los codigos de tiempo seran ajustados para que no existan discontinuidades en el archivo de salida incluso si habia un espacio sin abarcar entre dos rangos del archivo de entrada. En el ejemplo 1 mkvmerge(1) creara dos archivos. El primero abarca el contenido a partir de 00:01:20 hasta 00:02:45. El segundo archivo comprende el contenido a partir de 00:05:50 hasta 00:10:30. En el ejemplo 2 mkvmerge(1) creara solo un archivo. Este archivo abarcara tanto el contenido a partir de 00:01:20 hasta 00:02:45, como el contenido a partir de 00:05:50 hasta 00:10:30. En el ejemplo 3 mkvmerge(1) creara dos archivos. El primero abarcara el contenido desde el inicio del archivo de entrada hasta 00:02:45. El segundo archivo abarca el contenido a partir de 00:05:50 hasta el final del archivo de entrada. Nota Tenga en cuenta que mkvmerge(1) solo realiza divisiones en fotogramas claves. Esto es aplicable tanto al inicio como al final de cada rango. Asi que si un codigo de tiempo final esta entre dos fotogramas claves, mkvmerge(1) continuara el procesamiento de los fotogramas hasta el final pero excluira el siguiente fotograma clave. 5. Conservar partes concretas especificando rangos numericos de fotogramas/campos mientras se descartan otros. Sintaxis: --split parts-frames:inicio1-fin1[,[+]inicio2-fin2[,[+]inicio3-fin3...]] Ejemplos: 1. --split parts-frames:137-258,548-1211 2. --split parts-frames:733-912,+1592-2730 3. --split parts-frames:-430,2512- El modo parts-frames le dice a mkvmerge(1) para conservar ciertos rangos numericos de fotogramas/campos mientras se descartan otros. Los rangos a conservan tienen que ser especificados despues de la palabra clave parts-frames: y separados por comas. Un rango, en si mismo, es un numero de un fotograma/campo inicial y final. La numeracion comienza en 1. Si el numero inicial se omite entonces por defecto lo toma del numero final del rango anterior. Si no existe un rango anterior entonces por defecto lo toma del inicio del archivo (mire el ejemplo 3). Si el numero final se omite entonces por defecto lo toma del final del archivo de entrada que basicamente le dice a mkvmerge(1) que conserve el resto (mire el ejemplo 3). Por lo general, cada rango sera escrito a un nuevo archivo. Esto se puede cambiar para que los rangos consecutivos se escriban en el mismo archivo. Por eso el usuario tiene que asignar el prefijo + al codigo de tiempo de inicial. Esto le dice a mkvmerge(1) que no cree un nuevo archivo y, en vez de eso, concatene el rango despues del ultimo rango escrito en el archivo. Los codigos de tiempo seran ajustados para que no existan discontinuidades en el archivo de salida incluso si habia un espacio sin abarcar entre dos rangos del archivo de entrada. Nota Tenga en cuenta que mkvmerge(1) solo realiza divisiones en fotogramas claves. Esto es aplicable tanto al inicio como al final de cada rango. Asi que si un codigo de tiempo final esta entre dos fotogramas claves, mkvmerge(1) continuara el procesamiento de los fotogramas hasta el final pero excluira el siguiente fotograma clave. En el ejemplo 1 mkvmerge(1) creara dos archivos. El primero abarca el contenido a partir del primer fotograma clave anterior, posterior o el mismo 137 hasta el primer fotograma clave anterior o el mismo 258. El segundo abarca el contenido a partir del 548 hasta el 1211. En el ejemplo 2 mkvmerge(1) creara solo un archivo. Este archivo contendra tanto el contenido a partir del 733 hasta el 912 como el contenido a partir del 1592 hasta el 2730. En el ejemplo 3 mkvmerge(1) creara dos archivos. El primero abarcara el contenido a partir del inicio del archivo de entrada hasta el 430. El segundo archivo abarcara el contenido a partir del 2512 hasta el final del archivo de entrada. Este modo solo toma en cuenta la primera pista de video que se genera. Si no se genera ninguna pista de video entonces la division no ocurrira. Nota Los numeros especificados con este argumento son interpretados en base al numero de bloques Matroska(TM) que se generan. Un unico bloque Matroska(TM) contiene un fotograma completo (material progresivo) o solo un campo(material entrelazado). Mkvmerge no hace distinciones entre estos dos y tan solo cuenta el numero de bloques. Por ejemplo: Si se quiere dividir despues del 25o fotograma con material entrelazado, entonces tendria que usar 50 (dos campos por fotograma) como punto de corte. 6. Division despues fotogramas/campos especificos. Sintaxis: --split frames:A[,B[,C...]] Ejemplo: --split frames:120,237,891 Los parametros A, B, C, etc... deben ser todos enteros positivos. La numeracion comienza por 1. La lista de numeros de fotograma/campo esta separada por comas. Despues de que la secuencia de entrada haya alcanzado el numero de fotograma/campo establecido como punto de division, se crea un nuevo archivo. Entonces se usa el siguiente punto de division especificado en la lista. es usado. El prefijo 'frames:' no puede ser omitido. Este modo solo toma en cuenta la primera pista de video que se genera. Si no se genera ninguna pista de video entonces la division no ocurrira. Nota Los numeros especificados con este argumento son interpretados en base al numero de bloques Matroska(TM) que se generan. Un unico bloque Matroska(TM) contiene un fotograma completo (material progresivo) o solo un campo(material entrelazado). Mkvmerge no hace distinciones entre estos dos y tan solo cuenta el numero de bloques. Por ejemplo: Si se quiere dividir despues del 25o fotograma con material entrelazado, entonces tendria que usar 50 (dos campos por fotograma) como punto de corte. 7. Division antes de capitulos especificos. Sintaxis: --split chapters:all o --split chapters:A[,B[,C...]] Ejemplo: --split chapters:5,8 Los parametros A, B, C, etc... deben ser todos enteros positivos. La numeracion comienza por 1. La lista de capitulos esta separada por comas. La division ocurrira justo antes del primer fotograma clave cuyo codigo de tiempo sea igual o mayor que el codigo de tiempo inicial para los capitulos cuyos numeros estan listados. Un capitulo que comienza a los 0s nunca se tiene en cuenta para la division siendo omitido silenciosamente. La palabra clave all puede ser usado en vez de una lista de todos los numeros de los capitulos. El prefijo 'chapters:' no puede ser omitido. Nota El formato del archivo Matroska(TM) soporta estructuras arbitrarias y profundamente anidadas de capitulos llamadas 'edition entries' y 'chapter atoms'. Sin embargo, esta modalidad solo tiene en cuenta el nivel mas alto de los capitulos a traves de todas las entradas de la edicion. En el modo de division el nombre del archivo generado se trata de manera diferente que con el funcionamiento normal. Puede contener un printf como expresion '%d' incluyendo un ancho de campo opcional, p.e. '%02d'. Si se hace entonces el numero de archivo actual es formateado apropiadamente e insertado en ese punto del nombre del archivo. Si no existe dicho patron entonces se asume '-%03d' como patron justo antes de la extension del archivo: '-o salida.mkv' resultaria en 'salida-001.mkv' y asi en adelante. Si no hay extension entonces '-%03d' sera agregado al nombre. Otro posible patron es '%c' que sera reemplazado por el nombre del primer capitulo del archivo. Tenga en cuenta que cuando figure '%c', el patron '-%03d' no sera anadido automaticamente. --link Archivos vinculados a otros cuando se divide el archivo generado. Consulte la siguiente seccion vinculacion de archivos para mas detalles. --link-to-previous segmento-UID Vincula el primer archivo generado al segmento con el UID del segmento especificado mediante el parametro segmento-UID. Consulte la siguiente seccion vinculacion de archivos para mas detalles. Si el SID comienza con = entonces el resto se interpreta como el nombre de un archivo Matroska cuyo UID del segmento es leido y usado. --link-to-next segmento-UID Vincula el ultimo archivo generado al segmento con el UID del segmento especificado por el parametro segmento-UID. Consulte la siguiente seccion vinculacion de archivos para mas detalles. Si el SID comienza con = entonces el resto se interpreta como el nombre de un archivo Matroska cuyo UID del segmento es leido y usado. --append-mode modo Establece como se calculan los codigos de tiempo al unir archivos. El parametro modo puede tener dos valores: 'file' que es la opcion por defecto y 'track'. Cuando mkvmerge realiza la union de una pista (llamada 'pista2_1' de ahora en adelante) procedente de un segundo archivo llamado 'archivo2') a una pista (llamada 'pista1_1') del primer archivo (llamado 'archivo1') entonces tiene que compensar cierta cantidad en todos los codigos de tiempo de 'pista2_1'. En el modo 'file' esta cantidad es el mayor codigo de tiempo encontrado en el 'archivo1' incluso si ese codigo de tiempo proviniera de una pista diferente a 'pista1_1'. En el modo track la compensacion es el mayor codigo de tiempo de 'pista1_1'. Por desgracia, mkvmerge no puede detectar que modo es mas conveniente para ser utilizado. Por lo tanto, por defecto usa el modo 'file'. El modo 'file' por lo general funciona mejor para archivos que fueron creados independientemente los unos de los otros; p.e. cuando se unen archivos AVI o MP4. El modo 'track' podria funcionar mejor para fuentes que esencialmente son partes de un archivo, p.e. para archivos VOB y EVO. Las pistas de subtitulos siempre son tratadas como si el modo 'file' estuviese activado incluso si el que esta activado es el modo 'track'. --append-to SFID1:STID1:DFID1:DTID1[,...] Esta opcion controla que pista es unida a otra. Cada especificacion contiene cuatro IDs: un ID de archivo (FID), un ID de pista (TID), un segundo ID de archivo y un segundo ID de pista. El primera par, "Source File ID" y "Source Track ID", identifica la pista que va a ser unida. El segundo par, "Destination File ID" y "Destination Track ID", identifica la pista a la que sera unida la primera. Si se omite esta opcion entonces se usa un mapeo estandar. Este mapeo estandar une cada pista del archivo actual a una pista del anterior archivo con el mismo ID de pista. Esto permite unir facilmente dos archivos que habian sido divididos a partir de una pelicula, si tienen el mismo numero de pistas y el ID de pista, con ayuda del comando: mkvmerge -o salida.mkv parte1.mkv +parte2.mkv. + Un unico '+' provoca que el siguiente archivo es unido en vez de anadido. El '+' tambien se puede poner delante del siguiente nombre del archivo. Por lo tanto, los dos comandos siguientes son equivalentes: mkvmerge -o completo.mkv archivo1.mkv + archivo2.mkv mkvmerge -o completo.mkv archivo1.mkv +archivo2.mkv [ archivo1 archivo2 ] Si varios nombres de archivos estan entre corchetes entonces el segundo y los restantes archivos seran anadidos al primer archivo que este editado entre corchetes. Esta es una sintaxis alternativa a usar '+' entre los nombres de archivos. Por lo tanto, los dos siguientes comandos son equivalentes: $ mkvmerge -o completo.mkv archivo1.mkv + archivo2.mkv $ mkvmerge -o completo.mkv '[' archivo1.mkv archivo2.mkv ']' = Para algunos tipos de archivos (secuencias de programa MPEG = VOBs) mkvmerge(1) normalmente busca archivos en el mismo directorio del archivo de entrada que tiene el mismo nombre base y solo difiere en su numero de ejecucion (p.e. 'VTS_01_1.VOB', 'VTS_01_2.VOB', 'VTS_01_3.VOB' etc) y trata a todos esos archivos como si estuviesen concatenados en un unico gran archivo. Esta opcion, un unico '=', provoca que mkvmerge no busque esos archivos adicionales. El '=' tambien se puede poner delante del siguiente nombre del archivo. Por lo tanto, los dos comandos siguientes son equivalentes: $ mkvmerge -o completo.mkv = archivo1.vob $ mkvmerge -o completo.mkv =archivo1.vob ( archivo1 archivo2 ) Si multiples nombres de archivos estan entre parentesis entonces estos archivos seran tratados como si estuviesen unidos en un unico archivo, el cual consiste en el contenido de cada uno de los archivos uno detras de otro. Por ejemplo, esto se puede usar con archivos VOB procedentes de de un DVD o de MPEG-TS (transport streams). No se puede usar si cada archivo contiene su propio conjunto de encabezados que suele ser el caso con archivos como AVI o MP4. Poner el nombre del archivo entre parentesis tambien evita que mkvmerge(1) busque archivos adicionales con el mismo nombre base tal y como se ha descrito en opcion =. Por lo tanto, los dos comandos siguientes son equivalentes: mkvmerge -o salida.mkv = archivo.mkv mkvmerge -o salida.mkv "(" archivo.mkv ")" Varias cosas se deben tener en cuenta: 1. Debe haber espacios antes y despues de los signos de parentesis. 2. Cada parametro entre parentesis se interpreta como un nombre de archivo. Por lo tanto, todas las opciones que se deban aplicar a este archivo logico deben ser introducidas antes del signo de apertura del parentesis. 3. Algunos entornos tratan a los parentesis como caracteres especiales. Por lo tanto, deben ser escapados o entrecomillados tal y como se muestra en el ejemplo anterior. Soporte de adjuntos (mas opciones globales) --attachment-description descripcion Descripcion en texto sin formato del siguiente adjunto. Esto afecta a la opcion --attach-file o --attach-file-once option. --attachment-mime-type Tipo MIME Tipo MIME del siguiente adjunto. Se aplica a una de las siguientes opciones --attach-file o --attach-file-once. Una lista oficial de tipos MIME que son reconocidos se pueden encontrar en la pagina web de IANA[2]. El tipo MIME es obligatorio para un adjunto. Si no especifica el tipo MIME para un adjunto, su tipo se detectera automaticamente. --attachment-name nombre Establece el nombre de este adjunto que sera almacenado en el archivo de salida. Si no se especifico esta opcion entonces el nombre sera generado a partir del nombre del archivo del adjunto especificado con la opcion --attach-file o --attach-file-once. --attach-file nombre-archivo, --attach-file-once nombre-archivo Crea un archivo adjunto dentro del archivo Matroska(TM). El tipo MIME debe establecerse antes de que esta opcion pueda ser utilizada. La diferencia entre las dos formas es que durante la division los archivos adjuntos con --attach-file son adjuntados a todos los archivos de salida mientras que con --attach-file-once tan solo se adjuntan al primer archivo creado. Si no se usa la division entonces ambas opciones hacen lo mismo. mkvextract(1) puede ser utilizado para extraer los archivos adjuntos de un archivo Matroska(TM). --enable-legacy-font-mime-types Habilita el uso de tipos MIME heredados para ciertos tipos de fuentes adjuntas. Por ejemplo, 'application/x-truetype-font' se usara para fuentes TrueType en vez de 'fonts/ttf'. Esto afecta tanto a los nuevos adjuntos, si su tipo MIME se detecta automaticamente, como a los adjuntos existentes cuyos tipos MIMEalmacenados seran reasignados a los heredados. Los tipos MIME afectados son 'font/sfnt', 'font/ttf' y 'font/collection' los cuales estan asignados a 'application/x-truetype-fonts' y 'font/otf', que esta asignado a 'application/vnd.ms-opentype'. Opciones que se pueden usar para cada archivo de entrada -a, --audio-tracks [!]n,m,... Copia las pistas de audio n, m, etc. Los numeros son los ID de pista que pueden ser obtenidos con la opcion --identify. No son los numeros de la pista (consulte la seccion IDs de pista). Por defecto: copia todas las pistas de audio. En lugar del ID de pista tambien se puede especificar el codigo de idioma ISO 639-2. Esto solo funciona para archivos de entrada que ofrecen etiquetas de idioma para sus pistas. Por defecto: copia todas las pistas de este tipo. Si los IDs estan prefijados con ! entonces significa lo contrario: copia todas las pistas de este tipo excepto las enumeradas despues del !. -d, --video-tracks [!]n,m,... Copia las pistas de video n, m, etc. Los numeros son los ID de pista que pueden ser obtenidos con la opcion --identify. No son los numeros de la pista (consulte la seccion IDs de pista). Por defecto: copia todas las pistas de video. En lugar del ID de pista tambien se puede especificar el codigo de idioma ISO 639-2. Esto solo funciona para archivos de entrada que ofrecen etiquetas de idioma para sus pistas. Si los IDs estan prefijados con ! entonces significa lo contrario: copia todas las pistas de este tipo excepto las enumeradas despues del !. -s, --subtitle-tracks [!]n,m,... Copia las pistas de subtitulos n, m, etc. Los numeros son los ID de pista que pueden ser obtenidos con la opcion --identify. No son los numeros de la pista (consulte la seccion IDs de pista). Por defecto: copia todas las pistas de subtitulos. En lugar del ID de pista tambien se puede especificar el codigo de idioma ISO 639-2. Esto solo funciona para archivos de entrada que ofrecen etiquetas de idioma para sus pistas. Si los IDs estan prefijados con ! entonces significa lo contrario: copia todas las pistas de este tipo excepto las enumeradas despues del !. -b, --button-tracks [!]n,m,... Copia las pistas de boton n, m, etc. Los numeros son los ID de pista que pueden ser obtenidos con la opcion --identify. No son los numeros de la pista (consulte la seccion IDs de pista). Por defecto: copia todas las pistas de boton. En lugar del ID de pista tambien se puede especificar el codigo de idioma ISO 639-2. Esto solo funciona para archivos de entrada que ofrecen etiquetas de idioma para sus pistas. Si los IDs estan prefijados con ! entonces significa lo contrario: copia todas las pistas de este tipo excepto las enumeradas despues del !. --track-tags [!]n,m,... Copia las etiquetas de las pistas n, m, etc. Los numeros son los ID de pista que pueden ser obtenidos con la opcion --identify. No son los numeros de la pista (consulte la seccion --identify). Por defecto: copia las etiquetas de todas las pistas. Si los IDs estan prefijados con ! entonces significa lo contrario: copia todas las pistas de este tipo excepto las enumeradas despues del !. -m, --attachments [!]n[:all|first],m[:all|first],... Copia los adjuntos con los IDs n, m, etc... a todos (all) o solo al primer archivo generado (first). A cada ID se le puede anadir ':all' (que es la opcion predeterminada) o ':first'. Si la division esta activada entonces estos adjuntos cuyos IDs especificados con ':all' seran copiados a todos los archivos generados mientras que los especificados con ':first' solo seran copiados al primer archivo generado. Si la division no esta activada entonces ambas variantes producen el mismo efecto. Por defecto todos los adjuntos se copian a todos los archivos generados. Si los IDs estan prefijados con ! entonces significa lo contrario: copia todas las pistas de este tipo excepto las enumeradas despues del !. -A, --no-audio No copia ninguna pista de audio de este archivo. -D, --no-video No copia ninguna pista de video de este archivo. -S, --no-subtitles No copia ninguna pista de subtitulos de este archivo. -B, --no-buttons No copia ninguna pista de boton de este archivo. -T, --no-track-tags No copia ninguna etiqueta de la pista especificada de este archivo. --no-chapters No copia ningun capitulo de este archivo. -M, --no-attachments No copia ningun adjunto de este archivo. --no-global-tags No copia las etiquetas globales de este archivo. -y, --sync TID:d[,o[/p]] Ajusta los codigos de tiempo de la pista con el ID TID por d ms. Los IDs de la pista son los mismos que se muestran con la opcion --identify. (consulte la seccion IDs de pista). o/p: ajusta las marcas de tiempo por o/p para fijar desfases lineales. Si se omite, p por defecto es 1. Tanto o y p pueden ser numeros decimales. Por defecto: no hay ninguna sincronizacion manual (que es lo mismo que d = 0 y o/p = 1.0). Esta opcion se puede utilizar varias veces para un archivo de entrada aplicandola a diversas pistas seleccionando IDs de pista diferente de pista cada vez. --cues TID:none|iframes|all Controla que entradas del indice (cue) de la pistas se crean para una pista concreta (consulte la seccion IDs de pista). 'None' evita la creacion de entradas del indice. Solo los bloques 'iframes' sin referencias anteriores o posteriores ( = fotogramas I en pistas de video) se insertan en el cue sheet. 'All' provoca que mkvmerge(1) genere las entradas del indice para todos los bloques lo que hara que el archivo sea mas grande. Por defecto es 'iframes' para pistas de video y subtitulos, y 'none' para las pistas de audio. Mire tambien la opcion --no-cues que evita la creacion de entradas del indice a pesar de las opciones --cues utilizadas. Esta opcion se puede utilizar varias veces para un archivo de entrada aplicandola a diversas pistas seleccionando IDs de pista diferente de pista cada vez. --default-track-flag TID[:bool] Establece el indicador de "pista predefinida" en la pista especificada (consulte la seccion IDs de pista) si el argumento opcional bool esta establecido a 1 o si no esta presente. Si el contenedor de origen no proporciona esa informacion, y el usuario no la especifica mediante esta opcion, se establecera el indicador. Si el usuario no selecciona de forma explicita una pista durante la visualizacion, el reproductor debe seleccionar una de las pistas que tenga configurado el indicador de "pista predefinida", teniendo en cuenta las preferencias de usuario, como su idioma preferido. Esta opcion se puede utilizar varias veces para un archivo de entrada aplicandola a diversas pistas seleccionando IDs de pista diferente de pista cada vez. --track-enabled-flag TID[:bool] Establece el indicador de "pista habilitada" para la pista proporcionada (consulte la seccion IDs de pista) conforme al valorbool definido (0 o 1; si no se especifica por defecto es 1). Las pistas se habilitan por defecto si ninguna opcion se especifica para ellas y el contenedor de origen tampoco no facilita esta informacion. Solo aquellas pistas con indicador de "pista habilitada" configurado se tendran en cuenta para su reproduccion. Esta opcion se puede utilizar varias veces para un archivo de entrada aplicandola a diversas pistas seleccionando IDs de pista diferente de pista cada vez. --forced-display-flag TID[:bool] Establece el indicador de "visualizacion forzada" en la pista especificada (consulte la seccion IDs de pista) si el argumento opcional bool esta establecido a 1 o si no esta presente. Uselo para las pistas que incluyan texto en pantalla o dialogos en un idioma extranjero. Esta opcion se puede utilizar varias veces para un archivo de entrada aplicandola a diversas pistas seleccionando IDs de pista diferente de pista cada vez. --hearing-impaired-flag TID[:bool] Establece el indicador de "discapacidad auditiva" en la pista especificada (consulte la seccion IDs de pista) si el argumento opcional bool esta establecido a 1 o si no esta presente. Este indicador permite configurar si la pista es apta para usuarios con discapacidad auditiva. Esta opcion se puede utilizar varias veces para un archivo de entrada aplicandola a diversas pistas seleccionando IDs de pista diferente de pista cada vez. --visual-impaired-flag TID[:boleano] Establece el indicador de "discapacidad visual" en la pista especificada (consulte la seccion IDs de pista) si el argumento opcional bool esta establecido a 1 o si no esta presente. Este indicador permite configurar si la pista es apta para usuarios con discapacidad visual. Esta opcion se puede utilizar varias veces para un archivo de entrada aplicandola a diversas pistas seleccionando IDs de pista diferente de pista cada vez. --text-descriptions-flag TID[:boleano] Establece el indicador de "descripciones de texto" en la pista especificada (consulte la seccion IDs de pista) si el argumento opcional bool esta establecido a 1 o si no esta presente. Este indicador permite configurar si la pista incluye descripciones textuales del contenido del video aptas para reproducirse mediante un sistema de conversion de texto a voz para usuarios con discapacidad visual. Esta opcion se puede utilizar varias veces para un archivo de entrada aplicandola a diversas pistas seleccionando IDs de pista diferente de pista cada vez. --original-flag TID[:boleano] Establece el indicador de "idioma original" en la pista especificada (consulte la seccion IDs de pista) si el argumento opcional bool esta establecido a 1 o si no esta presente. Este indicador se puede configurar si la pista esta en el idioma original del contenido (no una traduccion). Esta opcion se puede utilizar varias veces para un archivo de entrada aplicandola a diversas pistas seleccionando IDs de pista diferente de pista cada vez. --commentary-flag TID[:boleano] Establece el indicador de "comentario" en la pista especificada (consulte la seccion IDs de pista) si el argumento opcional bool esta establecido a 1 o si no esta presente. Este indicador permite configurar si la pista contiene comentarios. Esta opcion se puede utilizar varias veces para un archivo de entrada aplicandola a diversas pistas seleccionando IDs de pista diferente de pista cada vez. --track-name TID:nombre Establece el nombre de la pista especificada al dado en nombre (consulte la seccion IDs de pista). --language TID:idioma Establece el idioma de la pista especificada (consulte la seccion IDs de pista). Tanto los codigos de idioma ISO 639-2 y los codigos de pais ISO 639-1 estan permitidos. Los codigos de los paises seran convertidos a codigos de idioma automaticamente. Todos los idiomas incluidos sus codigos ISO 639-2 pueden ser listados con la opcion --list-languages. Esta opcion se puede utilizar varias veces para un archivo de entrada aplicandola a diversas pistas seleccionando IDs de pista diferente de pista cada vez. -t, --tags TID:nombre-archivo Lee las etiquetas para la pista con el numero TID del archivo nombre-archivo. Consulte la seccion de mas adelante acerca de las etiquetas para mas detalles. --aac-is-sbr TID[:0|1] Le dice a mkvmerge(1) que la pista con el ID TID es SBR AAC (tambien conocido como HE-AAC o AAC+). Estas opciones son necesarias si: a) el archivo de entrada es un archivo AAC (no para un archivo Matroska(TM)) y b) el archivo AAC contiene datos SBR AAC. La razon para esta opcion es que es tecnicamente imposible distinguir los datos AAC de los datos SBR AAC sin decodificar un fotograma completo de AAC. Como hay diversos problemas de patentes con los decodificadores AAC, mkvmerge(1) nunca realizara esta fase de decodificacion. Por lo que, para archivos SBR AAC esta opcion es obligatoria. El archivo generado podria no reproducirse correctamente, o ni si quiera hacerlo, si esta opcion es omitida. Si el archivo de entrada es un archivo Matroska(TM) entonces el CodecID deberia ser suficiente para detectar SBR AAC. Sin embargo, si el CodecID es erroneo entonces esta opcion puede ser usada para corregirlo. Si mkvmerge detecta erroneamente que es un archivo AAC es SBR entonces puedes anadir ':0' al ID de pista. --audio-emphasis TID:n|nombre-simbolico Establece el enfasis para la pista de audio con el ID de pista TID. El modo puede ser un numero n (ciertos valores entre 0 y 16) o un nombre simbolico. Todos los numeros validos & los nombres simbolicos pueden ser listados con la opcion --list-audio-emphasis. --reduce-to-core TID Algunos codecs de audio tienen un nucleo (core) con perdidas y una extension adicional que realiza una decodificacion sin perdidas. Esta opcion le dice a mkvmerge(1) que solo copie el nucleo y no la extension. Por defecto, mkvmerge(1) copia tanto el nucleo como la extension. Actualmente solo a las pistas DTS les afecta esta opcion. Sin embargo, las pistas TrueHD que contienen un nucleo AC-3 se presentan como dos pistas independientes para que el usuario puede seleccionar que pista quiere copiar. Para un DTS esto no funcionaria ya que las extensiones HD no puede ser decodificadas en si misma - a diferencia de lo que pasa con los datos TrueHD. --remove-dialog-normalization-gain TID Algunos codecs de audio contienen campos de cabecera que informan al decodificador o reproductor la ganancia (normalmente negativa) a aplicar para la normalizacion de dialogo. Esta opcion le dice a mkvmerge(1) que elimine o minimice esa ganancia al modificar el correspondiente campo de la cabecera. Actualmente solo las pistas AC-3, DTS y TrueHD estan relacionadas con esta opcion. --timestamps TID:nombre-archivo Lee los codigos de tiempo que se utilizaran para el ID de pista especificado de nombre-archivo. Estos codigos de tiempo reemplazan de manera forzosa los codigos de tiempo que mkvmerge(1) normalmente calcula. Lea la seccion acerca de archivos de codigos de tiempo externos. --default-duration TID:x Fuerza la duracion predeterminada de una pista a un valor especifico. Tambien modifica los codigos de tiempo para que coincidan con la duracion predeterminada. El argumento x debe tener el sufijo 's', 'ms', 'us', 'ns', 'fps', 'p' o 'i' para especificar la duracion predeterminada en segundos, milisegundos, microsegundos, nanosegundos, 'fotogramas por segundo', 'fotogramas progresivos por segundo', o 'fotogramas entrelazados por segundo, respectivamente. El numero x en si mismo puede ser un numero decimal o fraccion. Si no se fuerza la duracion predeterminada entonces mkvmerge intentara generar la duracion predeterminada de la pista a partir del contenedor y/o el bitstream codificado para ciertos tipos de pista, p.e. AVC/H.264 o MPEG-2. Esta opcion tambien puede ser utilizado para cambiar los FPS de las pistas de video sin tener que usar codigos de tiempo externos. --fix-bitstream-timing-information TID[:0|1] Por lo general, mkvmerge(1) no cambia la informacion del tiempo (frecuencia de fotograma/campo) almacenada en el bitstream de video. Con esta opcion esa informacion se ajusta para coincidir con la informacion del tiempo. La informacion del tiempo del contenedor puede provenir de varias fuentes: desde la linea de comandos (consulte la seccion --default-duration), el contenedor de la fuente o generado a partir del bitstream. Nota Por ahora, solo ha sido implementado para pistas AVC/H.264. --compression TID:n Selecciona el metodo de compresion que se usara para la pista. Tenga en cuenta que el reproductor debe soportar este metodo. Los valores validos son 'none', 'zlib' y 'mpeg4_p2'/'mpeg4p2'. El metodo de compresion 'mpeg4_p2'/'mpeg4p2' es un metodo especial llamado 'eliminador de encabezado' que solo esta disponible para pistas de video MPEG4 part 2. La compresion por defecto para algunas pistas de subtitulos es 'zlib'. Este metodo de compresion es para el que casi todas, si no todas, las aplicaciones de reproduccion son compatibles. No se puede asegurar la compatibilidad para otros metodos de compresion que no sea 'ninguna'. Opciones que solo afectan a pistas de video -f, --fourcc TID:FourCC Fuerza el FourCC a un valor especificado. Solo funciona para pistas de video en el modo 'modo compatibilidad de MS'. --display-dimensions TID:anchoxalto Los archivos Matroska(TM) contienen dos valores que establecen las propiedades de visualizacion a las que un reproductor deberia usar para redimensionar la imagen en la reproduccion a: ancho y alto de visualizacion. Estos valores pueden ser establecidos con esta opcion, p.e. '1:640x480'. Otra manera de especificar los valores de visualizacion es usar la opcion --aspect-ratio o --aspect-ratio-factor (mire mas abajo). Estas opciones son mutuamente excluyentes. --aspect-ratio TID:proporcion|ancho/alto Los archivos Matroska(TM) contienen dos valores que establecen las propiedades de visualizacion que un reproductor deberia usar para redimensionar la imagen para reproducir a: ancho y alto de visualizacion. Con esta opcion Matroska(TM) calculara automaticamente el ancho y alto de reproduccion basado en el ancho y alto original de la imagen y la relacion de aspecto especificada con esta opcion. La relacion de aspecto puede ser especificada como un numero decimal de proporcion o una fraccion 'ancho/alto', p.e. '16/9'. Otra manera de especificar los valores de visualizacion es usar la opcion --aspect-ratio-factor o --display-dimensions (mire mas abajo). Estas opciones son mutuamente excluyentes. --aspect-ratio-factor TID:factor|n/d Otra manera de establecer la relacion de aspecto es especificar un factor. La relacion de aspecto original es primero multiplicada por este factor y despues se usa como la relacion de aspecto definitiva. Otra manera de especificar los valores de visualizacion es usar la opcion --aspect-ratio o --display-dimensions (mire mas abajo). Estas opciones son mutuamente excluyentes. --cropping TID:izquierda,arriba,derecha,abajo Establece los valores especificados como los parametros de recorte de pixeles para una pista de video. --color-matrix-coefficients TID:n Establece los coeficientes matriciales del video para generar los valores de luminancia y crominancia a partir de los colores primarios rojo, verde y azul. El parametro n es un numero entero entre 0 y 10. Los valores validos y su significado son: 0: GBR, 1: BT709, 2: indeterminado, 3: reservado, 4: FCC, 5: BT470BG, 6: SMPTE 170M, 7: SMPTE 240M, 8: YCOCG, 9: BT2020 luminancia no constante, 10: BT2020 luminancia constante --color-bits-per-channel TID:n Establece el numero de bits codificados para un canal de color. Un valor de 0 indica que el numero de bits no se ha especificado. --chroma-subsample TID:hori,vert La cantidad de pixeles a eliminar en los canales Cr y Cb por cada pixel no eliminado horizontal/verticalmente. Ejemplo: Para un video con submuestreo de crominancia 4:2:0, el parametro se debe establecer a TID:1,1. --cb-subsample TID:hori,vert La cantidad de pixeles a eliminar en el canal Cb por cada pixel no eliminado horizontal/verticalmente. Esto se adiciona a la opcion --chroma-subsample. Ejemplo: Para un video con submuestreo de crominancia 4:2:1, el parametro --chroma-subsample se debe establecer a TID:1,0 y el submuestreo de Cb se debe establecer a TID:1,0. --chroma-siting TID:hori,vert Establece como se situa horizontal/verticalmente la crominancia (0: indeterminado, 1: arriba, 2: mitad). --color-range TID:n Establece los valores de recorte -clipping- de los rangos de color (0: indeterminado, 1: rango de retransmision, 2: rango completo (sin recorte), 3: definido por CoeficientesMatriciales/CaracteristicasTransferencia). --color-transfer-characteristics TID:n Las caracteristicas de transferencia del video. Los valores validos y su significado son: 0: reservado, 1: ITU-R BT.709, 2: indeterminado, 3: reservado, 4: curva gamma 2.2, 5: curva gamma 2.8, 6: SMPTE 170M, 7: SMPTE 240M, 8: lineal, 9: logaritmica, 10: raiz cuadrada logaritmica, 11: IEC 61966-2-4, 12: ITU-R BT.1361 gama de color extendida, 13: IEC 61966-2-1, 14: ITU-R BT.2020 10 bit, 15: ITU-R BT.2020 12 bit, 16: SMPTE ST 2084, 17: SMPTE ST 428-1; 18: ARIB STD-B67 (HLG) --color-primaries TID:n Establece los colores primarios del video. Los valores validos y su significado son: 0: reservado, 1: ITU-R BT.709, 2: indeterminado, 3: reservado, 4: ITU-R BT.470M, 5: ITU-R BT.470BG, 6: SMPTE 170M, 7: SMPTE 240M, 8: FILM, 9: ITU-R BT.2020, 10: SMPTE ST 428-1, 22: JEDEC P22 fosforo --max-content-light TID:n Establece el brillo maximo de un unico pixel (Nivel Maximo de Contenido de Luz) en candelas por metro cuadrado (cd/m^2). El valor de n debe ser un numero entero positivo. --max-frame-light TID:n Establece el brillo maximo de un unico fotograma (Nivel Maximo de Luz del Promedio del Fotograma ) en candelas por metro cuadrado (cd/m^2). El valor de n debe ser un numero entero positivo. --chromaticity-coordinates TID:rojoj-x,rojo-y,verde-x,verde-y,azul-x,azul-y Establece las coordenadas cromaticas del color rojo/verde/azul definidas por CIE 1931. --white-color-coordinates TID:x,y Establece las coordenadas cromaticas del color blanco definidas por CIE 1931. --max-luminance TID:decimal Establece la luminancia maxima en candelas por metro cuadrado (cd/m^2). El valor debe ser menor de 9999.99. --min-luminance TID:decimal Establece la luminancia minima en candelas por metro cuadrado (cd/m^2). El valor debe ser menor de 999.9999. --projection-type TID:metodo Establece el metodo usado de la proyeccion del video. Los valores admitidos son 0 (proyeccion rectangular), 1 (proyeccion equirectangular), 2 (proyeccion de mapeo cubico) y 3 (proyeccion de malla). --projection-private TID:data Establece los datos privados que solo se aplican a una proyeccion en concreto. Los datos deben ser numeros hexadecimales con o sin el prefijo "0x", con o sin espacios. --projection-pose-yaw TID:decimal Especifica la rotacion vertical de la proyeccion. --projection-pose-pitch TID:decimal Especifica la rotacion transversal de la proyeccion. --projection-pose-roll TID:decimal Especifica la rotacion longitudinal de la proyeccion. --field-order TID:n Establece el orden de campos para la pista de video con el ID de pista TID. El orden debe ser uno de los siguientes numeros: 0: progresivo; 1: entrelazado con campo superior mostrado y almacenado primero; 2: orden de campo indeterminado; 6: entrelazado con campo inferior mostrado y almacenado primero; 9: entrelazado con campo inferior mostrado primero y campo superior almacenado primero; 14: entrelazado con campo superior mostrado primero y campo inferior almacenado primero --stereo-mode TID:n|nombre-simbolico Establece el modo estereo para la pista de video con el ID de pista TID. El modo puede ser un numero n entre 0 y 14 o un nombre simbolico. Todos los numeros validos & los nombres pueden ser listados con la opcion --list-stereo-modes. Opciones que solo afectan a pistas de subtitulos --sub-charset TID:conjunto-caracteres Establece el conjunto de caracteres para realizar la conversion a UTF-8 para los subtitulos UTF-8 de un ID de pista especificada. Si no se especifica el conjunto de caracteres sera generado a partir de la configuracion regional actual. Tenga en cuenta que un conjunto de caracteres no es necesario para leer subtitulos desde archivos mkvmerge(1) o desde secuencias Kate, ya que estos siempre se almacenan en UTF-8. Consulte la seccion acerca de archivos de texto y conjunto de caracteres para una explicacion sobre como mkvmerge(1) realiza la conversion entre conjunto de caracteres. Esta opcion se puede utilizar varias veces para un archivo de entrada aplicandola a diversas pistas seleccionando IDs de pista diferente de pista cada vez. Otras opciones -i, --identify nombre-archivo Le permitira a mkvmerge(1) analizar el archivo e informar de que tipo es, las pistas que contiene y los IDs de pista. Si se usa esta opcion entonces la unica opcion permitida es el nombre-archivo. El formato de salida usado para el resultado se puede cambiar con la opcion --identification-format. --chapters nombre-archivo Este es un alias apropiado para "--identification-format json --identify file-name". -F, --identification-format formato Determina el formato de salida usado por la opcion --identify. Los siguientes formatos son validos: text (el valor por defecto si esta opcion no se usa), y json. 1. El formato de text es corto y legible. Se compone de una linea por cada elemento encontrado (contenedor, pistas, adjuntos, etc...). Este formato no esta pensado para ser analizado. La salida se traducira en el idioma que mkvmerge(1) utiliza (mire tambien --ui-language). 2. El formatojson genera una representacion JSON legible por maquina. Este formato sigue el esquema JSON descrito en el siguiente archivo: mkvmerge-identification-output-schema-v18.json[3] Todas las version del esquema JSON estan disponibles online y en los archivos del codigo fuente liberado. --probe-range-percentage porcentaje Algunos tipos de archivos tales como secuencias de programa MPEG y transporte (.vob, .m2ts), necesitan analizar cierta cantidad de datos para detectar todas las pistas almacenadas en el archivo. Esta cantidad es un 0.3% del tamano del archivo original o 10 MB, dependiendo cual sea mayor. Si se conocen las pistas presentes en el archivo pero no son encontradas, entonces se puede cambiar el porcentaje de exploracion con esta opcion. El minimo de 10 MB esta definido por defecto y no se puede cambiar. --list-audio-emphasis Enumera todos los numeros validos & sus correspondientes nombres simbolicos para la opcion --audio-emphasis. --list-languages Muestra una lista de idiomas y sus codigos ISO 639-2 que se pueden utilizar con la opcion --language. --list-stereo-modes Enumera todos los numeros validos & sus correspondientes nombres simbolicos para la opcion --stereo-mode. -l, --list-types Muestra una lista de archivos de entrada compatibles. --priority prioridad Establece la prioridad de procesamiento con la que mkvmerge(1) se ejecutara. Los valores validos son 'muy baja', 'baja', 'normal', 'alta' y 'muy alta'. Si no se especifica nada entonces se usa la opcion 'normal'. En sistemas basados en Unix, mkvmerge(1) usara la funcion nice(2). Por lo tanto, solo el super usuario puede usar 'alta' y 'muy alta'. En Windows todos los valores pueden se usados por todos los usuarios. Seleccionando 'muy baja' tambien provocara que mkvmerge(1) seleccione la mas baja prioridad de entrada y salida, asi como la de procesamiento. --command-line-charset conjunto-caracteres Establece el conjunto de caracteres para convertir las cadenas de texto especificadas en la linea de comandos. Por defecto, el conjunto de caracteres esta especificado por la configuracion regional actual. Esta configuracion se aplica a los argumentos de las siguientes opciones: --title, --track-name y --attachment-description. --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. --deterministic valor inicial Habilita la creacion de archivos identicos en bytes si se usa la misma version de mkvmerge(1) con los mismos archivos de origen, el mismo conjunto de opciones y valor inicial. Tenga en cuenta que el campo "fecha" de informacion del segmento no se escribe en este modo. El valor inicial puede ser una cadena arbitraria sin tener que ser un numero. Unicamente se garantiza la obtencion de archivos identicos en bytes bajo las siguientes condiciones: 1. Si utiliza una version de mkvmerge(1) construida con las mismas versiones de libEBML y libMatroska. 2. Los archivos de origen son identicos en bytes. 3. Las mismas opciones de la linea de comandos se utilizan en el mismo orden (con la especial excepcion de --output ...). Al usar otras versiones de mkvmerge(1) u otras opciones de la linea de comandos, puede que obtenga el mismo archivo con identicos bytes pero no se puede asegurar. --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 mkvmerge --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. @options-file.json Lee argumentos adicionales de la linea de comandos desde el archivo archivo-opciones. Consulte la seccion acerca de archivos de opciones para mas informacion. --capabilities Muestra informacion sobre las caracteristicas adicionales que han sido compiladas y sale. La primera linea generada sera la informacion de la version. El resto de lineas contienen exactamente una palabra cuya presencia indica que esa caracteristica ha sido compilada. Estas caracteristicas son: o 'FLAC' -- lee archivos en bruto FLAC y manipula pistas FLAC en otros contenedores. p.e. Ogg(TM) o Matroska(TM). -h, --help Muestra informacion de uso y sale. -V, --version Muestra la informacion de la version y sale. USO Para cada archivo, el usuario puede seleccionar que pistas mkvmerge(1) debe tomar. Todos se almacenan en un archivo especificado con -o. Una lista de formatos conocidos (y soportados) se pueden obtener con la opcion -l. Importante El orden de las opciones en la linea de comandos es importante. Por favor, lea la seccion "Orden de opciones" si eres nuevo usando el programa. ORDEN DE OPCIONES El orden en el que las opciones son especificadas son importantes para algunas opciones. Las opciones se dividen en dos categorias: 1. Opciones que afectan a todo el programa y no estan vinculadas a ningun archivo de entrada. Estas son, entre otras, --command-line-charset, --output o --titlee. Estas pueden aparecer en cualquier parte de la linea de comandos. 2. Opciones que afectan a un solo archivo de entrada o una sola pista de un archivo de entrada. Estas opciones se aplican al siguiente archivo en la linea de comandos. Todas las opciones que se aplican al mismo archivo de entrada (o las pistas del mismo archivo de entrada) se pueden especificar en cualquier orden, siempre y cuando, todas aparezcan antes del nombre del archivo de entrada. Ejemplos para las opciones que se aplican a un archivo de entrada son --no-chapters o --chapter-charset. Ejemplos para las opciones que se aplican a una unica pista son --default-duration o --language. Las opciones se procesan de izquierda a derecha. Si una opcion aparece varias veces en el mismo ambito, se utilizara la ultima. Por lo tanto, el titulo se establecera a "Otra cosa" en el siguiente ejemplo: mkvmerge -o salida.mkv --title "Esto y eso" entrada.avi --title "Algo mas" El siguiente ejemplo muestra como usando dos veces la opcion --language todo es correcto ya que son usadas en diferentes ambitos. A pesar de que se aplican al mismo ID de pista, estas se aplican a diferentes archivos de entrada y por lo tanto tienen diferentes ambitos: mkvmerge -o salida.mkv --language 0:spa espanol.ac3 --language 0:jpn japones.ac3 EJEMPLOS Supongamos que tienes un archivo llamado MiPelicula.avi y una pista de audio en otro archivo, p.e. 'MiPelicula.wav'. Lo primero que necesitas es codificar el audio a OggVorbis(TM): oggenc -q4 -o MiPelicula.ogg MiPelicula.wav Despues de unos minutos ya puedes unir el audio y el video: mkvmerge -o MiPelicula-con-sonido.mkv MiPelicula.avi MiPelicula.ogg Si tu AVI ya contiene una pista de audio entonces tambien sera copiada (si mkvmerge(1) soporta el formato de ese audio). Para evitar esto, simplemente hacer lo siguiente: mkvmerge -o MiPelicula-con-sonido.mkv -A MiPelicula.avi MiPelicula.ogg Despues de unos minutos decides ripear otra pista de audio, p.e. los comentarios del director u otro idioma, 'MiPelicula-anadir-audio.wav'. La codificas de nuevo y la anades al anterior archivo: oggenc -q4 -o MiPelicula-anadir-audio.ogg MiPelicula-anadir-audio.wav mkvmerge -o MM-completa.mkv MiPelicula-con-sonido.mkv MiPelicula-anadir-audio.ogg El mismo resultado se puede lograr con: mkvmerge -o MM-completa.mkv -A MiPelicula.avi MiPelicula.ogg MiPelicula-anadir-audio.ogg Ahora abra el mplayer(TM) y disfruta. Si tienes multiples pistas de audios (o incluso pistas de video) entonces le puedes decir a mplayer(TM) que pista debe reproducir con las opciones '-vid' y '-aid'. Estos estan en base y no distinguen entre video y audio (el indice comienza en el cero). Si necesitas una pista de audio sincronizada puedes hacerlo facilmente. Lo primero es averiguar que ID de pista tiene la pista Vorbis, con: mkvmerge --identify desincronizado.ogg Ahora pues usar ese ID en la siguiente linea de comandos: mkvmerge -o sincronizado.mkv -A entrada.avi -y 12345:200ms desincronizado.ogg Esto anadiria 200ms de silencio al inicio de la pista de audio con el ID 12345 obtenido de 'desincronizado.ogg'. Algunas peliculas comienzan sincronizadas correctamente pero poco a poco se desincronizan. Para este tipo de peliculas se puede especificar un factor de desfase que sera aplicado a todas las marcas de tiempo (timestamps) -- ningun dato es anadido o eliminado. Si se aplicas un factor muy grande o pequeno el resultado puede ser incorrecto. Un ejemplo seria un episodio transcodificado que tiene 0.2 segundos de desincronizacion al final de la pelicula, y cuya longitud total es de 77340 fotogramas. Si el framerate es 29.97fps, 0.2 segundos corresponden aproximadamente a 6 fotogramas. Asi que se puede hacer: mkvmerge -o sincronizado.mkv -y 23456:0,77346/77340 desincronizado.mkv El resultado fue bueno. Las opciones de sincronizacion tambien pueden ser usadas para subtitulos de igual modo. Para subtitulos de texto puede utilizar cualquier programa para Windows (como SubRipper(TM)) o el paquete subrip(TM) que se puede encontrar en fuentes de transcodificacion(1) en el directorio 'contrib/subrip'. El proceso general es: 1. Extraer una secuencia de subtitulos en bruto para la fuente: tccat -i /ruta/a/copiar/dvd/ -T 1 -L | tcextract -x ps1 -t vob -a 0x20 | subtitulo2pgm -o MiPelicula 2. Convertir las imagenes PGM generadas a texto con gocr: pgm2txt MiPelicula 3. Revisar el resultado de los archivos de texto: ispell -d americano *txt 4. Convertir los archivos de texto a un archivo SRT: srttool -s -w -i MiPelicula.srtx -o MiPelicula.srt El archivo generado puede ser utilizado como otro archivo de entrada para mkvmerge(1): mkvmerge -o MiPelicula.mkv MiPelicula.avi MiPelicula.srt Si necesitas especificar un idioma para una pista concreta, esto es realmente facil. Primero busca tu idioma en el codigo ISO 639-2. mkvmerge(1) puede mostrarte todos esos codigos para ti: mkvmerge --list-languages Busca en la lista de los idiomas el que necesites. Supongamos que tienes dos pistas de audio en un archivo Matroska(TM) y necesitas establecer sus codigos de idioma, y que sus IDs de pista son 2 y 3. Esto se puede hacer con: mkvmerge -o con-codigos-idioma.mkv --language 2:spa --language 3:jpn sin-codigos-idioma.mkv Como puedes ver puedes usar la opcion --language varias veces. Es posible que quiera que el reproductor use el holandes como el idioma predeterminado. Tambien tiene subtitulos adicionales, p.e. en ingles y frances, y desea que el programa de reproduccion muestre por defecto en frances. Esto se puede hacer con: mkvmerge -o con-codigos-idioma.mkv --language 2:ger --language 3:dut --default-track-flag 3 sin-codigos-idioma.mkv --language 0:eng ingles.srt --default-track-flag 0 --language 0:fre frances.srt Si no ves en la salida de mkvinfo(1), los flags del idioma o pista predeterminada que ha especificado, por favor lea la seccion acerca de valores predeterminados. Deshabilita la compresion para un archivo de entrada. mkvmerge -o sin-compresion.mkv --compression -1:none MiPelicula.avi --compression -1:none MiPelicula.srt IDS DE PISTA IDs de pista normal Algunas opciones para mkvmerge(1) necesitan un ID de pista para especificar a que pista se le tienen que aplicar. Estos IDs de pista son mostrados por los lectores cuando desmultiplexan el archivo de entrada actual, o si mkvmerge(1) es invocado con la opcion --identify. Un ejemplo para esto: mkvmerge -i v.mkv File 'v.mkv': container: Matroska Track ID 0: video (V_MS/VFW/FOURCC, DIV3) Track ID 1: audio (A_MPEG/L3) No debe confundir los IDs de pista que se asignan a las pistas, que se escriben en el archivo MKV generado, con los IDs de pista del archivo de entrada. Solo los IDs de pista del archivo de entrada se utilizan para las opciones que necesitan estos valores. Tambien tenga en cuenta que cada archivo de entrada tiene su propio conjunto de IDs de pista. Por lo tanto, los IDs de pista para el archivo 'archivo1.ext', tal y como habia reportado 'mkvmerge --identify' no cambian, no importa cuantos otros archivos de entrada existan o en que posicion se use 'archivo1.ext'. Los IDs de pista son asignados como estos: o Archivos AVI: La pista de video tiene el ID 0. Las pistas de audio obtienen sus IDs en orden creciente empezando desde el 1. o Los archivos AAC, AC-3, MP3, SRT y WAV: La unica 'pista' en ese archivo se le asigna el ID 0. o La mayoria de archivos: Los IDs de pista son asignados en el orden en el que se encuentran, empezando desde el numero 0. Las opciones que utilizan los IDs de pista son aquellos cuya descripcion contiene un 'TID'. Las siguientes opciones tambien utilizan IDs de pista: --audio-tracks, --video-tracks, --subtitle-tracks, --button-tracks y --track-tags. IDs de pista especial Existen diversos IDs que tienen un significado especial y no aparecen en la identificacion de salida. El ID de pista especial '-1' es un comodin y aplica la opcion especificada a todas las pistas que se leen del archivo de entrada. El ID de pista especial '-2' se refiere a los capitulos en un archivo de origen. Actualmente solo la opcion --sync usa este ID especial. Como alternativa a la opcion --sync -2:... se puede usar --chapter-sync .... MANIPULADOR DE IDIOMAS Matroska(TM) admite dos tipos diferentes de elementos de idioma: el antiguo y obsoleto elemento "Language", que contiene codigos ISO 639-2 alfa 3, y las nuevas etiquetas "LanguageIETF", que contienen etiquetas de idioma BCP 47 del IETF. Todas las opciones de mkvmerge(1) que aceptan un idioma tambien admiten una etiqueta de idioma BCP 47. mkvmerge(1) obtendra, siempre que sea posible, el valor del elemento "Idioma" obsoleto a partir de las etiquetas de idioma BCP 47. Al identificar un archivo en modo JSON, los elementos existentes de cabecera de pista "LanguageIETF" se mostraran como la propiedad de pista language_ietf. Al escribir un archivo mkvmerge(1) siempre escribira los elementos "LanguageIETF", "ChapLanguageIETF" y "TagLanguageIETF" (los dos ultimos solo si se escriben capitulos o etiquetas respectivamente). Ademas de esos elementos, se escribiran los elementos antiguos correspondientes; se ajustaran a la parte del codigo ISO 639-2 de la etiqueta de idioma BCP 47. Por ejemplo, cuando el idioma de la pista se establece a sr-Cyrl-RS "LanguageIETF" se establecera asr-Cyrl-RS y el antiguo elemento "Language" se establecera asrp. Al leer archivos existentes (archivos Matroska, archivos de capitulos o etiquetas XML, etc.) que ya contengan elementos "...LanguageIETF", se conservaran los elementos previos. En caso contrario, se anadiran elementos "...LanguageIETF" en funcion de las opciones de la linea de comandos y de otros elementos "...Language" obsoletos existentes. La creacion de los nuevos elementos puede desactivarse por completo con la opcion de linea de comandos --disable-language-ietf, que actua sobre los tres nuevos elementos. Puede elegir el metodo de normalizacion aplicado a las subetiquetas de idioma extendidas con el parametro --normalize-language-ietf. CONVERSION DE ARCHIVOS DE TEXTO Y CONJUNTO DE CARACTERES Nota Esta seccion se aplica a todos los programas de MKVToolNix aunque solo se mencione mkvmerge(1). Introduccion Todos los textos en un archivo Matroska(TM) estan codificados en UTF-8. Esto implica que mkvmerge(1) convierte cada archivo de texto que lee, asi como cada texto dado en la linea de comandos, desde un conjunto de caracteres a UTF-8. Por contra, esto tambien significa que la salida de mkvmerge(1) tiene que ser convertida desde UTF-8 a un conjunto de caracteres, p.e. si una traduccion no inglesa se usa con --ui-language o para texto que proviene desde un archivo Matroska(TM). mkvmerge(1) realiza esta conversion automaticamente en funcion de la presencia de un Marcador de Orden Bytes (abreviado: BOM) o de la configuracion regional actual. Como el conjunto de caracteres se deduce de la configuracion regional depende del sistema operativo donde se ejecute mkvmerge(1) Marcador de Orden Bytes (BOM) Los archivos de texto que comienzan con un BOM ya estan codificados en una representacion de UTF. mkvmerge(1) admite los siguientes cinco modos: UTF-8, UTF-16 Little y Big Endian, UTF-32 Little y Big Endian. Los archivos de texto con un BOM son convertidos automaticamente a UTF-8. Todos los parametros que, de otra manera, cambian el conjunto de caracteres de un archivo de este tipo (p.e. --sub-charset) son ignorados silenciosamente. Sistemas Linux y Unix-like incluido macOS El sistemas Unix, mkvmerge(1) usa la llamada al sistema setlocale(3) que a su vez utiliza las variables de entorno LANG, LC_ALL y LC_CYPE. El conjunto de caracteres resultante es a menudo uno de UTF-8 o de la familia ISO-8859-* y se utiliza para todas las operaciones del archivo de texto y para codificar las cadenas de texto en la linea de comandos y la salida de la consola. Windows En Windows el juego de caracteres predeterminado utilizado para la conversion de archivos de texto se determina mediante una llamada a la GetACP() del sistema. La lectura de la linea de comandos se realiza con la funcion GetCommandLineW() que ya devuelve una cadena de texto Unicode. Por lo tanto, en Windows la opcion --command-line-charset se ignora. La salida a la consola se presenta en tres escenarios: 1. Si la salida se redirige con la opcion --redirect-output entonces el conjunto de caracteres predeterminado es UTF-8. Se puede cambiar con --output-charset. 2. Si la salida se redirige con cmd.exe, p.e. con mkvinfo archivo.mkv > info.txt, entonces el conjunto de caracteres siempre es UTF-8 y no se puede cambiar. 3. De otra manera, (cuando se escribe directamente a la consola) la funcion de Windows WriteConsoleW() se utiliza y la opcion --output-charset se ignora. La consola deberia ser capaz de generar todos los caracteres Unicode del correspondiente idioma que esta instalado (p.e. los caracteres chinos podrian no ser mostrados en versiones inglesas de Windows). Opciones de linea de comandos Las siguientes opciones permiten especificar los conjuntos de caracteres: o --sub-charset para archivos y pistas de subtitulos de textos almacenadas en formatos de contenedores para las que el conjunto de caracteres no se puede determinar sin ambiguedad. (p.e. archivo Ogg), o --chapter-charset para archivos y pistas de capitulos de texto almacenadas en formatos de contenedores para las que el conjunto de caracteres no se puede determinar sin ambiguedad. (p.e. archivos Ogg para informacion de capitulos, pista y archivos, etc..; archivos MP4 para informacion del capitulos), o --command-line-charset para todas las cadenas de texto en la linea de comandos, o --output-charset para todas las cadenas de texto escritas en la consola o a un archivo si la salida ha sido redirigida con la opcion --redirect-output. En los sistemas que no sean Windows, el conjunto de caracteres por defecto, es el del sistema actual. En windows por defecto es a UTF-8, tanto redirigiendo con --redirect-output como con cmd.exe, p.e. mkvinfo archivo.mkv > info.txt. ARCHIVOS DE OPCIONES Un archivo de opciones es un archivo que mkvmerge(1) puede leer argumentos adicionales de la linea de comandos. Esto se puede utilizar para eludir ciertas limitaciones en el shell (entorno) o el sistema operativo como una longitud limitada de la linea de comandos cuando se ejecutan programas externos. Un archivo de opciones que contiene datos con formato JSON. El contenido debe ser un vector JSON compuesto unicamente de cadenas de caracteres JSON. El archivo debe estar codificado en formato UTF-8. El archivo no debe comenzar con un marcador de orden de bits (BOM), pero si lo hiciese, sera omitido. Las reglas de los caracteres especiales de escape dentro de JSON son las unicas que existen en la especificacion oficial JSON, RFC 7159[4]. El nombre del archivo de opciones debe especificarse como un argumento de linea de comandos con el caracter '@' como prefijo. La linea de comandos 'mkvmerge -o "mi archivo.mkv" -A "una pelicula.avi" audio.ogg' se podria convertir al siguiente archivo de opciones JSON llamado p.e. 'opciones.json': [ "-o", "c:\\Matroska\\mi archivo.mkv", "--title", "#65", "-A", "una pelicula.avi", "audio.ogg" ] El comando correspondiente deberia ser entonces 'mkvmerge @options.json'. VINCULACION DE ARCHIVOS Matroska(TM) admite la vinculacion de archivos que simplemente lo que significa que un archivo en especifico es el predecesor o sucesor del archivo actual. Para ser precisos, los archivos estan realmente vinculados sino los segmentos Matroska(TM). Como la mayoria de archivos probablemente solo contienen un segmento Matroska(TM) las siguientes explicaciones usan el termino 'vinculacion de archivos' aunque realmente 'vinculacion de segmentos' seria lo mas correcto. Cada segmento se identifica por un unico UID del segmento de 128 bits de longitud. Este UID es automaticamente generado por mkvmerge(1). La vinculacion se realiza principalmente insertando los UIDs del segmento (abreviado: SID) del anterior/siguiente archivo en la informacion del encabezado del segmento. mkvinfo(1) muestra estos SIDs si los encuentra. Si un archivo se divide en varios archivos mas pequenos y se utiliza la vinculacion, entonces los codigos de tiempo no comenzaran por 0 si no que continuara desde donde el ultimo archivo lo dejo. De esta manera el tiempo absoluto se mantiene incluso si los archivos anteriores no estan disponibles p.e. cuando se transmiten). Si no se utiliza la vinculacion entonces los codigos de tiempo de cada archivo comenzaran desde 0. Por defecto, mkvmerge(1) no usa la vinculacion de archivos. Si lo necesita podra activarlo con la opcion --link. Esta opcion solo es util si la division tambien se activa. Independientemente de si la division se activa o no, el usuario le puede decir a mkvmerge(1) que vincule los archivos generados a un especifico SIDs. Esto se consigue con las opciones --link-to-previous y --link-to-next. Estas opciones aceptan un segmento SID en el formato que mkvinfo(1) genera: 16 numeros hexadecimales comprendidos entre 0x00 y 0xff, cada uno con el prefijo '0x', p.e. '0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93'. De manera alternativa, se puede utilizar una forma mas simple: 16 numeros hexadecimales comprendidos entre 0x00 y 0xff, sin el prefijo '0x' y sin espacios, p.e. '41da7366d9cfb21eae78ebb45ecab393'. Si se utiliza la division entonces el primer archivo se vincula al SID especificado con SID y el ultimo archivo se vincula al SID especificado con --link-to-next. Si no se utiliza la division entonces el archivo sera vinculado a ambos SIDs. VALORES PREDETERMINADOS La especificacion Matroska(TM) establece que algunos elementos tienen un valor predeterminado. Por lo general, si el valor es igual al predeterminado entonces no sera escrito en el archivo a fin de ahorrar espacio. Los elementos que el usuario podria echar en falta en la salida de mkvinfo(1) son los elementos idioma y flag de pista predefinida. El valor predeterminado para el idioma es Ingles ('eng'), y para flag de pista predefinida es true. Por lo tanto, si utiliza --language 0:eng para una pista entonces no se mostrara en la salida de mkvinfo(1). ATTACHMENTS Es posible que desee conservar algunas fotos junto con su archivo Matroska(TM), o usar subtitulos SSA que requieren de una fuente especial SSA que es realmente rara. En estos casos puede adjuntar estos archivos al archivo Matroska(TM). No solo son anadidos al archivo sino que son embebidos. Un reproductor puede entonces mostrar estos archivos (en el caso de las 'fotos') o usarlos para renderizar los subtitulos (en el caso de las fuentes 'TrueType(TM)'). Aqui esta un ejemplo de como adjuntar una foto y fuente TrueType(TM) al archivo generado: $ mkvmerge -o salida.mkv -A video.avi audio.ogg \ --attachment-description "Yo y la banda detras del escenario en una reunion" \ --attachment-mime-type image/jpeg \ --attach-file yo_y_la_banda.jpg \ --attachment-description "La rara e increible fuente de la belleza" \ --attachment-mime-type application/octet-stream \ --attach-file fuente_guay.ttf Si un archivo Matroska(TM) contiene adjuntos se utiliza como archivo de entrada entonces mkvmerge(1) copiara todos los adjuntos en el nuevo archivo. La seleccion de que archivos seran copiados o no, puede ser cambiada con las opciones --attachments y --no-attachments. CHAPTERS El sistema de capitulos de Matroska(TM) es mas potente que el antiguo sistema utilizado con los archivos OGM. Las completas especificaciones se pueden encontrar en la pagina web de Matroska[1]. mkvmerge(1) admite dos tipos de archivos de capitulos como entrada. El primer formato, denominado 'formato simple de capitulos', que es el mismo formato que se encuentra en las herramientas OGM. El segundo formato se basa en el formato de capitulos XML que son admitidos por todas las funcionalidades de capitulos de Matroska(TM). Aparte de los archivos de capitulos propios de mkvmerge(1) Tambien puede leer capitulos de otros formatos de archivo (por ejemplo, MP4, Ogg, Blu-rays o DVD). El formato simple de capitulos Este formato consiste en un par de lineas que comienzan con 'CHAPTERxx=' y 'CHAPTERxxNAME=', respectivamente. La primera contiene el codigo de tiempo inicial mientras que el segundo lo hace al titlo. Ejemplo: CHAPTER01=00:00:00.000 CHAPTER01NAME=Intro CHAPTER02=00:02:30.000 CHAPTER02NAME=El nino se prepara para el rock CHAPTER03=00:02:42.300 CHAPTER03NAME=El nino sacude la casa mkvmerge(1) transformara cada par o lineas en un Matroska(TM) ChapterAtom. No establece ningun ChapterTrackNumber lo que significa que todos los capitulos se aplican a todas las pistas del archivo. Como se trata de un archivo de texto, podria ser necesaria realizar una conversion del conjunto de caracteres. Consulte la seccion acerca de archivos de texto y conjunto de caracteres para una explicacion sobre como mkvmerge(1) realiza la conversion entre conjunto de caracteres. El formato de capitulos basados en XML El formato de capitulos basados en XML es similar a este ejemplo: 00:00:30.000 00:01:20.000 Un capitulo corto spa 00:00:46.000 00:01:10.000 Una parte de un capitulo corto spa Con este formato, se pueden realizar tres cosas que con el formato simple no se puede: 1. Se puede establecer la marca de tiempo para el final del capitulo, 2. los capitulos se pueden anidar, 3. el idioma y pais tambien. La distribucion mkvtoolnix contiene algunos archivos a modo de ejemplo en el subdirectorio doc que se pueden usar como base. A continuacion, se muestran las etiquetas soportadas por XML, sus tipos de datos y, en donde corresponda, el rango valido para sus valores: Chapters (maestro) EditionEntry (maestro) EditionUID (entero sin signo, rango valido: 1 <= valor) EditionFlagHidden (entero sin signo, rango valido: 0 <= valor <= 1) EditionFlagDefault (entero sin signo, rango valido: 0 <= valor <= 1) EditionFlagOrdered (entero sin signo, rango valido: 0 <= valor <= 1) ChapterAtom (maestro) ChapterAtom (maestro) ChapterUID (entero sin signo, rango valido: 1 <= valor) ChapterTimeStart (entero sin signo) ChapterTimeEnd (entero sin signo) ChapterFlagHidden (entero sin signo, rango valido: 0 <= valor <= 1) ChapterFlagEnabled (entero sin signo, rango valido: 0 <= valor <= 1) ChapterSegmentUID (binario, rango valido: 1 <= tamano en bytes) ChapterSegmentEditionUID (entero sin signo, rango valido: 1 <= valor) ChapterPhysicalEquiv (entero sin signo) ChapterTrack (maestro) ChapterTrackNumber (entero sin signo, rango valido: 1 <= valor) ChapterDisplay (maestro) ChapterString (cadena de texto UTF-8) ChapterLanguage (cadena de texto UTF-8) ChapterCountry (cadena de texto UTF-8) ChapterProcess (maestro) ChapterProcessCodecID (entero sin signo) ChapterProcessPrivate (binario) ChapterProcessCommand (maestro) ChapterProcessTime (entero sin signo) ChapterProcessData (binario) Leyendo capitulos del Blu-ray mkvmerge(1) puede leer capitulos de Blu-rays sin encriptar. Por lo que puedes usar la ruta a uno de las listas de reproduccion MPLS con el parametro --chapters. Ejemplo: --chapters /srv/blurays/BigBuckBunny/BDMV/PLAYLIST/00001.mpls Leyendo capitulos del DVDs Cuando MKVToolNix se compila con la libreria libdvdread(TM), mkvmerge(1) puede leer capitulos de DVDs. Por lo que puede usar la ruta a una de las carpetas o archivos del DVD con el parametro --chapters. Como los DVDs puede contener mas de un titulo y cada titulo tiene su propio conjunto de capitulos, puedes anadir dos puntos, al final del nombre del argumento, junto con el numero del titulo que necesite. El numero del titulo por defecto es 1. Ejemplo: --chapters /srv/dvds/BigBuckBunny/VIDEO_TS:2 Notas generales Cuando se dividen los archivos, mkvmerge(1) tambien ajustara correctamente los capitulos. Esto significa que cada archivo solo incluye las entradas de capitulo que se aplican a el, y que se compensara el codigo de tiempo para que coincida con el nuevo codigo de tiempo de cada archivo generado. mkvmerge(1) es capaz de copiar los capitulos de los archivos de entrada mkvmerge(1) a menos que explicitamente se deshabilite con la opcion --no-chapters. Los capitulos procedentes de todas las fuentes (archivos Matroska(TM), Ogg, Matroska(TM), archivos de texto de capitulos) por lo general no se fusionan y acaban en ChapterEditions independientes. Solo si los capitulos que se leen de diversos archivos Matroska(TM) o XML, comparten el mismo UID de edicion, entonces los capitulos se fusionaran en un unico ChapterEdition. Si dicha fusion tambien se desea realizar en otras situaciones, el usuario tiene que extraer primero los capitulos de todas las fuentes con mkvextract(1), y fusionar los archivos XML manualmente para multiplexarlos despues. TAGS Introduccion El sistema de etiquetas de Matroska(TM) es parecido al de otros contenedores: un conjunto de pares KEY=VALUE. Sin embargo, en Matroska(TM) estas etiquetas tambien se pueden anidar, y tanto KEY comoVALUE son elementos propios. El archivo de ejemplo example-tags-2.xml muestra como usar este sistema. Alcance de las etiquetas Las etiquetas Matroska(TM) no se aplican automaticamente a todo el archivo. Se puede hacer, pero tambien a diferentes partes del archivo: a una o mas pistas, a una o mas capitulos, o incluso a una combinacion de ambas. La especificacion de Matroska[5] proporciona mas detalles sobre esto. Una cosa importante es que las etiquetas estan vinculadas a pistas o capitulos con el elemento de etiquetas Targets de Matroska(TM), ademas los UIDs usados para vincularlos no son los IDs de la pista que mkvmerge(1) utiliza en todas partes. En cambio, los numeros usados son los UIDs que mkvmerge(1) calcula automaticamente (si la pista se toma de otro formato de archivo que no sea Matroska(TM) o que se copian desde el archivo de origen si el archivo de origen de la pista es un archivo Matroska(TM). Por lo tanto, es complicado saber que UIDs se van a usar en el archivo de etiquetas antes de que el archivo se proporcione a mkvmerge(1). mkvmerge(1) tiene dos opciones con las que se pueden anadir etiquetas a los archivos Matroska(TM): las opciones --global-tags y --tags. La diferencia es que la opcion anterior, --global-tags, hara que las etiquetas se apliquen al archivo entero mediante la eliminacion de cualquiera de los elementos Targets mencionados anteriormente. La ultima opcion, --tags, inserta automaticamente el UID que mkvmerge(1) genera para la etiqueta especificada con la parte TID de la opcion --tags. Ejemplo Supongamos que necesitas anadir etiquetas a una pista de video leida desde un archivo AVI. Mkvmerge --identify archivo.avi informa que el ID de la pista de video (!No confundir este ID con el UID!) es 0. Asi que creara el archivo de etiquetas, dejando a un lado todos los elementos Targets e invocar a mkvmerge(1): mkvmerge -o archivo.mkv --tags 0:etiquetas.xml archivo.avi Formato del archivo de etiquetas mkvmerge(1) admite el formato de archivos de etiquetas basadas en XML. El formato es muy similar al modelo de la especificacion Matroska[5]. Tanto la distribucion binaria como la fuente de MKVToolNix vienen acompanadas de un archivo de ejemplo llamado example-tags-2.xml que enumera simplemente todas las etiquetas conocidas y que pueden ser usadas como base para las etiquetas de la vida real. Las basicas son: o El elemento mas externo debe ser . o Una etiqueta logica esta contenido dentro de un par de etiquetas XML . o Los espacios en blanco, directamente antes y despues del contenido de la etiqueta, se ignoran. Tipos de datos El nuevo sistema de etiquetado de Matroska(TM) solo conoce dos tipos de datos, una cadena de texto UTF-8 y un tipo binario. El primero se usa para el nombre de la etiqueta junto con el elemento mientras que el tipo binario se usa para el elemento . Como dato binario, en si mismo, no tendria sentido en un archivo XML, mkvmerge(1) admite otros dos metodos para almacenar datos binarios. Si el contenido de una etiqueta XML comienza con '@' entonces el texto siguiente se trata como un nombre de archivo. El contenido del archivo correspondiente se copia en el elemento Matroska(TM). De lo contrario, se espera que la informacion se codifique en Base64. Esta es una codificacion que transforma datos binarios en un conjunto limitado de caracteres ASCII y p.e. se usa en programas de mensajeria. mkvextract(1) generara datos codificados en Base64 para elementos binarios. El obsoleto sistema de etiquetado conoce mas tipos de datos que se pueden encontrar en las especificaciones oficiales de etiquetas Matroska(TM). Como mkvmerge(1) ya no admite este sistema estos tipos no seran descritos. Etiquetas conocidas para el formato de archivos XML A continuacion, se muestran las etiquetas soportadas por XML, sus tipos de datos y, en donde corresponda, el rango valido para sus valores: Tags (maestro) Tag (maestro) Targets (maestro) TargetTypeValue (entero sin signo) TargetType (cadena de texto UTF-8) TrackUID (entero sin signo) EditionUID (entero sin signo) ChapterUID (entero sin signo) AttachmentUID (entero sin signo) Simple (maestro) Simple (maestro) Name (cadena de texto UTF-8) TagLanguage (cadena de texto UTF-8) DefaultLanguage (entero sin signo) String (cadena de texto UTF-8) Binary (binario) INFORMACION DEL SEGMENTO Con archivos XML de informacion del segmento es posible establecer ciertos valores en el campo del encabezado de "informacion del segmento" de un archivo Matroska(TM). Todos estos valores no se pueden establecer a traves de otras opciones de la linea de comandos. Otros campos del encabezado de "informacion del segmento" se pueden establecer a traves de las opciones de la linea de comandos pero no mediante archivos XML. Eso afecta p.e. las opciones --title y --timestamp-scale. Hay otros elementos que no pueden establecerse a traves de la linea de comandos ni mediante archivos XML. Eso afecta a los siguientes elementos: DateUTC (tambien conocido como "fecha multiplexado"), MuxingApp, WritingApp y Duration. Estas siempre se establecen mediante mkvmerge(1), en si mismo. A continuacion, se muestran las etiquetas soportadas por XML, sus tipos de datos y, en donde corresponda, el rango valido para sus valores: Info (maestro) SegmentUID (binario, rango valido: tamano en bytes == 16) SegmentFilename (cadena de texto UTF-8) PreviousSegmentUID (binario, rango valido: tamano en bytes == 16) PreviousSegmentFilename (cadena de texto UTF-8) NextSegmentUID (binario, rango valido: tamano en bytes == 16) NextSegmentFilename (cadena de texto UTF-8) SegmentFamily (binario, rango valido: tamano en bytes == 16) ChapterTranslate (maestro) ChapterTranslateEditionUID (entero sin signo) ChapterTranslateCodec (entero sin signo) ChapterTranslateID (binario) DISENO DE ARCHIVO MATROSKA El diseno de archivo Matroska(TM) es bastante flexible. mkvmerge(1) realizara un archivo de una manera concreta. El archivo creado tendra una apariencia como esta: [Encabezado EBML] [segmento {meta seek #1} [informacion segmento] [informacion pista] {adjuntos} {capitulos} [cluster 1] {cluster 2} ... {cluster n} {indices} {meta seek #2} {etiquetas}] Los elementos que estan entre llaves son opcionales, y dependen del contexto y opciones utilizadas. Unos cuantos apuntes: o meta seek #1 solo incluye un pequeno numero de elementos de nivel 1, y solo si realmente existen: adjuntos, capitulos, indices, etiquetas, meta seek #2. Las versiones anteriores de mkvmerge(1) tambien colocan los clusters en estos elementos meta seek. Por lo tanto, en algunos casos imprecisos era necesario reservar suficiente espacio. Esto a veces fallaba. Ahora solo los clusteres son almacenados en meta seek#2, y meta seek #1 se refiere al elemento meta seek #2. o Los elementos de adjuntos, capitulos y etiquetas solo estan presentes si se han anadidos. El archivo Matroska(TM) mas corto posible se pareceria a esto: [Encabezado EBML] [segmento [informacion segmento] [informacion pista] [cluster 1]] Este podria ser el caso para archivos de audio. ARCHIVOS DE CODIGOS DE TIEMPO EXTERNOS mkvmerge(1) permite al usuario elegir los codigos de tiempo para una pista en concreto. Se puede usar para crear archivos con video de tasa de fotogramas variable (VFR) o incluir discontinuidades en el audio. En este caso, un fotograma es la unidad que mkvmerge(1) utiliza por cada bloque Matroska(TM) creado. Para el video es exactamente un fotograma, para audio esto es un paquete de un especifico tipo de audio. P.e. para AC-3 esto seria un paquete que contiene 1536 muestras. Los archivos de codigos de tiempo que se utilizan cuando las pistas se unen a otras, solo se deben especificar a la primera parte de una sucesion de pistas. Por ejemplo, si unes dos archivos, video1.avi y video2.avi, y deseas usar codigos de tiempo entonces tu linea de comandos se deberia parecer a esto: mkvmerge ... --timestamps 0:codigos_tiempo.txt video1.avi +video2.avi Hay cuatro formatos que son reconocidos por mkvmerge(1). La primera linea siempre contiene el numero de la version. Las lineas vacias, con solo espacios y las que comienzan con '#' se ignoran. Formato de archivo de codigo de tiempo v1 Este formato comienza la linea de la version. La segunda linea declara el numero por defecto de fotogramas por segundo. El resto de lineas contienen tres numeros separados por comas: el fotograma inicial (0 es el primer fotograma), el ultimo fotograma y el numero de fotogramas para este rango. Los Fotogramas Por Segundo (FPS) es un numero con un punto decimal '.'. Los rangos pueden contener discontinuidades para el FPS usado por defecto. Un ejemplo: # Formato de codigo de tiempo v1 assume 27.930 800,1000,25 1500,1700,30 Formato de archivo de codigo de tiempo v2 En este formato cada linea contiene un codigo de tiempo para el fotograma correspondiente. Este codigo de tiempo se debe especificar con una precision de milisegundos. Puede ser un numero decimal o no. Se deben especificar como minimo tantas lineas de codigos de tiempo como fotogramas tiene la pista. Los codigos de tiempo deben estar ordenados. Por ejemplo para 25fps: # Formato de codigo de tiempo v2 0 40 80 Formato de archivo de codigo de tiempo v3 En este formato cada linea contiene una duracion en segundos seguida por un numero opcional de fotogramas por segundo. Ambos campos pueden ser numeros decimales. Si el numero de fotogramas por segundo no se especifica se utiliza el valor predeterminado. Para el audio se deberia dejar al codec calcular, por si mismo, el codigo de tiempo del fotograma. Para eso, deberia utilizar 0.0 como el numero de fotogramas por segundo. Tambien es posible crear discontinuidades en la secuencia usando la palabra clave 'gap' seguida por la duracion de la discontinuidad. Un ejemplo para el archivo de audio: # Formato de codigo de tiempo v3 assume 0.0 25.325 7.530,38.236 gap, 10.050 2.000,38.236 Formato de archivo de codigo de tiempo v4 Este formato es identico al formato v2. La unica diferencia es que los codigos de tiempo no tiene que estar ordenados. Este formato casi nunca se deberia utilizar. CODIGOS DE SALIDA mkvmerge(1) finaliza con uno de estos tres codigos de salida: o 0 -- Este codigo de salida significa que el multiplexado se ha realizado correctamente. o 1 -- En este caso mkvmerge(1) genera una salida con al menos una advertencia, pero la 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. mkvmerge(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 mkvmerge(1) usa las variables predefinidas que se determinan en la configuracion local del sistema (p.e. LANG y la familia LC_*). Variables adicionales: MKVMERGE_DEBUG, MKVTOOLNIX_DEBUG y su forma abreviada MTX_DEBUG El contenido se trata como si se hubiese pasado a traves de la opcion --debug. MKVMERGE_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 mkvinfo(1), mkvextract(1), mkvpropedit(1), mkvtoolnix-gui(1) WWW La ultima version se puede encontrar siempre en la pagina de MKVToolNix[6]. AUTOR Moritz Bunkus Desarrollador NOTAS 1. la pagina web de Matroska(TM) https://www.matroska.org/ 2. IANA https://www.iana.org/assignments/media-types/ 3. mkvmerge-identification-output-schema-v18.json https://mkvtoolnix.download/doc/mkvmerge-identification-output- schema-v18.json 4. RFC 7159 https://tools.ietf.org/html/rfc7159 5. La especificacion de Matroska https://www.matroska.org/technical/specs/index.html 6. la pagina de MKVToolNix https://mkvtoolnix.download/ MKVToolNix 83.0 2024-03-10 MKVMERGE(1)