NOMBRE
mkvmerge - Multiplexa secuencias multimedia en un archivo MatroskaSINOPSIS
mkvmerge
[opciones globales] {-o salida} [opciones1] {archivo1}
[[opciones2] {archivo2}] [@archivo-opciones.json]
DESCRIPCIÓN
Este programa toma de la entrada diversos archivos multimedia y une sus secuencias (todas ellas o sólo las seleccionadas) en un archivo Matroska; mire la página web de Matroska[1].Opciones generales
-v, --verboseIncrementa el detalle (verbose).
-q, --quiet
Suprime la salida.
-o, --output nombre-archivo
Escribe el nombre-archivo. Si la
división es usada entonces este parámetro es tratado de distinta
manera. Mire la explicación sobre la opción --split para
obtener más detalles.
-w, --webm
Crea un archivo compatible WebM. Esto
también se habilita si el nombre de la extensión del archivo de
salida es "webm". Este modo impone ciertas restricciones. Los
únicos códecs permitidos son VP8, VP9 para video y Opus, Vorbis
para pistas de audio. La entrada DocType de la cabecera se cambia a
"webm".
Para capítulos y etiquetas sólo se permite un subconjunto de
elementos. eliminará automáticamente todos
los elementos no permitidos por la especificación.
--title título
Establece el título general para el
archivo de salida, p.e. el nombre de la película.
--default-language código-lenguaje
Establece el código de lenguaje
predefinido que será usado para todas las pistas a menos que se
sobrescriban con la opción --language.
El código de idioma predefinido es 'und' para 'indeterminado'.
Manipulación de información del segmento (opciones generales)
--segmentinfo nombre-archivo.xmlLee la información 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 así como un DTD están incluidos
en el paquete de MKVToolNix.
Consulte la sección de más adelante sobre los archivos XML de
información del segmento para más detalles.
--segment-uid SID1,SID2,...
Establece los UIDs del segmento que se
usarán. Esto es una lista separada por comas con UIDs del segmento con
una longitud de 128 bits en la forma típica del UID: números
hexadecimales con o sin el prefijo "0x" con o sin espacios y siendo
32 dígitos exactos.
Si el SID comienza con = entonces el resto se interpreta como el nombre de un
archivo Matroska cuyo UID del segmento es leído y usado.
Cada archivo creado contiene un segmento, y cada segmento tiene un SID (UID del
segmento). Si se especifican más SIDs que segmentos entonces los UIDs
que sobren son ignorados. Si se especifican menos UIDs que segmentos entonces
se crearán de manera aleatoria los UIDs que faltan.
Manipulación de capítulos y etiquetas (opciones generales)
--chapter-language código-idiomaEstablece el código de idioma ISO 639-2
que se escribe en cada entrada de capítulo. Por defecto se establece a
'eng'. Consulte la sección de más adelante sobre los
capítulos para obtener más detalles.
Esta opción puede ser usada tanto para archivos simples de
capítulos como para archivos de entrada que contengan capítulos
sin información del idioma de los capítulos, p.e. archivos MP4 y
OGM.
El idioma establecido con esta opción se usa también cuando los
capítulos se generan con la --generate-chapters
opción.
--chapter-charset conjunto-caracteres
Establece el conjunto de caracteres que se
usará para la conversión a UTF-8 para archivos simples de
capítulos. Consulte la sección sobre la conversión de
archivos de texto y conjunto de caracteres para ver una explicación
sobre cómo realiza la conversión entre
conjunto de caracteres.
Este ajuste también se aplica a los capítulos que se copian desde
ciertos tipos de contenedores, p.e. archivos Ogg/OGM y MP4. Consulte la
sección de más adelante sobre capítulos para obtener
más detalles.
--chapter-sync d[,o[/p]]
Ajusta los códigos de tiempo de los
capítulos en el siguiente archivo de origen en d ms. Como
alternativa, se puede usar la opción --sync con el ID -2
de pista especial (consulte la sección 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 números decimales.
Por defecto: no hay ninguna sincronización manual (que es lo mismo que
d = 0 y o/p = 1.0).
Esta opción se puede utilizar varias veces para un archivo de entrada
aplicándola a diversas pistas seleccionando IDs de pista diferente de
pista cada vez.
--generate-chapters modo
puede crear
capítulos automáticamente. Actualmente, se admiten los
siguientes dos modos:
Los nombres para los nuevos capítulos se controlan con la opción
--generate-chapters-name-template. El idioma se establece con
--chapter-language que se debe establecer antes de
--generate-chapters.
--generate-chapters-name-template plantilla
•'when-appending' – Este modo
crea un capítulo al inicio y cada vez que se une un archivo.
Este modo también funciona con los tipos de corte 'partes:' y
'partes-fotogramas:'. Para estos modos se generará un capitulo por cada
rango de marcas de tiempo unidas (aquellos cuyas marcas de tiempo inicien con
'+').
Nota
requiere una pista de video o audio a fin de poder determinar
cuando se une un nuevo archivo. Si una o más pistas de vídeo se
multiplexan, se utiliza la primera. Por el contrario, se utiliza la primera
pista de audio.
•'interval:time-spec' –
Este modo crea un capítulo conforme a un intervalo establecido mediante
time-spec. El formato es HH:MM:SS.nnnnnnnnn o un número
seguido por una unidad 's', 'ms' o 'us'.
Ejemplo: --generate-chapters interval:45s
Esto establece el nombre de la plantilla para
los nombres de los capítulos creados con la opción
--generate-chapters. Si no se usa la opción entonces se usa por defecto
'Chapter <NUM:2>'.
Hay diversas variables que se pueden usar en la plantilla que son reemplazadas
por sus valores correspondientes cuando se genera un capítulo. La
cadena de texto '<NUM>' será reemplazada por el número de
capítulo. La cadena de texto '<START>' será reemplazada
por la marca de tiempo inicial del capítulo.
Las cadenas '<FILE_NAME>' y '<FILE_NAME_WITH_EXT>' sólo se
rellenan cuando se generan capítulos para los archivos anexados.
Serán reemplazados por el nombre del archivo anexado con su
extensión, no respectivamente. Tenga en cuenta que sólo se
insertan el nombre base y la extensión del archivo, no sus componentes
de directorio o unidad.
Puede especificar el número mínimo de dígitos del
número del capítulo con '<NUM:places>', p.e.
'<NUM:3>'. Se le añadirán ceros a la izquierda si el
número resultante tiene menos dígitos de los especificados.
Puede controlar el formato a usar según la marca de tiempo inicial con
<START:format>. Por defecto, se usará '%H:%M:%S'. Los
códigos válidos de formato son:
--cue-chapter-name-format formato
•%h – horas
•%H – horas con dos
dígitos que admiten ceros a la izquierda
•%m – minutos
•%M – minutos con dos
dígitos que admiten ceros a la izquierda
•%s – segundos
•%S – segundos con dos
dígitos que admiten ceros a la izquierda
•%n – nanosegundos con nueve
digitos
•%<1-9>n – nanosegundos
con hasta nueve dígitos (p.e. tres dígitos con %3n)
puede leer CUE sheets de
archivos de audio como entrada para capítulos. Los CUE sheets
normalmente contiene las entradas PERFORMER y TITLE para cada
entrada del índice. usa estos dos textos a fin de
construir el nombre del capítulo. Con esta opción, se puede
configurar el formato usado para este nombre.
Si esta opción no se establece entonces usa por
defecto el formato '%p - %t' (el artista, seguido por un espacio, una barra,
otro espacio y el título).
Si el formato está establecido entonces todo es copiado tal y como
está excepto los siguientes meta caracteres que serán
reemplazados por:
--chapters nombre-archivo
•%p es reemplazado por el texto
de la entrada PERFORMER,
•%t es reemplazado por el texto
de la entrada TITLE,
•%n es reemplazado por el
número de la pista y,
•%N es reemplazado por el
número de la pista, agregándole un cero a la izquierda si el
número es menor de 10.
Lee la información de capítulo
de nombre-archivo. Consulte la sección de más adelante
sobre capítulos para obtener más detalles.
--global-tags nombre-archivo
Lee las etiquetas globales de
nombre-archivo. Consulte la sección de más adelante sobre
etiquetas para obtener más detalles.
Control general de salida (opciones generales avanzadas)
--track-order FID1:TID1,FID2:TID2,...Esta opción 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 sólo es el número del archivo en la
línea 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 después de que se hayan creado las establecidas
con esta opción.
--cluster-length especificación
Limita el número de bloques de datos o
la duración de los datos en cada clúster. El parámetro
especificación puede ser un número n sin unidad o
un número d con el sufijo 'ms'.
Si no se usa ninguna unidad entonces pondrá como
máximo n bloques de información en cada clúster.
El número máximo de bloques es 65535.
Si el número d tiene el sufijo 'ms' entonces
pondrá como máximo d milisegundos de información
en cada clúster. El valor mínimo para d es '100ms', y el
máximo es '32000ms'.
por defecto pone como máximo 65535 bloques de
información y 5000ms de información en cada clúster.
Los programas al tratar de encontrar cierto fotograma tan sólo pueden
buscar directamente un clúster y posteriormente leer todo el
clúster. Por lo tanto, crear clústeres muy grandes podría
conllevar una búsqueda lenta e imprecisa.
--clusters-in-meta-seek
Le dice a crear un elemento
meta seek al final del archivo que contendrá todos los
clústeres. Consulte también la sección sobre
diseño de archivos Matroska.
--timestamp-scale factor
Fuerza el factor de escala de los
códigos de tiempo con factor. Los valores admitidos están
comprendidos en el rango 1000..10000000 o el valor especial
-1.
Normalmente, usará el valor 1000000 lo que
significa que los códigos de tiempo y duraciones tendrán una
precisión de 1ms. Para los archivos que no vayan a contener una pista
de video pero si al menos una de audio entonces
elegirá automáticamente un factor de escala de códigos de
tiempo por lo que todos los códigos de tiempo y duraciones
tendrán una precisión de una muestra (sample) de audio. Esto
causa una sobrecarga mayor pero permite que la búsqueda y
extracción sea más precisa.
Si se usa el valor especial -1 entonces usará
la precisión de la muestra incluso si existe una pista de video.
--enable-durations
Escribe las duraciones para todos los bloques.
Esto incrementará el tamaño del archivo y por ahora, no ofrece
ningún valor adicional para los reproductores.
--no-cues
Le dice a no crear y
escribir la información del índice (cue) que puede ser comparada
al índice de un AVI. Los archivos Matroska se pueden reproducir sin la
información del índice, pero la búsqueda será
probablemente imprecisa y lenta. Usa esto tan sólo si realmente
estás desesperado por ahorrar espacio o con fines de testeo. Mire
también la opción --cues que puede ser especificada para
cada archivo de entrada.
--no-date
Por defecto establece en el
campo "fecha" de información del segmento el tiempo &
fecha del inicio del multiplexado. Con esta opción, este campo no
será escrito.
--disable-lacing
Deshabilita el lacing para todas las pistas.
Esto incrementará el tamaño del archivo, especialmente si hay
muchas pistas de audio. Esta opción no está diseñada para
su uso frecuente.
--disable-track-statistics-tags
Normalmente,
escribirá algunas etiquetas con estadísticas para cada pista. Si
dichas etiquetas ya están presentes entonces serán sobrescritas.
Las etiquetas BPS, DURATION, NUMBER_OF_BYTES y
NUMBER_OF_FRAMES.
Habilitar esta opción impide que escriba y edite las
etiquetas existentes con los mismos nombres.
--disable-language-ietf
Normalmente
escribirá los nuevos elementos de idioma IETF BCP 47 junto con los
elementos de idioma heredados en los encabezados de pista, capítulos y
etiquetas. Si se usa esta opción, únicamente serán
escritos los elementos heredados.
--normalize-language-ietf modo
Habilita la normalización de todas las
etiquetas de idioma IETF BCP 47 a su forma canónica 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
normalización a la forma canónica.
En la forma canónica 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
canónica. Después 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.
División, vinculación, unión y concatenación de archivos (más opciones generales)
--split especificaciónDivide el archivo generado después de
un tamaño o tiempo especificado. Por favor, tenga en cuenta que estas
pistas sólo pueden ser divididas justo antes de un fotograma clave. Por
lo tanto, el punto de división podría ser algo distinto del
especificado por el usuario.
Por el momento soporta los siguientes modos:
En el modo de división el nombre del archivo generado se trata de manera
diferente que con el funcionamiento normal. Puede contener un printf
como expresión '%d' incluyendo un ancho de campo opcional, p.e. '%02d'.
Si se hace entonces el número de archivo actual es formateado
apropiadamente e insertado en ese punto del nombre del archivo. Si no existe
dicho patrón entonces se asume '-%03d' como patrón justo antes
de la extensión del archivo: '-o salida.mkv' resultaría en
'salida-001.mkv' y así en adelante. Si no hay extensión entonces
'-%03d' será agregado al nombre.
Otro posible patrón es '%c' que será reemplazado por el nombre del
primer capítulo del archivo. Tenga en cuenta que cuando figure '%c', el
patrón '-%03d' no será añadido
automáticamente.
--link
1.División por tamaño.
Sintaxis: --split [size:] d[k|m|g]
Ejemplos: --split size:700m or --split 150000000
El parámetro d puede acabar con ' k', 'm' o 'g' para
indicar que el tamaño están en KB, MB o GB, respectivamente. De
cualquier otro modo, se asume el tamaño en bytes. Después de que
el archivo de salida alcance el tamaño limite, comienza la
creación de otro archivo.
El prefijo 'size:' se puede omitir por motivos de compatibilidad.
2.División por duración.
Sintaxis: --split [duration:] HH:MM:SS.nnnnnnnnn|ds
Ejemplos: --split duration:00:60:00.000 o --split 3600s
El parámetro puede tener la forma HH:MM:SS.nnnnnnnnn para
especificar la duración en precisión de nanosegundos o puede ser
un número d seguido por la letra ' s' para una
duración en segundos. HH es el número de las horas,
MM el de los minutos, SS para los segundos y nnnnnnnnn
son los nanosegundos. Tanto los números de las horas como los
nanosegundos pueden ser omitidos. Hay hasta nueve dígitos
después del punto decimal. Después de que la duración del
contenido, en el archivo actual, alcance este límite comienza la
creación de otro archivo.
El prefijo 'duration:' puede ser omitido por motivos de compatibilidad.
3.División por códigos de
tiempo.
Sintaxis: --split timestamps: A[,B[,C...]]
Ejemplo: --split timestamps:00:45:00.000,01:20:00.250,6300s
Los parámetros A, B, C, etc... pueden tener el mismo
formato que el usado para la división por duración (mire
más arriba). La lista de códigos de tiempo están
separados por comas. Tras alcanzar, en la secuencia de entrada, el
código de tiempo del punto de división actual se crea un nuevo
archivo. Entonces se usa el siguiente punto de división especificado en
la lista.
El prefijo 'timestamps:' no puede ser omitido.
4.Conservar las partes especificadas por los
rangos de códigos de tiempo especificados mientras que las otras que
son descartadas.
Sintaxis: --split parts:
inicio1-fin1[,[+]inicio2-fin2[,[+]inicio3-fin3...]]
Ejemplos:
El modo parts le dice a conservar ciertos rangos de
códigos de tiempo mientras se descartan otros. Los rangos a conservar
tienen que ser listados después de la palabra clave parts: y separados
por comas. Un rango, en sí 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 código de tiempo).
Si el código de tiempo de inicio se omite entonces por defecto lo toma
del valor del código 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 código de tiempo final se omite entonces por defecto lo toma del
valor final de los archivos entrada que básicamente le dice a
que conserve el resto (mire el ejemplo 3).
Por lo general, cada rango será 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 código de tiempo de
inicial. Esto le dice a que no cree un nuevo archivo y, en
vez de eso, concatene el rango después del último rango escrito
en el archivo. Los códigos de tiempo serán ajustados para que no
existan discontinuidades en el archivo de salida incluso si había un
espacio sin abarcar entre dos rangos del archivo de entrada.
En el ejemplo 1 creará 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 creará sólo un archivo. Este
archivo abarcará 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 creará dos archivos. El primero
abarcará 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 sólo realiza divisiones en
fotogramas claves. Esto es aplicable tanto al inicio como al final de cada
rango. Así que si un código de tiempo final está entre
dos fotogramas claves, continuará el procesamiento
de los fotogramas hasta el final pero excluirá el siguiente fotograma
clave.
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-
5.Conservar partes concretas especificando
rangos numéricos de fotogramas/campos mientras se descartan otros.
Sintaxis: --split parts-frames:
inicio1-fin1[,[+]inicio2-
fin2[,[+]inicio3-fin3...]]
Ejemplos:
El modo parts-frames le dice a para conservar ciertos rangos
numéricos de fotogramas/campos mientras se descartan otros. Los rangos
a conservan tienen que ser especificados después de la palabra clave
parts-frames: y separados por comas. Un rango, en si mismo, es un
número de un fotograma/campo inicial y final. La numeración
comienza en 1.
Si el número inicial se omite entonces por defecto lo toma del
número 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 número final se omite entonces por defecto lo toma del final del
archivo de entrada que básicamente le dice a que
conserve el resto (mire el ejemplo 3).
Por lo general, cada rango será 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 código de tiempo de
inicial. Esto le dice a que no cree un nuevo archivo y, en
vez de eso, concatene el rango después del último rango escrito
en el archivo. Los códigos de tiempo serán ajustados para que no
existan discontinuidades en el archivo de salida incluso si había un
espacio sin abarcar entre dos rangos del archivo de entrada.
Nota
Tenga en cuenta que sólo realiza divisiones en
fotogramas claves. Esto es aplicable tanto al inicio como al final de cada
rango. Así que si un código de tiempo final está entre
dos fotogramas claves, continuará el procesamiento
de los fotogramas hasta el final pero excluirá el siguiente fotograma
clave.
En el ejemplo 1 creará 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 creará sólo un archivo. Este
archivo contendrá tanto el contenido a partir del 733 hasta el 912 como
el contenido a partir del 1592 hasta el 2730.
En el ejemplo 3 creará dos archivos. El primero
abarcará el contenido a partir del inicio del archivo de entrada hasta
el 430. El segundo archivo abarcará el contenido a partir del 2512
hasta el final del archivo de entrada.
Este modo sólo toma en cuenta la primera pista de video que se genera. Si
no se genera ninguna pista de video entonces la división no
ocurrirá.
Nota
Los números especificados con este argumento son interpretados en base al
número de bloques Matroska que se generan. Un único bloque
Matroska contiene un fotograma completo (material progresivo) o sólo un
campo(material entrelazado). Mkvmerge no hace distinciones entre estos dos y
tan sólo cuenta el número de bloques. Por ejemplo: Si se quiere
dividir después del 25º fotograma con material entrelazado,
entonces tendría que usar 50 (dos campos por fotograma) como punto de
corte.
1.--split parts-frames:137-258,548-1211
2.--split
parts-frames:733-912,+1592-2730
3.--split parts-frames:-430,2512-
6.División después
fotogramas/campos específicos.
Sintaxis: --split frames: A[,B[,C...]]
Ejemplo: --split frames:120,237,891
Los parámetros A, B, C, etc... deben ser todos
enteros positivos. La numeración comienza por 1. La lista de
números de fotograma/campo está separada por comas.
Después de que la secuencia de entrada haya alcanzado el número
de fotograma/campo establecido como punto de división, se crea un nuevo
archivo. Entonces se usa el siguiente punto de división especificado en
la lista. es usado.
El prefijo 'frames:' no puede ser omitido.
Este modo sólo toma en cuenta la primera pista de video que se genera. Si
no se genera ninguna pista de video entonces la división no
ocurrirá.
Nota
Los números especificados con este argumento son interpretados en base al
número de bloques Matroska que se generan. Un único bloque
Matroska contiene un fotograma completo (material progresivo) o sólo un
campo(material entrelazado). Mkvmerge no hace distinciones entre estos dos y
tan sólo cuenta el número de bloques. Por ejemplo: Si se quiere
dividir después del 25º fotograma con material entrelazado,
entonces tendría que usar 50 (dos campos por fotograma) como punto de
corte.
7.División antes de capítulos
específicos.
Sintaxis: --split chapters:all o --split chapters:
A[,B[, C...]]
Ejemplo: --split chapters:5,8
Los parámetros A, B, C, etc... deben ser todos
enteros positivos. La numeración comienza por 1. La lista de
capítulos está separada por comas. La división
ocurrirá justo antes del primer fotograma clave cuyo código de
tiempo sea igual o mayor que el código de tiempo inicial para los
capítulos cuyos números están listados. Un
capítulo que comienza a los 0s nunca se tiene en cuenta para la
división siendo omitido silenciosamente.
La palabra clave all puede ser usado en vez de una lista de todos los
números de los capítulos.
El prefijo 'chapters:' no puede ser omitido.
Nota
El formato del archivo Matroska soporta estructuras arbitrarias y profundamente
anidadas de capítulos llamadas 'edition entries' y 'chapter atoms'. Sin
embargo, esta modalidad sólo tiene en cuenta el nivel más alto
de los capítulos a través de todas las entradas de la
edición.
Archivos vinculados a otros cuando se divide
el archivo generado. Consulte la siguiente sección vinculación
de archivos para más detalles.
--link-to-previous segmento-UID
Vincula el primer archivo generado al segmento
con el UID del segmento especificado mediante el parámetro
segmento-UID. Consulte la siguiente sección vinculación
de archivos para más detalles.
Si el SID comienza con = entonces el resto se interpreta como el nombre de un
archivo Matroska cuyo UID del segmento es leído y usado.
--link-to-next segmento-UID
Vincula el último archivo generado al
segmento con el UID del segmento especificado por el parámetro
segmento-UID. Consulte la siguiente sección vinculación
de archivos para más detalles.
Si el SID comienza con = entonces el resto se interpreta como el nombre de un
archivo Matroska cuyo UID del segmento es leído y usado.
--append-mode modo
Establece cómo se calculan los
códigos de tiempo al unir archivos. El parámetro modo
puede tener dos valores: 'file' que es la opción por defecto y 'track'.
Cuando mkvmerge realiza la unión 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 códigos de tiempo de
'pista2_1'. En el modo 'file' esta cantidad es el mayor código de
tiempo encontrado en el 'archivo1' incluso si ese código de tiempo
proviniera de una pista diferente a 'pista1_1'. En el modo track la
compensación es el mayor código de tiempo de 'pista1_1'.
Por desgracia, mkvmerge no puede detectar qué modo es más
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' podría funcionar mejor para fuentes que
esencialmente son partes de un archivo, p.e. para archivos VOB y EVO.
Las pistas de subtítulos siempre son tratadas como si el modo 'file'
estuviese activado incluso si el que está activado es el modo
'track'.
--append-to SFID1:STID1:DFID1:DTID1[,...]
Esta opción controla que pista es unida
a otra. Cada especificación 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 será unida la primera.
Si se omite esta opción entonces se usa un mapeo estándar. Este
mapeo estándar une cada pista del archivo actual a una pista del
anterior archivo con el mismo ID de pista. Esto permite unir fácilmente
dos archivos que habían sido divididos a partir de una película,
si tienen el mismo número de pistas y el ID de pista, con ayuda del
comando: mkvmerge -o salida.mkv parte1.mkv +parte2.mkv.
+
Un único '+' provoca que el siguiente
archivo es unido en vez de añadido. El '+' también se puede
poner delante del siguiente nombre del archivo. Por lo tanto, los dos comandos
siguientes son equivalentes:
[ archivo1 archivo2 ]
mkvmerge -o completo.mkv archivo1.mkv + archivo2.mkv mkvmerge -o completo.mkv archivo1.mkv +archivo2.mkv
Si varios nombres de archivos están
entre corchetes entonces el segundo y los restantes archivos serán
añadidos al primer archivo que esté 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) normalmente busca archivos en el
mismo directorio del archivo de entrada que tiene el mismo nombre base y solo
difiere en su número de ejecución (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 único gran archivo. Esta opción,
un único '=', provoca que mkvmerge no busque esos archivos adicionales.
El '=' también se puede poner delante del siguiente nombre del archivo.
Por lo tanto, los dos comandos siguientes son equivalentes:
( archivo1 archivo2 )
$ mkvmerge -o completo.mkv = archivo1.vob $ mkvmerge -o completo.mkv =archivo1.vob
Si múltiples nombres de archivos
están entre paréntesis entonces estos archivos serán
tratados como si estuviesen unidos en un único archivo, el cual
consiste en el contenido de cada uno de los archivos uno detrás 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 paréntesis también evita que
busque archivos adicionales con el mismo nombre base tal y
como se ha descrito en opción =. Por lo tanto, los dos comandos
siguientes son equivalentes:
Varias cosas se deben tener en cuenta:
mkvmerge -o salida.mkv = archivo.mkv mkvmerge -o salida.mkv "(" archivo.mkv ")"
1.Debe haber espacios antes y después
de los signos de paréntesis.
2.Cada parámetro entre
paréntesis se interpreta como un nombre de archivo. Por lo tanto, todas
las opciones que se deban aplicar a este archivo lógico deben ser
introducidas antes del signo de apertura del paréntesis.
3.Algunos entornos tratan a los
paréntesis como caracteres especiales. Por lo tanto, deben ser
escapados o entrecomillados tal y como se muestra en el ejemplo
anterior.
Soporte de adjuntos (más opciones globales)
--attachment-description descripciónDescripción en texto sin formato del
siguiente adjunto. Esto afecta a la opción --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 página web de IANA[2]. El tipo MIME es
obligatorio para un adjunto.
Si no especifica el tipo MIME para un adjunto, su tipo se detecterá
automáticamente.
--attachment-name nombre
Establece el nombre de este adjunto que
será almacenado en el archivo de salida. Si no se especificó
esta opción entonces el nombre será generado a partir del nombre
del archivo del adjunto especificado con la opción --attach-file
o --attach-file-once.
--attach-file nombre-archivo, --attach-file-once
nombre-archivo
Crea un archivo adjunto dentro del archivo
Matroska. El tipo MIME debe establecerse antes de que esta opción pueda
ser utilizada. La diferencia entre las dos formas es que durante la
división los archivos adjuntos con --attach-file son adjuntados
a todos los archivos de salida mientras que con --attach-file-once tan
sólo se adjuntan al primer archivo creado. Si no se usa la
división entonces ambas opciones hacen lo mismo.
mkvextract(1) puede ser utilizado para extraer los archivos adjuntos de
un archivo Matroska.
--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 usará para fuentes TrueType en vez de 'fonts/ttf'.
Esto afecta tanto a los nuevos adjuntos, si su tipo MIME se detecta
automáticamente, como a los adjuntos existentes cuyos tipos
MIMEalmacenados serán reasignados a los heredados.
Los tipos MIME afectados son 'font/sfnt', 'font/ttf' y 'font/collection' los
cuales están asignados a 'application/x-truetype-fonts' y 'font/otf',
que está 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 números son los ID de pista que pueden ser obtenidos con la
opción --identify. No son los números de la pista
(consulte la sección IDs de pista). Por defecto: copia todas las pistas
de audio.
En lugar del ID de pista también se puede especificar el código de
idioma ISO 639-2. Esto sólo 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 están prefijados con ! entonces significa lo contrario: copia
todas las pistas de este tipo excepto las enumeradas después del
!.
-d, --video-tracks [!]n,m,...
Copia las pistas de video n, m,
etc. Los números son los ID de pista que pueden ser obtenidos con la
opción --identify. No son los números de la pista
(consulte la sección IDs de pista). Por defecto: copia todas las pistas
de video.
En lugar del ID de pista también se puede especificar el código de
idioma ISO 639-2. Esto sólo funciona para archivos de entrada que
ofrecen etiquetas de idioma para sus pistas.
Si los IDs están prefijados con ! entonces significa lo contrario: copia
todas las pistas de este tipo excepto las enumeradas después del
!.
-s, --subtitle-tracks [!]n,m,...
Copia las pistas de subtítulos
n, m, etc. Los números son los ID de pista que pueden ser
obtenidos con la opción --identify. No son los números de
la pista (consulte la sección IDs de pista). Por defecto: copia todas
las pistas de subtítulos.
En lugar del ID de pista también se puede especificar el código de
idioma ISO 639-2. Esto sólo funciona para archivos de entrada que
ofrecen etiquetas de idioma para sus pistas.
Si los IDs están prefijados con ! entonces significa lo contrario: copia
todas las pistas de este tipo excepto las enumeradas después del
!.
-b, --button-tracks [!]n,m,...
Copia las pistas de botón n,
m, etc. Los números son los ID de pista que pueden ser obtenidos
con la opción --identify. No son los números de la pista
(consulte la sección IDs de pista). Por defecto: copia todas las pistas
de botón.
En lugar del ID de pista también se puede especificar el código de
idioma ISO 639-2. Esto sólo funciona para archivos de entrada que
ofrecen etiquetas de idioma para sus pistas.
Si los IDs están prefijados con ! entonces significa lo contrario: copia
todas las pistas de este tipo excepto las enumeradas después del
!.
--track-tags [!]n,m,...
Copia las etiquetas de las pistas n,
m, etc. Los números son los ID de pista que pueden ser obtenidos
con la opción --identify. No son los números de la pista
(consulte la sección --identify). Por defecto: copia las
etiquetas de todas las pistas.
Si los IDs están prefijados con ! entonces significa lo contrario: copia
todas las pistas de este tipo excepto las enumeradas después del
!.
-m, --attachments
[!]n[:all|first],m[:all|first],...
Copia los adjuntos con los IDs n,
m, etc... a todos (all) o sólo al primer archivo generado
(first). A cada ID se le puede añadir ':all' (que es la opción
predeterminada) o ':first'. Si la división está activada
entonces estos adjuntos cuyos IDs especificados con ':all' serán
copiados a todos los archivos generados mientras que los especificados con
':first' sólo serán copiados al primer archivo generado. Si la
división no está activada entonces ambas variantes producen el
mismo efecto.
Por defecto todos los adjuntos se copian a todos los archivos generados.
Si los IDs están prefijados con ! entonces significa lo contrario: copia
todas las pistas de este tipo excepto las enumeradas después 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 subtítulos de
este archivo.
-B, --no-buttons
No copia ninguna pista de botón de este
archivo.
-T, --no-track-tags
No copia ninguna etiqueta de la pista
especificada de este archivo.
--no-chapters
No copia ningún capítulo de este
archivo.
-M, --no-attachments
No copia ningún adjunto de este
archivo.
--no-global-tags
No copia las etiquetas globales de este
archivo.
-y, --sync TID:d[,o[/p]]
Ajusta los códigos 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 opción --identify. (consulte la
sección 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 números decimales.
Por defecto: no hay ninguna sincronización manual (que es lo mismo que
d = 0 y o/p = 1.0).
Esta opción se puede utilizar varias veces para un archivo de entrada
aplicándola a diversas pistas seleccionando IDs de pista diferente de
pista cada vez.
--cues TID:none|iframes|all
Controla qué entradas del índice
(cue) de la pistas se crean para una pista concreta (consulte la
sección IDs de pista). 'None' evita la creación de entradas del
índice. Sólo los bloques 'iframes' sin referencias anteriores o
posteriores ( = fotogramas I en pistas de video) se insertan en el cue sheet.
'All' provoca que genere las entradas del índice
para todos los bloques lo que hará que el archivo sea más
grande.
Por defecto es 'iframes' para pistas de video y subtítulos, y 'none' para
las pistas de audio. Mire también la opción --no-cues que
evita la creación de entradas del índice a pesar de las opciones
--cues utilizadas.
Esta opción se puede utilizar varias veces para un archivo de entrada
aplicándola 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 sección IDs de
pista) si el argumento opcional bool está establecido a 1
o si no está presente. Si el contenedor de origen no proporciona esa
información, y el usuario no la especifica mediante esta opción,
se establecerá el indicador.
Si el usuario no selecciona de forma explícita una pista durante la
visualización, 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 opción se puede utilizar varias veces para un archivo de entrada
aplicándola 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 sección IDs
de pista) conforme al valor bool definido (0 o 1; si no se especifica
por defecto es 1). Las pistas se habilitan por defecto si ninguna
opción se especifica para ellas y el contenedor de origen tampoco no
facilita esta información.
Sólo aquellas pistas con indicador de "pista habilitada"
configurado se tendrán en cuenta para su reproducción.
Esta opción se puede utilizar varias veces para un archivo de entrada
aplicándola a diversas pistas seleccionando IDs de pista diferente de
pista cada vez.
--forced-display-flag TID[:bool]
Establece el indicador de
"visualización forzada" en la pista especificada (consulte la
sección IDs de pista) si el argumento opcional bool está
establecido a 1 o si no está presente. Úselo para las
pistas que incluyan texto en pantalla o diálogos en un idioma
extranjero.
Esta opción se puede utilizar varias veces para un archivo de entrada
aplicándola 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 sección IDs de
pista) si el argumento opcional bool está establecido a 1
o si no está presente. Este indicador permite configurar si la pista es
apta para usuarios con discapacidad auditiva.
Esta opción se puede utilizar varias veces para un archivo de entrada
aplicándola 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 sección IDs de
pista) si el argumento opcional bool está establecido a 1
o si no está presente. Este indicador permite configurar si la pista es
apta para usuarios con discapacidad visual.
Esta opción se puede utilizar varias veces para un archivo de entrada
aplicándola 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 sección IDs de
pista) si el argumento opcional bool está establecido a 1
o si no está presente. Este indicador permite configurar si la pista
incluye descripciones textuales del contenido del video aptas para
reproducirse mediante un sistema de conversión de texto a voz para
usuarios con discapacidad visual.
Esta opción se puede utilizar varias veces para un archivo de entrada
aplicándola 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 sección IDs de
pista) si el argumento opcional bool está establecido a 1
o si no está presente. Este indicador se puede configurar si la pista
está en el idioma original del contenido (no una traducción).
Esta opción se puede utilizar varias veces para un archivo de entrada
aplicándola 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 sección
IDs de pista) si el argumento opcional bool está establecido a
1 o si no está presente. Este indicador permite configurar si la
pista contiene comentarios.
Esta opción se puede utilizar varias veces para un archivo de entrada
aplicándola a diversas pistas seleccionando IDs de pista diferente de
pista cada vez.
--blockadd TID:nivel
Conserva sólo los BlockAdditions hasta
el nivel nivel de la pista especificada. Por defecto se conservan todos
los niveles. Esta opción sólo afecta a ciertos tipos de
códecs como WAVPACK4.
--track-name TID:nombre
Establece el nombre de la pista especificada
al dado en nombre (consulte la sección IDs de pista).
--language TID:idioma
Establece el idioma de la pista especificada
(consulte la sección IDs de pista). Tanto los códigos de idioma
ISO 639-2 y los códigos de país ISO 639-1 están
permitidos. Los códigos de los países serán convertidos a
códigos de idioma automáticamente. Todos los idiomas incluidos
sus códigos ISO 639-2 pueden ser listados con la opción
--list-languages.
Esta opción se puede utilizar varias veces para un archivo de entrada
aplicándola 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
número TID del archivo nombre-archivo. Consulte la
sección de más adelante acerca de las etiquetas para más
detalles.
--aac-is-sbr TID[:0|1]
Le dice a que la pista con
el ID TID es SBR AAC (también 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) y b) el archivo AAC contiene datos SBR AAC. La
razón para esta opción es que es técnicamente imposible
distinguir los datos AAC de los datos SBR AAC sin decodificar un fotograma
completo de AAC. Cómo hay diversos problemas de patentes con los
decodificadores AAC, nunca realizará esta fase de
decodificación. Por lo que, para archivos SBR AAC esta opción es
obligatoria. El archivo generado podría no reproducirse correctamente,
o ni si quiera hacerlo, si esta opción es omitida.
Si el archivo de entrada es un archivo Matroska entonces el CodecID
debería ser suficiente para detectar SBR AAC. Sin embargo, si el
CodecID es erróneo entonces esta opción puede ser usada para
corregirlo.
Si mkvmerge detecta erróneamente que es un archivo AAC es SBR entonces
puedes añadir ':0' al ID de pista.
--audio-emphasis TID:n|nombre-simbólico
Establece el énfasis para la pista de
audio con el ID de pista TID. El modo puede ser un número
n (ciertos valores entre 0 y 16) o un nombre
simbólico. Todos los números válidos & los nombres
simbólicos pueden ser listados con la opción
--list-audio-emphasis.
--reduce-to-core TID
Algunos códecs de audio tienen un
núcleo (core) con pérdidas y una extensión adicional que
realiza una decodificación sin pérdidas. Esta opción le
dice a que sólo copie el núcleo y no la
extensión. Por defecto, copia tanto el núcleo
como la extensión.
Actualmente sólo a las pistas DTS les afecta esta opción. Sin
embargo, las pistas TrueHD que contienen un núcleo AC-3 se presentan
como dos pistas independientes para que el usuario puede seleccionar que pista
quiere copiar. Para un DTS esto no funcionaría 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 códecs de audio contienen
campos de cabecera que informan al decodificador o reproductor la ganancia
(normalmente negativa) a aplicar para la normalización de
diálogo. Esta opción le dice a que elimine o
minimice esa ganancia al modificar el correspondiente campo de la cabecera.
Actualmente sólo las pistas AC-3, DTS y TrueHD están relacionadas
con esta opción.
--timestamps TID:nombre-archivo
Lee los códigos de tiempo que se
utilizarán para el ID de pista especificado de nombre-archivo.
Estos códigos de tiempo reemplazan de manera forzosa los códigos
de tiempo que normalmente calcula. Lea la sección
acerca de archivos de códigos de tiempo externos.
--default-duration TID:x
Fuerza la duración predeterminada de
una pista a un valor específico. También modifica los
códigos de tiempo para que coincidan con la duración
predeterminada. El argumento x debe tener el sufijo 's', 'ms', 'us',
'ns', 'fps', 'p' o 'i' para especificar la duración predeterminada en
segundos, milisegundos, microsegundos, nanosegundos, 'fotogramas por segundo',
'fotogramas progresivos por segundo', o 'fotogramas entrelazados por segundo,
respectivamente. El número x en si mismo puede ser un
número decimal o fracción.
Si no se fuerza la duración predeterminada entonces mkvmerge
intentará generar la duración 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 opción también puede ser utilizado para cambiar los FPS de
las pistas de video sin tener que usar códigos de tiempo
externos.
--fix-bitstream-timing-information TID[:0|1]
Por lo general, no cambia
la información del tiempo (frecuencia de fotograma/campo) almacenada en
el bitstream de video. Con esta opción esa información se ajusta
para coincidir con la información del tiempo. La información del
tiempo del contenedor puede provenir de varias fuentes: desde la línea
de comandos (consulte la sección --default-duration), el
contenedor de la fuente o generado a partir del bitstream.
Nota
Por ahora, sólo ha sido implementado para pistas AVC/H.264.
--compression TID:n
Selecciona el método de
compresión que se usará para la pista. Tenga en cuenta que el
reproductor debe soportar este método. Los valores válidos son
'none', 'zlib' y 'mpeg4_p2'/'mpeg4p2'.
El método de compresión 'mpeg4_p2'/'mpeg4p2' es un método
especial llamado 'eliminador de encabezado' que sólo está
disponible para pistas de video MPEG4 part 2.
La compresión por defecto para algunas pistas de subtítulos es
'zlib'. Este método de compresión es para el que casi todas, si
no todas, las aplicaciones de reproducción son compatibles. No se puede
asegurar la compatibilidad para otros métodos de compresión que
no sea 'ninguna'.
Opciones que sólo afectan a pistas de video
-f, --fourcc TID:FourCCFuerza el FourCC a un valor especificado.
Sólo funciona para pistas de video en el modo 'modo compatibilidad de
MS'.
--display-dimensions TID:anchoxalto
Los archivos Matroska contienen dos valores
que establecen las propiedades de visualización a las que un
reproductor debería usar para redimensionar la imagen en la
reproducción a: ancho y alto de visualización. Estos valores
pueden ser establecidos con esta opción, p.e. '1:640x480'.
Otra manera de especificar los valores de visualización es usar la
opción --aspect-ratio o --aspect-ratio-factor (mire
más abajo). Estas opciones son mutuamente excluyentes.
--aspect-ratio TID:proporción|ancho/alto
Los archivos Matroska contienen dos valores
que establecen las propiedades de visualización que un reproductor
debería usar para redimensionar la imagen para reproducir a: ancho y
alto de visualización. Con esta opción Matroska calculará
automáticamente el ancho y alto de reproducción basado en el
ancho y alto original de la imagen y la relación de aspecto
especificada con esta opción. La relación de aspecto puede ser
especificada como un número decimal de proporción o una
fracción ' ancho/alto', p.e. '16/9'.
Otra manera de especificar los valores de visualización es usar la
opción --aspect-ratio-factor o --display-dimensions (mire
más abajo). Estas opciones son mutuamente excluyentes.
--aspect-ratio-factor TID:factor|n/d
Otra manera de establecer la relación
de aspecto es especificar un factor. La relación de aspecto
original es primero multiplicada por este factor y después se
usa como la relación de aspecto definitiva.
Otra manera de especificar los valores de visualización es usar la
opción --aspect-ratio o --display-dimensions (mire
más abajo). Estas opciones son mutuamente excluyentes.
--cropping TID:izquierda,arriba,derecha,abajo
Establece los valores especificados como los
parámetros de recorte de píxeles 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 parámetro n es un
número entero entre 0 y 10.
Los valores válidos 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 número de bits codificados
para un canal de color. Un valor de 0 indica que el número de
bits no se ha especificado.
--chroma-subsample TID:hori,vert
La cantidad de píxeles 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 parámetro
se debe establecer a TID:1,1.
--cb-subsample TID:hori,vert
La cantidad de píxeles a eliminar en el
canal Cb por cada pixel no eliminado horizontal/verticalmente. Esto se
adiciona a la opción --chroma-subsample.
Ejemplo: Para un video con submuestreo de crominancia 4:2:1, el parámetro
--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
retransmisión, 2: rango completo (sin recorte), 3:
definido por
CoeficientesMatriciales/CaracterísticasTransferencia).
--color-transfer-characteristics TID:n
Las características de transferencia
del video.
Los valores válidos 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:
logarítmica, 10: raiz cuadrada logarítmica, 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 válidos 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 fósforo
--max-content-light TID:n
Establece el brillo máximo de un
único pixel (Nivel Máximo de Contenido de Luz) en candelas por
metro cuadrado (cd/m²). El valor de n debe ser un número
entero positivo.
--max-frame-light TID:n
Establece el brillo máximo de un
único fotograma (Nivel Máximo de Luz del Promedio del Fotograma
) en candelas por metro cuadrado (cd/m²). El valor de n debe ser
un número entero positivo.
--chromaticity-coordinates
TID:rojoj-x,rojo-y,verde-x,verde-y,azul-x,azul-y
Establece las coordenadas cromáticas
del color rojo/verde/azul definidas por CIE 1931.
--white-color-coordinates TID:x,y
Establece las coordenadas cromáticas
del color blanco definidas por CIE 1931.
--max-luminance TID:decimal
Establece la luminancia máxima en
candelas por metro cuadrado (cd/m²). El valor debe ser menor de
9999.99.
--min-luminance TID:decimal
Establece la luminancia mínima en
candelas por metro cuadrado (cd/m²). El valor debe ser menor de
999.9999.
--projection-type TID:método
Establece el método usado de la
proyección del video. Los valores admitidos son 0 (proyección
rectangular), 1 (proyección equirectangular), 2 (proyección de
mapeo cúbico) y 3 (proyección de malla).
--projection-private TID:data
Establece los datos privados que sólo
se aplican a una proyección en concreto. Los datos deben ser
números hexadecimales con o sin el prefijo "0x", con o sin
espacios.
--projection-pose-yaw TID:decimal
Especifica la rotación vertical de la
proyección.
--projection-pose-pitch TID:decimal
Especifica la rotación transversal de
la proyección.
--projection-pose-roll TID:decimal
Especifica la rotación longitudinal de
la proyección.
--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
números:
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-simbólico
Establece el modo estéreo para la pista
de vídeo con el ID de pista TID. El modo puede ser un
número n entre 0 y 14 o un nombre
simbólico. Todos los números válidos & los nombres
pueden ser listados con la opción --list-stereo-modes.
Opciones que sólo afectan a pistas de subtítulos
--sub-charset TID:conjunto-caracteresEstablece el conjunto de caracteres para
realizar la conversión a UTF-8 para los subtítulos UTF-8 de un
ID de pista especificada. Si no se especifica el conjunto de caracteres
será generado a partir de la configuración regional actual.
Tenga en cuenta que un conjunto de caracteres no es necesario para leer
subtítulos desde archivos o desde secuencias Kate,
ya que estos siempre se almacenan en UTF-8. Consulte la sección acerca
de archivos de texto y conjunto de caracteres para una explicación
sobre cómo realiza la conversión entre
conjunto de caracteres.
Esta opción se puede utilizar varias veces para un archivo de entrada
aplicándola a diversas pistas seleccionando IDs de pista diferente de
pista cada vez.
Otras opciones
-i, --identify nombre-archivoLe permitirá a
analizar el archivo e informar de qué tipo es, las pistas que contiene
y los IDs de pista. Si se usa esta opción entonces la unica
opción permitida es el nombre-archivo.
El formato de salida usado para el resultado se puede cambiar con la
opción --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
opción --identify. Los siguientes formatos son válidos: text (el
valor por defecto si esta opción no se usa), y json.
--probe-range-percentage porcentaje
1.El formato de text es corto y
legíble. Se compone de una línea por cada elemento encontrado
(contenedor, pistas, adjuntos, etc...).
Este formato no está pensado para ser analizado. La salida se
traducirá en el idioma que utiliza (mire
también --ui-language).
2.El formatojson genera una
representación JSON legible por máquina. Este formato sigue el
esquema JSON descrito en el siguiente archivo:
mkvmerge-identification-output-schema-v17.json[3]
Todas las versión del esquema JSON están disponibles online y en
los archivos del código fuente liberado.
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 tamaño 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 exploración con esta
opción. El mínimo de 10 MB está definido por defecto y no
se puede cambiar.
--list-audio-emphasis
Enumera todos los números
válidos & sus correspondientes nombres simbólicos para la
opción --audio-emphasis.
--list-languages
Muestra una lista de idiomas y sus
códigos ISO 639-2 que se pueden utilizar con la opción
--language.
--list-stereo-modes
Enumera todos los números
válidos & sus correspondientes nombres simbólicos para la
opción --stereo-mode.
-l, --list-types
Muestra una lista de archivos de entrada
compatibles.
--priority prioridad
Establece la prioridad de procesamiento con la
que se ejecutará. Los valores válidos son
'muy baja', 'baja', 'normal', 'alta' y 'muy alta'. Si no se especifica nada
entonces se usa la opción 'normal'. En sistemas basados en Unix,
usará la función nice(2). Por lo
tanto, sólo el súper usuario puede usar 'alta' y 'muy alta'. En
Windows todos los valores pueden se usados por todos los usuarios.
Seleccionando 'muy baja' también provocará que
seleccione la más baja prioridad de entrada y salida, así como
la de procesamiento.
--command-line-charset conjunto-caracteres
Establece el conjunto de caracteres para
convertir las cadenas de texto especificadas en la línea de comandos.
Por defecto, el conjunto de caracteres está especificado por la
configuración regional actual. Esta configuración 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 serán usadas en el archivo de
salida. Por defecto, se ajusta al conjunto de caracteres dado por la
configuración local del sistema.
-r, --redirect-output nombre-archivo
Escribe todos los mensajes al archivo
nombre-archivo en vez de en la consola. Aunque esto se puede hacer
fácilmente con la opción de redirección hay casos en los
que es necesaria esta opción: cuando el terminal reinterpreta la salida
antes de escribirlo al archivo. El conjunto de caracteres establecido con
--output-charset se respeta.
--flush-on-close
Le dice al programa que libere de datos la
memoria cache cuando se cierren los archivos para su escritura. Esto se puede
usar para evitar la pérdida de datos en cortes de energía o para
evitar ciertos problemas en el sistema operativo o los controladores. La
desventaja es que el multiplexado tardará más, ya que mkvmerge
deberá esperar hasta que todos los datos se hayan escrito en el
almacenamiento antes de salir. Ver falos #2469 y #2480 en el servidor de
MKVToolNix para analizar los pros y los contras en profundidad.
--ui-language código
Fuerza la traducción al
código de idioma que será usado (p.e. 'de_DE' para la
traducción al Alemán). Introduciendo 'list' como
código provocará que el programa muestre una lista de las
traducciones disponibles.
--abort-on-warnings
Le dice al programa que cancele después
de emitir la primera advertencia. El código de salida del programa
será 1.
--deterministic valor inicial
Habilita la creación de archivos
idénticos en bytes si se usa la misma versión de
con los mismos archivos de origen, el mismo conjunto de
opciones y valor inicial. Tenga en cuenta que el campo "fecha" de
información del segmento no se escribe en este modo.
El valor inicial puede ser una cadena arbitraria sin tener que ser un
número.
Únicamente se garantiza la obtención de archivos idénticos
en bytes bajo las siguientes condiciones:
Al usar otras versiones de u otras opciones de la
línea de comandos, puede que obtenga el mismo archivo con
idénticos bytes pero no se puede asegurar.
--debug topic
1.Si utiliza una versión de
construída con las mismas versiones de libEBML y
libMatroska.
2.Los archivos de origen son idénticos
en bytes.
3.Las mismas opciones de la línea de
comandos se utilizan en el mismo orden (con la especial excepción de
--output ...).
Habilita la depuración para una
característica concreta. Esta opción sólo es útil
para desarrolladores.
--engage característica
Habilita características
experimentales. Una lista de características disponibles puede ser
solicitada con la instrucción mkvmerge --engage list. Estas
características no están indicadas para ser usadas en
situaciones normales.
--gui-mode
Habilita el modo GUI. En este modo las
líneas especialmente formateadas pueden ser generadas para decirle a un
control de la GUI lo que está pasando. Estos mensajes se rigen bajo el
formato '#GUI#mensaje'. El mensaje puede ser continuado por pares de
valores/claves como en '#GUI#mensaje#clave1=valor1#clave2=valor2...'. Ni los
mensajes ni las claves pueden ser traducidas y siempre se generan en
inglés.
@options-file.json
Lee argumentos adicionales de la línea
de comandos desde el archivo archivo-opciones. Consulte la
sección acerca de archivos de opciones para más
información.
--capabilities
Muestra información sobre las
características adicionales que han sido compiladas y sale. La primera
línea generada será la información de la versión.
El resto de líneas contienen exactamente una palabra cuya presencia
indica que esa característica ha sido compilada. Estas
características son:
-h, --help
•'FLAC' -- lee archivos en bruto FLAC y
manipula pistas FLAC en otros contenedores. p.e. Ogg o Matroska.
Muestra información de uso y
sale.
-V, --version
Muestra la información de la
versión y sale.
USO
Para cada archivo, el usuario puede seleccionar qué pistas debe tomar. Todos se almacenan en un archivo especificado con -o. Una lista de formatos conocidos (y soportados) se pueden obtener con la opción -l.ORDEN DE OPCIONES
El orden en el qué las opciones son especificadas son importantes para algunas opciones. Las opciones se dividen en dos categorías: 1.Opciones que afectan a todo el programa y
no están vinculadas a ningún archivo de entrada. Estas son,
entre otras, --command-line-charset, --output o --titlee.
Estas pueden aparecer en cualquier parte de la línea 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 línea 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
única pista son --default-duration o --language.
Las opciones se procesan de izquierda a derecha. Si una opción aparece
varias veces en el mismo ámbito, se utilizará la última.
Por lo tanto, el título se establecerá a "Otra cosa"
en el siguiente ejemplo:
mkvmerge -o salida.mkv --title "Esto y eso" entrada.avi --title "Algo más"
mkvmerge -o salida.mkv --language 0:spa español.ac3 --language 0:jpn japones.ac3
EJEMPLOS
Supongamos que tienes un archivo llamado MiPelícula.avi y una pista de audio en otro archivo, p.e. 'MiPelícula.wav'. Lo primero que necesitas es codificar el audio a OggVorbis:oggenc -q4 -o MiPelícula.ogg MiPelícula.wav
mkvmerge -o MiPelícula-con-sonido.mkv MiPelícula.avi MiPelícula.ogg
mkvmerge -o MiPelícula-con-sonido.mkv -A MiPelícula.avi MiPelícula.ogg
oggenc -q4 -o MiPelícula-añadir-audio.ogg MiPelícula-añadir-audio.wav mkvmerge -o MM-completa.mkv MiPelícula-con-sonido.mkv MiPelícula-añadir-audio.ogg
mkvmerge -o MM-completa.mkv -A MiPelícula.avi MiPelícula.ogg MiPelícula-añadir-audio.ogg
mkvmerge --identify desincronizado.ogg
mkvmerge -o sincronizado.mkv -A entrada.avi -y 12345:200ms desincronizado.ogg
mkvmerge -o sincronizado.mkv -y 23456:0,77346/77340 desincronizado.mkv
1.Extraer una secuencia de subtítulos
en bruto para la fuente:
tccat -i /ruta/a/copiar/dvd/ -T 1 -L | tcextract -x ps1 -t vob -a 0x20 | subtítulo2pgm -o MiPelícula
2.Convertir las imágenes PGM generadas
a texto con gocr:
pgm2txt MiPelícula
3.Revisar el resultado de los archivos de
texto:
ispell -d americano *txt
4.Convertir los archivos de texto a un
archivo SRT:
El archivo generado puede ser utilizado como otro archivo de entrada para
:
srttool -s -w -i MiPelícula.srtx -o MiPelícula.srt
mkvmerge -o MiPelícula.mkv MiPelícula.avi MiPelícula.srt
mkvmerge --list-languages
mkvmerge -o con-códigos-idioma.mkv --language 2:spa --language 3:jpn sin-códigos-idioma.mkv
mkvmerge -o con-códigos-idioma.mkv --language 2:ger --language 3:dut --default-track-flag 3 sin-códigos-idioma.mkv --language 0:eng inglés.srt --default-track-flag 0 --language 0:fre francés.srt
mkvmerge -o sin-compresión.mkv --compression -1:none MiPelícula.avi --compression -1:none MiPelícula.srt
IDS DE PISTA
IDs de pista normal
Algunas opciones para necesitan un ID de pista para especificar a qué pista se le tienen que aplicar. Estos IDs de pista son mostrados por los lectores cuando desmultiplexan el archivo de entrada actual, o si es invocado con la opción --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)
•Archivos AVI: La pista de video tiene
el ID 0. Las pistas de audio obtienen sus IDs en orden creciente empezando
desde el 1.
•Los archivos AAC, AC-3, MP3, SRT y
WAV: La única 'pista' en ese archivo se le asigna el ID 0.
•La mayoría de archivos: Los IDs
de pista son asignados en el orden en el qué se encuentran, empezando
desde el número 0.
Las opciones que utilizan los IDs de pista son aquellos cuya descripción
contiene un 'TID'. Las siguientes opciones también 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 identificación de salida. El ID de pista especial ' -1' es un comodín y aplica la opción especificada a todas las pistas que se leen del archivo de entrada. El ID de pista especial ' -2' se refiere a los capítulos en un archivo de origen. Actualmente sólo la opción --sync usa este ID especial. Como alternativa a la opción --sync -2:... se puede usar --chapter-sync ....CONVERSIÓN DE ARCHIVOS DE TEXTO Y CONJUNTO DE CARACTERES
Introducción
Todos los textos en un archivo Matroska están codificados en UTF-8. Esto implica que convierte cada archivo de texto que lee, así como cada texto dado en la línea de comandos, desde un conjunto de caracteres a UTF-8. Por contra, esto también significa que la salida de tiene que ser convertida desde UTF-8 a un conjunto de caracteres, p.e. si una traducción no inglesa se usa con --ui-language o para texto que proviene desde un archivo Matroska. realiza esta conversión automáticamente en función de la presencia de un Marcador de Orden Bytes (abreviado: BOM) o de la configuración regional actual. Cómo el conjunto de caracteres se deduce de la configuración regional depende del sistema operativo donde se ejecuteMarcador de Orden Bytes (BOM)
Los archivos de texto que comienzan con un BOM ya están codificados en una representación de UTF. 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 automáticamente a UTF-8. Todos los parámetros 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, 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 línea de comandos y la salida de la consola.Windows
En Windows el juego de caracteres predeterminado utilizado para la conversión de archivos de texto se determina mediante una llamada a la GetACP() del sistema. La lectura de la línea de comandos se realiza con la función GetCommandLineW() que ya devuelve una cadena de texto Unicode. Por lo tanto, en Windows la opción --command-line-charset se ignora. La salida a la consola se presenta en tres escenarios: 1.Si la salida se redirige con la
opción --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 función de Windows WriteConsoleW()
se utiliza y la opción --output-charset se ignora. La consola
debería ser capaz de generar todos los caracteres Unicode del
correspondiente idioma que está instalado (p.e. los caracteres chinos
podrían no ser mostrados en versiones inglesas de Windows).
Opciones de línea de comandos
Las siguientes opciones permiten especificar los conjuntos de caracteres:•--sub-charset para archivos y
pistas de subtítulos de textos almacenadas en formatos de contenedores
para las que el conjunto de caracteres no se puede determinar sin
ambigüedad. (p.e. archivo Ogg),
•--chapter-charset para archivos
y pistas de capítulos de texto almacenadas en formatos de contenedores
para las que el conjunto de caracteres no se puede determinar sin
ambigüedad. (p.e. archivos Ogg para información de
capítulos, pista y archivos, etc..; archivos MP4 para
información del capítulos),
•--command-line-charset para
todas las cadenas de texto en la línea de comandos,
•--output-charset para todas las
cadenas de texto escritas en la consola o a un archivo si la salida ha sido
redirigida con la opción --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 puede leer argumentos adicionales de la línea de comandos. Esto se puede utilizar para eludir ciertas limitaciones en el shell (entorno) o el sistema operativo como una longitud limitada de la línea 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 únicamente 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, será omitido. Las reglas de los caracteres especiales de escape dentro de JSON son las unicas que existen en la especificación oficial JSON, RFC 7159[4]. El nombre del archivo de opciones debe especificarse como un argumento de línea de comandos con el carácter '@' como prefijo. La línea de comandos ' mkvmerge -o "mi archivo.mkv" -A "una película.avi" audio.ogg' se podría convertir al siguiente archivo de opciones JSON llamado p.e. 'opciones.json':[ "-o", "c:\\Matroska\\mi archivo.mkv", "--title", "#65", "-A", "una película.avi", "audio.ogg" ]
VINCULACIÓN DE ARCHIVOS
Matroska admite la vinculación 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 están realmente vinculados sino los segmentos Matroska. Como la mayoría de archivos probablemente sólo contienen un segmento Matroska las siguientes explicaciones usan el término 'vinculación de archivos' aunque realmente 'vinculación de segmentos' sería lo más correcto. Cada segmento se identifica por un único UID del segmento de 128 bits de longitud. Este UID es automáticamente generado por . La vinculación se realiza principalmente insertando los UIDs del segmento (abreviado: SID) del anterior/siguiente archivo en la información del encabezado del segmento. mkvinfo(1) muestra estos SIDs si los encuentra. Si un archivo se divide en varios archivos más pequeños y se utiliza la vinculación, entonces los códigos de tiempo no comenzarán por 0 si no que continuará desde dónde el último archivo lo dejó. De esta manera el tiempo absoluto se mantiene incluso si los archivos anteriores no están disponibles p.e. cuando se transmiten). Si no se utiliza la vinculación entonces los códigos de tiempo de cada archivo comenzarán desde 0. Por defecto, no usa la vinculación de archivos. Si lo necesita podrá activarlo con la opción --link. Esta opción sólo es útil si la división también se activa. Independientemente de si la división se activa o no, el usuario le puede decir a 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 números 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 más simple: 16 números hexadecimales comprendidos entre 0x00 y 0xff, sin el prefijo '0x' y sin espacios, p.e. '41da7366d9cfb21eae78ebb45ecab393'. Si se utiliza la división entonces el primer archivo se vincula al SID especificado con SID y el último archivo se vincula al SID especificado con --link-to-next. Si no se utiliza la división entonces el archivo será vinculado a ambos SIDs.VALORES PREDETERMINADOS
La especificación Matroska establece que algunos elementos tienen un valor predeterminado. Por lo general, si el valor es igual al predeterminado entonces no será escrito en el archivo a fin de ahorrar espacio. Los elementos que el usuario podría 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 Inglés ('eng'), y para flag de pista predefinida es true. Por lo tanto, si utiliza --language 0:eng para una pista entonces no se mostrará en la salida de mkvinfo(1).ATTACHMENTS
Es posible que desee conservar algunas fotos junto con su archivo Matroska, o usar subtítulos SSA que requieren de una fuente especial SSA que es realmente rara. En estos casos puede adjuntar estos archivos al archivo Matroska. No sólo son añadidos al archivo sino que son embebidos. Un reproductor puede entonces mostrar estos archivos (en el caso de las 'fotos') o usarlos para renderizar los subtítulos (en el caso de las fuentes 'TrueType'). Aquí está un ejemplo de cómo adjuntar una foto y fuente TrueType al archivo generado:$ mkvmerge -o salida.mkv -A video.avi audio.ogg \ --attachment-description "Yo y la banda detrás del escenario en una reunión" \ --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
CHAPTERS
El sistema de capítulos de Matroska es más potente que el antiguo sistema utilizado con los archivos OGM. Las completas especificaciones se pueden encontrar en la página web de Matroska[1]. admite dos tipos de archivos de capítulos como entrada. El primer formato, denominado 'formato simple de capítulos', que es el mismo formato que se encuentra en las herramientas OGM. El segundo formato se basa en el formato de capítulos XML que son admitidos por todas las funcionalidades de capítulos de Matroska. Aparte de los archivos de capítulos propios de También puede leer capítulos de otros formatos de archivo (por ejemplo, MP4, Ogg, Blu-rays o DVD).El formato simple de capítulos
Este formato consiste en un par de líneas que comienzan con 'CHAPTERxx=' y 'CHAPTERxxNAME=', respectivamente. La primera contiene el código de tiempo inicial mientras que el segundo lo hace al títlo. Ejemplo:CHAPTER01=00:00:00.000 CHAPTER01NAME=Intro CHAPTER02=00:02:30.000 CHAPTER02NAME=El niño se prepara para el rock CHAPTER03=00:02:42.300 CHAPTER03NAME=El niño sacude la casa
El formato de capítulos basados en XML
El formato de capítulos basados en XML es similar a este ejemplo:<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE Chapters SYSTEM "matroskachapters.dtd"> <Chapters> <EditionEntry> <ChapterAtom> <ChapterTimeStart>00:00:30.000</ChapterTimeStart> <ChapterTimeEnd>00:01:20.000</ChapterTimeEnd> <ChapterDisplay> <ChapterString>Un capítulo corto</ChapterString> <ChapterLanguage>spa</ChapterLanguage> </ChapterDisplay> <ChapterAtom> <ChapterTimeStart>00:00:46.000</ChapterTimeStart> <ChapterTimeEnd>00:01:10.000</ChapterTimeEnd> <ChapterDisplay> <ChapterString>Una parte de un capítulo corto</ChapterString> <ChapterLanguage>spa</ChapterLanguage> </ChapterDisplay> </ChapterAtom> </ChapterAtom> </EditionEntry> </Chapters>
1.Se puede establecer la marca de tiempo para
el final del capítulo,
2.los capítulos se pueden
anidar,
3.el idioma y país
también.
La distribución mkvtoolnix contiene algunos archivos a modo de ejemplo en
el subdirectorio doc que se pueden usar como base.
A continuación, se muestran las etiquetas soportadas por XML, sus tipos
de datos y, en dónde corresponda, el rango válido para sus
valores:
Chapters (maestro) EditionEntry (maestro) EditionUID (entero sin signo, rango válido: 1 <= valor) EditionFlagHidden (entero sin signo, rango válido: 0 <= valor <= 1) EditionFlagDefault (entero sin signo, rango válido: 0 <= valor <= 1) EditionFlagOrdered (entero sin signo, rango válido: 0 <= valor <= 1) ChapterAtom (maestro) ChapterAtom (maestro) ChapterUID (entero sin signo, rango válido: 1 <= valor) ChapterTimeStart (entero sin signo) ChapterTimeEnd (entero sin signo) ChapterFlagHidden (entero sin signo, rango válido: 0 <= valor <= 1) ChapterFlagEnabled (entero sin signo, rango válido: 0 <= valor <= 1) ChapterSegmentUID (binario, rango válido: 1 <= tamaño en bytes) ChapterSegmentEditionUID (entero sin signo, rango válido: 1 <= valor) ChapterPhysicalEquiv (entero sin signo) ChapterTrack (maestro) ChapterTrackNumber (entero sin signo, rango válido: 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 capítulos del Blu-ray
puede leer capítulos de Blu-rays sin encriptar. Por lo que puedes usar la ruta a uno de las listas de reproducción MPLS con el parámetro --chapters. Ejemplo: --chapters /srv/blurays/BigBuckBunny/BDMV/PLAYLIST/00001.mplsLeyendo capítulos del DVDs
Cuando MKVToolNix se compila con la librería libdvdread, puede leer capítulos de DVDs. Por lo que puede usar la ruta a una de las carpetas o archivos del DVD con el parámetro --chapters. Como los DVDs puede contener más de un título y cada título tiene su propio conjunto de capítulos, puedes añadir dos puntos, al final del nombre del argumento, junto con el número del título que necesite. El número del título por defecto es 1. Ejemplo: --chapters /srv/dvds/BigBuckBunny/VIDEO_TS:2Notas generales
Cuando se dividen los archivos, también ajustará correctamente los capítulos. Esto significa que cada archivo sólo incluye las entradas de capítulo que se aplican a él, y que se compensará el código de tiempo para que coincida con el nuevo código de tiempo de cada archivo generado. es capaz de copiar los capítulos de los archivos de entrada a menos que explícitamente se deshabilite con la opción --no-chapters. Los capítulos procedentes de todas las fuentes (archivos Matroska, Ogg, Matroska, archivos de texto de capítulos) por lo general no se fusionan y acaban en ChapterEditions independientes. Sólo si los capítulos que se leen de diversos archivos Matroska o XML, comparten el mismo UID de edición, entonces los capítulos se fusionarán en un único ChapterEdition. Si dicha fusión también se desea realizar en otras situaciones, el usuario tiene que extraer primero los capítulos de todas las fuentes con mkvextract(1), y fusionar los archivos XML manualmente para multiplexarlos después.TAGS
Introducción
El sistema de etiquetas de Matroska es parecido al de otros contenedores: un conjunto de pares KEY=VALUE. Sin embargo, en Matroska estas etiquetas también se pueden anidar, y tanto KEY como VALUE son elementos propios. El archivo de ejemplo example-tags-2.xml muestra cómo usar este sistema.Alcance de las etiquetas
Las etiquetas Matroska no se aplican automáticamente a todo el archivo. Se puede hacer, pero también a diferentes partes del archivo: a una o más pistas, a una o más capítulos, o incluso a una combinación de ambas. La especificación de Matroska[5] proporciona más detalles sobre esto. Una cosa importante es que las etiquetas están vinculadas a pistas o capítulos con el elemento de etiquetas Targets de Matroska, además los UIDs usados para vincularlos no son los IDs de la pista que utiliza en todas partes. En cambio, los números usados son los UIDs que calcula automáticamente (si la pista se toma de otro formato de archivo que no sea Matroska o que se copian desde el archivo de origen si el archivo de origen de la pista es un archivo Matroska. 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 . tiene dos opciones con las que se pueden añadir etiquetas a los archivos Matroska: las opciones --global-tags y --tags. La diferencia es que la opción anterior, --global-tags, hará que las etiquetas se apliquen al archivo entero mediante la eliminación de cualquiera de los elementos Targets mencionados anteriormente. La última opción, --tags, inserta automáticamente el UID que genera para la etiqueta especificada con la parte TID de la opción --tags.Ejemplo
Supongamos que necesitas añadir etiquetas a una pista de video leída 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. Así que creará el archivo de etiquetas, dejando a un lado todos los elementos Targets e invocar a :mkvmerge -o archivo.mkv --tags 0:etiquetas.xml archivo.avi
Formato del archivo de etiquetas
admite el formato de archivos de etiquetas basadas en XML. El formato es muy similar al modelo de la especificación Matroska[5]. Tanto la distribución binaria como la fuente de MKVToolNix vienen acompañadas 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 básicas son:•El elemento más externo debe
ser <Tags>.
•Una etiqueta lógica está
contenido dentro de un par de etiquetas XML <Tag>.
•Los espacios en blanco, directamente
antes y después del contenido de la etiqueta, se ignoran.
Tipos de datos
El nuevo sistema de etiquetado de Matroska sólo 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 <String> mientras que el tipo binario se usa para el elemento <Binary>. Como dato binario, en si mismo, no tendría sentido en un archivo XML, admite otros dos métodos 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. De lo contrario, se espera que la información se codifique en Base64. Esta es una codificación que transforma datos binarios en un conjunto limitado de caracteres ASCII y p.e. se usa en programas de mensajería. mkvextract(1) generará datos codificados en Base64 para elementos binarios. El obsoleto sistema de etiquetado conoce más tipos de datos que se pueden encontrar en las especificaciones oficiales de etiquetas Matroska. Como ya no admite este sistema estos tipos no serán descritos.Etiquetas conocidas para el formato de archivos XML
A continuación, se muestran las etiquetas soportadas por XML, sus tipos de datos y, en dónde corresponda, el rango válido 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)
INFORMACIÓN DEL SEGMENTO
Con archivos XML de información del segmento es posible establecer ciertos valores en el campo del encabezado de "información del segmento" de un archivo Matroska. Todos estos valores no se pueden establecer a través de otras opciones de la línea de comandos. Otros campos del encabezado de "información del segmento" se pueden establecer a través de las opciones de la línea 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 través de la línea de comandos ni mediante archivos XML. Eso afecta a los siguientes elementos: DateUTC (también conocido como "fecha multiplexado"), MuxingApp, WritingApp y Duration. Estas siempre se establecen mediante , en si mismo. A continuación, se muestran las etiquetas soportadas por XML, sus tipos de datos y, en dónde corresponda, el rango válido para sus valores:Info (maestro) SegmentUID (binario, rango válido: tamaño en bytes == 16) SegmentFilename (cadena de texto UTF-8) PreviousSegmentUID (binario, rango válido: tamaño en bytes == 16) PreviousSegmentFilename (cadena de texto UTF-8) NextSegmentUID (binario, rango válido: tamaño en bytes == 16) NextSegmentFilename (cadena de texto UTF-8) SegmentFamily (binario, rango válido: tamaño en bytes == 16) ChapterTranslate (maestro) ChapterTranslateEditionUID (entero sin signo) ChapterTranslateCodec (entero sin signo) ChapterTranslateID (binario)
DISEÑO DE ARCHIVO MATROSKA
El diseño de archivo Matroska es bastante flexible. realizará un archivo de una manera concreta. El archivo creado tendrá una apariencia como esta: [Encabezado EBML] [segmento {meta seek #1} [información segmento] [información pista] {adjuntos} {capítulos} [clúster 1] {clúster 2} ... {clúster n} {índices} {meta seek #2} {etiquetas}] Los elementos que están entre llaves son opcionales, y dependen del contexto y opciones utilizadas. Unos cuantos apuntes:•meta seek #1 sólo incluye un
pequeño número de elementos de nivel 1, y sólo si
realmente existen: adjuntos, capítulos, índices, etiquetas, meta
seek #2. Las versiones anteriores de también colocan los
clústers en estos elementos meta seek. Por lo tanto, en algunos casos
imprecisos era necesario reservar suficiente espacio. Esto a veces fallaba.
Ahora sólo los clústeres son almacenados en meta seek#2, y meta
seek #1 se refiere al elemento meta seek #2.
•Los elementos de adjuntos,
capítulos y etiquetas sólo están presentes si se han
añadidos.
El archivo Matroska más corto posible se parecería a esto:
[Encabezado EBML] [segmento [información segmento] [información
pista] [clúster 1]]
Este podría ser el caso para archivos de audio.
ARCHIVOS DE CÓDIGOS DE TIEMPO EXTERNOS
permite al usuario elegir los códigos 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 utiliza por cada bloque Matroska 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 sería un paquete que contiene 1536 muestras. Los archivos de códigos de tiempo que se utilizan cuando las pistas se unen a otras, sólo se deben especificar a la primera parte de una sucesión de pistas. Por ejemplo, si unes dos archivos, video1.avi y video2.avi, y deseas usar códigos de tiempo entonces tu línea de comandos se debería parecer a esto:mkvmerge ... --timestamps 0:códigos_tiempo.txt video1.avi +video2.avi
Formato de archivo de código de tiempo v1
Este formato comienza la línea de la versión. La segunda línea declara el número por defecto de fotogramas por segundo. El resto de líneas contienen tres números separados por comas: el fotograma inicial ( 0 es el primer fotograma), el último fotograma y el número de fotogramas para este rango. Los Fotogramas Por Segundo (FPS) es un número con un punto decimal '.'. Los rangos pueden contener discontinuidades para el FPS usado por defecto. Un ejemplo:# Formato de código de tiempo v1 assume 27.930 800,1000,25 1500,1700,30
Formato de archivo de código de tiempo v2
En este formato cada línea contiene un código de tiempo para el fotograma correspondiente. Este código de tiempo se debe especificar con una precisión de milisegundos. Puede ser un número decimal o no. Se deben especificar como mínimo tantas líneas de códigos de tiempo como fotogramas tiene la pista. Los códigos de tiempo deben estar ordenados. Por ejemplo para 25fps:# Formato de código de tiempo v2 0 40 80
Formato de archivo de código de tiempo v3
En este formato cada línea contiene una duración en segundos seguida por un número opcional de fotogramas por segundo. Ambos campos pueden ser números decimales. Si el número de fotogramas por segundo no se especifica se utiliza el valor predeterminado. Para el audio se debería dejar al códec calcular, por si mismo, el código de tiempo del fotograma. Para eso, debería utilizar 0.0 como el número de fotogramas por segundo. También es posible crear discontinuidades en la secuencia usando la palabra clave 'gap' seguida por la duración de la discontinuidad. Un ejemplo para el archivo de audio:# Formato de código de tiempo v3 assume 0.0 25.325 7.530,38.236 gap, 10.050 2.000,38.236
Formato de archivo de código de tiempo v4
Este formato es idéntico al formato v2. La única diferencia es que los códigos de tiempo no tiene que estar ordenados. Este formato casi nunca se debería utilizar.CÓDIGOS DE SALIDA
finaliza con uno de estos tres códigos de salida:•0 -- Este código de
salida significa que el multiplexado se ha realizado correctamente.
•1 -- En este caso
genera una salida con al menos una advertencia, pero la la
extracción continuó. Una advertencia es prefijada con el texto
'Advertencia:'. Dependiendo de los fallos involucrados los archivos creados
serán correctos o no. El usuario es instado a que revise tanto las
advertencias como los archivos creados.
•2 -- Este código de
salida es usado después de que ocurra un error.
aborta el proceso justo después de mostrar el mensaje de error. El
rango de los mensajes de error va desde los argumentos de la línea de
comandos, por delante de los errores de lectura/escritura, hasta los archivos
erróneos.
VARIABLES DE ENTORNO
usa las variables predefinidas que se determinan en la configuración local del sistema (p.e. LANG y la familia LC_*). Variables adicionales: MKVMERGE_DEBUG, MKVTOOLNIX_DEBUG y su forma abreviada MTX_DEBUGEl contenido se trata como si se hubiese
pasado a través de la opción --debug.
MKVMERGE_ENGAGE, MKVTOOLNIX_ENGAGE y su forma abreviada
MTX_ENGAGE
El contenido se trata como si se hubiese
pasado a través de la opción --engage.
VEA TAMBIÉN
mkvinfo(1), mkvextract(1), mkvpropedit(1), mkvtoolnix-gui(1)WWW
La última versión se puede encontrar siempre en la página de MKVToolNix[6].AUTOR
Moritz Bunkus <[email protected]>Desarrollador
NOTAS
- 1.
- la página web de Matroska
- 2.
- IANA
- 3.
- mkvmerge-identification-output-schema-v17.json
- 4.
- RFC 7159
- 5.
- La especificación de Matroska
- 6.
- la página de MKVToolNix
2023-02-12 | MKVToolNix 74.0.0 |