MKVPROPEDIT(1) Comandos de usuario MKVPROPEDIT(1) NOMBRE mkvpropedit - Modifica las propiedades existentes en archivos Matroska(TM) sin multiplexar SINOPSIS mkvpropedit [opciones] {archivo-origen} {acciones} DESCRIPCION Este programa analiza un archivo Matroska(TM) y modifica alguna de sus propiedades. Entonces escribe estas modificaciones en el archivo existente. Entre las propiedades que pueden ser modificadas estan los elementos de la informacion del segmento (p.e. el titulo) y los encabezados de pista (p.e. el codigo del idioma, el flag de 'pista predefinida' o el nombre). Opciones: -l, --list-property-names Enumera todos los conocidos y editables nombres, su tipo (texto, entero, booleano, etc...) y una pequena descripcion. El programa despues sale. Por lo tanto, el parametro nombre-archivo no tiene que ser suministrado. -p, --parse-mode modo Establece el modo de analisis. El parametro 'modo' puede ser 'fast' (que es el predeterminado) o 'full'. El modo 'fast' no analiza el archivo entero pero usa los elementos de meta busqueda para localizar los elementos necesarios del archivo original. En el 99% de los casos es suficiente. Sin embargo, para archivos que no contienen elementos de meta busqueda o que estan danados, el usuario deberia de usar el modo de analisis 'full'. Un analisis completo de un archivo puede llevar bastantes minutos mientras que un analisis rapido solo lleva unos segundos. Acciones que tienen que ver con las propiedades de informacion de la pista y segmento: -e, --edit selector Establece la seccion del archivo Matroska(TM) (informacion del segmento o ciertos encabezados de pista) sobre la que se centraran todas las acciones: add, set y delete. Esta opcion puede ser multiples veces de manera que puede ser modificado mas de un elemento a la vez. Por defecto, mkvpropedit(1) editara la seccion de informacion del segmento. Consulte la seccion sobre selectores de edicion para una completa descripcion de la sintaxis. -a, --add name=valor Anade una propiedad name con el contenido de valor. Esta propiedad sera anadida incluso si dicha propiedad ya existe. Tenga en cuenta que la mayoria de propiedades son unicas y solo existe una instancia de ellas. -s, --set name=valor Establece todas las instancias de la propiedad name con el contenido valor. Si no existe dicha propiedad entonces sera anadida. -d, --delete nombre Borra todas las instancias de la propiedad name. Tenga en cuenta que algunas propiedades son necesarias y no pueden ser eliminadas. Acciones que tienen que ver con las etiquetas y capitulos: -t, --tags selector:nombre Reemplaza o anade las etiquetas del archivo llamado nombre o las elimina si nombre esta vacio. mkvpropedit(1) lee el mismo formato de etiquetas XML que mkvmerge(1) tambien puede leer. El selector debe ser una de estas palabras: all, global o track. Para all, mkvpropedit(1) reemplazara o eliminara todas las etiquetas del archivo. Con global solo las etiquetas globales seran reemplazadas o eliminadas. Por ejemplo: mkvpropedit "nombre-archivo.mkv" --tags global:etiquetas.xml mkvpropedit "nombre-archivo.mkv" --tags global: Con track, mkvpropedit(1) reemplazara las etiquetas de la pista especificada. Ademas, las etiquetas leidas desde nombre seran asignadas a la misma pista. La pista se especifica de la misma manera que con los selectores de edicion (mire abajo). Por ejemplo: mkvpropedit "nombre-archivo.mkv" --tags track:a1:nuevas-etiquetas-audio.xml. --add-track-statistics-tags Calcula las estadisticas de todas las pistas en un archivo y anade nuevas etiquetas de estadistica para ellas. Si el archivo ya contiene dichas etiquetas entonces seran actualizadas. --delete-track-statistics-tags Elimina las etiquetas de estadistica de todas las pistas de un archivo. Si el archivo no contiene etiquetas de estadistica, entonces no habra ninguna modificacion. -c, --chapters nombre Reemplaza o anade los capitulos del archivo llamado nombre o las elimina si nombre esta vacio. mkvpropedit(1) lee el mismo formato de capitulos simple y XML que mkvmerge(1) tambien puede leer. Acciones para manipular adjuntos: --add-attachment nombre-archivo Anade un nuevo adjunto a nombre-archivo. Si la opcion --attachment-name es usada antes de esta opcion entonces su valor es usado como el nuevo nombre del adjunto. Por el contrario, se generara a partir del nombre-archivo. Si la opcion --attachment-mime-type es usada antes de esta opcion entonces su valor es usado como el nuevo tipo MIME del adjunto. Por el contrario, es auto-detectado a partir del contenido del nombre-archivo. Si la opcion --attachment-description es usada antes de esta opcion entonces su valor es usado como la nueva descripcion del adjunto. Por el contrario, ninguna descripcion sera establecida. Si la opcion --attachment-uid se usa delante de esta opcion entonces su valor se usara como el nuevo UID del adjunto. De lo contrario, un UID aleatorio se generara automaticamente. --replace-attachment selector:nombrearchivo Reemplaza uno o mas adjuntos que coincidan con el selector del archivo nombre-archivo. Si mas de un adjunto existente coincide con el selector entonces todo su contenido sera reemplazado por el contenido del nombre-archivo. El selector puede tener una de estas cuatro formas: ID, UID, Name y MIME type. Estan explicadas mas abajo en la seccion selectores de adjuntos. Si la opcion --attachment-name se usa delante de esta opcion entonces su valor se establece como el nuevo nombre para cada adjunto modificado. De lo contrario, los nombres no se modificaran. Si la opcion --attachment-mime-type se usa delante de esta opcion entonces su valor se establece como el nuevo tipo MIME para cada adjunto modificado. De lo contrario, los tipo MIMES no se modificaran. Si la opcion --attachment-description se usa delante de esta opcion entonces su valor se establece como la nueva descripcion de cada adjunto modificado. De lo contrario, las descripciones no se modificaran. Si la opcion --attachment-uid se usa delante de esta opcion entonces su valor se establece como el nuevo UID para cada adjunto modificado. De lo contrario, los UIDs no se modificaran. --update-attachment selector Establece las propiedades de uno o mas adjuntos que coincidan con el selector. Si mas de un adjunto coincide con el selector, entonces todas sus propiedades seran actualizadas. El selector puede tener una de estas cuatro formas: ID, UID, Name y MIME type. Estan explicadas mas abajo en la seccion selectores de adjuntos. Si la opcion --attachment-name se usa delante de esta opcion entonces su valor se establece como el nuevo nombre para cada adjunto modificado. De lo contrario, los nombres no se modificaran. Si la opcion --attachment-mime-type se usa delante de esta opcion entonces su valor se establece como el nuevo tipo MIME para cada adjunto modificado. De lo contrario, los tipo MIMES no se modificaran. Si la opcion --attachment-description se usa delante de esta opcion entonces su valor se establece como la nueva descripcion de cada adjunto modificado. De lo contrario, las descripciones no se modificaran. Si la opcion --attachment-uid se usa delante de esta opcion entonces su valor se establece como el nuevo UID para cada adjunto modificado. De lo contrario, los UIDs no se modificaran. --delete-attachment selector Elimina uno o mas adjuntos que coincida con el selector. El selector puede tener una de estas cuatro formas: ID, UID, Name y MIME type. Estan explicadas mas abajo en la seccion selectores de adjuntos. Opciones para acciones sobre adjuntos: --attachment-name nombre Establece el nombre a usar en la operacion --add-attachment o --replace-attachment. --attachment-mime-type mime-type Establece el tipo MIME a usar en la operacion --add-attachment o --replace-attachment. --attachment-description descripcion Establece la descripcion a usar en la operacion --add-attachment o --replace-attachment. --enable-legacy-font-mime-types Habilita el uso de tipos MIME heredados para ciertos tipos de fuentes adjuntas. Por ejemplo, 'application/x-truetype-font' se usara para fuentes TrueType en vez de 'fonts/ttf'. Esto afecta tanto al anadir nuevos adjuntos como al reemplazar los adjuntos existentes, pero solo si no se especifica el nuevo tipo MIME. Otros adjuntos existentes no seran modificados. Los tipos MIME afectados son 'font/sfnt', 'font/ttf' y 'font/collection' los cuales estan asignados a 'application/x-truetype-fonts' y 'font/otf', que esta asignado a 'application/vnd.ms-opentype'. Otras opciones: --disable-language-ietf Normalmente cuando el usuario solicita realizar cambios en la propiedad de cabecera de pista 'language' , mkvpropedit(1) aplicara el mismo cambio en el nuevo elemento de cabecera de pista LanguageIETF junto con el elemento heredado Language. Si se usa esta opcion, el cambio solo es aplicado en el elemento heredado Language. Esta opcion no afecta a los cambios solicitados mediante la propiedad de cabecera de pista 'language-ietf' . --normalize-language-ietf modo Habilita la normalizacion de todas las etiquetas de idioma IETF BCP 47 a su forma canonica con el modo 'canonical', a su forma de sub-etiquetas de idioma extendido con el modo 'extlang' o lo desactiva con el modo 'off'. Por defecto, se aplica la normalizacion a la forma canonica. En la forma canonica todas las sub-etiquetas para las que existe valores preferidos se reemplazan por esos valores preferidos. Por ejemplo, convierte esto 'zh-yue-jyutping' a 'yue-jyutping' o 'fr-FX' a 'fr-FR'. Para las sub-etiquetas de idioma extendido, primero se crea la forma canonica. Despues se reemplazan por esa sub-etiqueta de idioma extendido y su prefijo todos los idiomas principales para los que existe una sub-etiqueta de idioma extendido. Por ejemplo, esto convierte 'yue-jyutping' a 'zh-yue-jyutping' y no sucede nada en 'fr-FR' ya que 'fr' no es una sub-etiqueta de idioma extendido. Esta normalizacion solo se aplica a elementos que realmente han cambiado: o Al editar cabeceras de pista solo se ven afectados los elementos del idioma de la pista que se establecen a traves de las especificaciones de edicion. Los idiomas de las pistas que no son editados no son modificados. Editar una pista y solo configurar distintas propiedades del idioma tampoco afectara al idioma. o Cuando se editan los capitulos todos los elementos del idioma, de todos los elementos del capitulo, se ven afectados; ya que los capitulos existentes siempre se reemplazan por completo. o Al editar etiquetas solo se ven afectados los elementos de idioma de las etiquetas que realmente son sustituidos. Por ejemplo, cuando se reemplazan las etiquetas globales no se ven afectadas las etiquetas de pista existentes. La mejor forma de normalizar todas las etiquetas de idioma existentes en un archivo es volver a multiplexarlas con mkvmerge(1) y configurarles su opcion '--normalize-language-ietf' al modo deseado. --command-line-charset conjunto-caracteres Establece el conjunto de caracteres a convertir las cadenas de texto dadas desde la linea de comandos. Por defecto, se ajusta al conjunto de caracteres dado por la configuracion local del sistema. --output-charset conjunto-caracteres Establece el conjunto de caracteres para convertir las cadenas de texto que seran usadas en el archivo de salida. Por defecto, se ajusta al conjunto de caracteres dado por la configuracion local del sistema. -r, --redirect-output nombre-archivo Escribe todos los mensajes al archivo nombre-archivo en vez de en la consola. Aunque esto se puede hacer facilmente con la opcion de redireccion hay casos en los que es necesaria esta opcion: cuando el terminal reinterpreta la salida antes de escribirlo al archivo. El conjunto de caracteres establecido con --output-charset se respeta. --ui-language codigo Fuerza la traduccion al codigo de idioma que sera usado (p.e. 'de_DE' para la traduccion al Aleman). Introduciendo 'list' como codigo provocara que el programa muestre una lista de las traducciones disponibles. --abort-on-warnings Le dice al programa que cancele despues de emitir la primera advertencia. El codigo de salida del programa sera 1. --debug topic Habilita la depuracion para una caracteristica concreta. Esta opcion solo es util para desarrolladores. --engage caracteristica Habilita caracteristicas experimentales. Una lista de caracteristicas disponibles puede ser solicitada con la instruccion mkvpropedit --engage list. Estas caracteristicas no estan indicadas para ser usadas en situaciones normales. --gui-mode Habilita el modo GUI. En este modo las lineas especialmente formateadas pueden ser generadas para decirle a un control de la GUI lo que esta pasando. Estos mensajes se rigen bajo el formato '#GUI#mensaje'. El mensaje puede ser continuado por pares de valores/claves como en '#GUI#mensaje#clave1=valor1#clave2=valor2...'. Ni los mensajes ni las claves pueden ser traducidas y siempre se generan en ingles. -v, --verbose Habilita el modo detallado y muestra todos los elementos Matroska(TM) importantes que pueden ser leidos. -h, --help Muestra informacion de uso y sale. -V, --version Muestra la informacion de la version y sale. @options-file.json Lee argumentos adicionales de la linea de comandos desde el archivo archivo-opciones. Para mas informacion sobre los formatos admitidos para esos archivos consulte la seccion acerca de "archivos de opciones" en la pagina del manual de mkvmerge(1) SELECTORES DE EDICION La opcion --edit establece la seccion del archivo Matroska(TM) (informacion del segmento o ciertos encabezados de pista) sobre la que se centraran todas las acciones: add, set y delete. Esto es valido hasta que se encuentra el siguiente parametro --edit. El argumento para esta opcion se llama el selector de edicion. Por defecto, mkvpropedit(1) editara la seccion de informacion del segmento. Informacion del segmento La informacion del segmento puede ser seleccionada con una de estas tres palabras: 'info', 'segment_info' o 'segmentinfo'. Contiene propiedades como el titulo o el UID del segmento . Encabezados de pista Los encabezados de la pista pueden ser seleccionados con un selector ligeramente mas complejo. Todas las variantes comienzan con 'track:'. Las propiedades del encabezado de pista incluye elementos como el codigo de idioma, el flag de 'pista predefinida' o el nombre de la pista. track:n Si el parametro n es un numero entonces la pista con numero n sera seleccionada. El orden de pista es el mismo que se genera con la opcion --identify de mkvmerge(1). La numeracion empieza en 1. track:tn Si el parametro empieza con el caracter t seguido por n entonces la pista con numero n de un tipo especifico de pista sera seleccionada. El parametro del tipo de pista t debe ser uno de estos cuatro caracteres: 'a' para una pista de audio, 'b' para un pista de boton, 's' para una pista de subtitulo y 'v' para una pista de video. El orden de pista es el mismo que se genera con la opcion --identify de mkvmerge(1). La numeracion empieza en 1. track:=uid Si el parametro empieza con un '=' seguido por un numero de uid, se seleccionara la pista cuyo elemento UID coincida con este uid. Los UIDs de pista se pueden obtener con mkvinfo(1). track:@numero Si el parametro empieza con un '@' seguido por un numero, se seleccionara la pista cuyo numero de elemento coincida con este numero. El numero de pista puede ser obtenido con mkvinfo(1). Notas Debido a la naturaleza de los selectores de edicion de pista es posible que actualmente algunos selectores coincidan con los mismos encabezados de pista. En muchos casos, todas las acciones para estos selectores de edicion seran combinados y ejecutados en el orden en el que fueron dadas en la linea de comandos. SELECTORES DE ADJUNTOS Un selector de adjuntos se utiliza con las dos acciones --replace-attachment y --delete-attachment. Puede tener una de las cuatros formas siguientes: 1. Seleccion mediante el ID de adjunto. De esta forma el selector es un simple numero, el ID del adjunto tal y como se genera con el comando de identificacion de mkvmerge(1). 2. Seleccion mediante el UID de adjunto (Unico ID). De esta forma el selector es el signo igual = acompanado por un numero, el UID del adjunto tal y como se genera con el comando de identificacion detallado (verbose) de mkvmerge(1). 3. Seleccion mediante el name (nombre) de adjunto. De esta forma el selector es la palabra literal name: seguida por el nombre del adjunto. Si el selector es usado con --replace-attachment entonces los dos puntos que pudiera contener el nombre deberan ser escapados con \c. 4. Seleccion mediante el MIME type (tipo MIME). De esta forma el selector es la palabra mime-type: seguida por el tipo MIME del adjunto. Si el selector es usado con --replace-attachment entonces los dos puntos que pudiera contener el tipo MIME deberan ser escapados con \c. MANIPULADOR DE IDIOMAS mkvpropedit(1) intenta hacer lo correcto por defecto. Por lo tanto, los cambios en la propiedad language haran que mkvpropedit(1) aplique el mismo cambio tanto al nuevo elemento "LanguageIETF" asi como al antiguo elemento "Language" de forma similar a como mkvmerge(1) aplica el idioma a ambos elementos. Por ejemplo, al utilizar mkvpropedit movie.mkv --edit track:2 --set language=zh-TW el elemento "LanguageIETF" se establecera en zh-TW y el antiguo elemento "Language" achi. Ademas, hay una nueva propiedad de cabecera de pista llamada language-ietf que se puede establecer o eliminar. Los cambios en esta propiedad solo se aplican al nuevo elemento de cabecera de pista "LanguageIETF". Hay que tener en cuenta que el antiguo elemento de cabecera de pista "Language" es un elemento obligatorio en Matroska -- lo que significa que, aunque no este presente en el archivo, tiene un valor implicito. Cuando el usuario solo establece la propiedad language-ietf pero no la propiedad language, mkvpropedit(1) anadira el antiguo elemento "Language" en algunos casos & lo establecera en und (que significa "indeterminado") ya que el usuario no especifico un valor para el. Al leer archivos XML de capitulos o etiquetas mkvpropedit(1) funciona como lo hace mkvmerge(1). La creacion de los nuevos elementos puede desactivarse por completo con la opcion de linea de comandos `--disable-language-ietf`, que actua sobre los tres nuevos elementos. Puedes elegir el metodo de normalizacion aplicado a las subetiquetas de idioma extendidas con el parametro --normalize-language-ietf. EJEMPLOS El siguiente ejemplo edita un archivo llamado 'pelicula.mkv'. Establece el titulo del segmento y modifica el codigo de idioma de una pista de audio y subtitulo. Tenga en cuenta que este ejemplo puede ser acortado al omitir la primera opcion --edit ya que editar el elemento de informacion del segmento esta incluido por defecto para todas las opciones encontradas antes de la primera opcion --edit. mkvpropedit pelicula.mkv --edit info --set "title=La pelicula" --edit track:a1 --set language=spa --edit track:a2 --set language=eng El segundo ejemplo elimina 'flag de pista predefinida' de la primera pista de subtitulo y la establece para la segunda. Tenga en cuenta que mkvpropedit(1), a diferencia de mkvmerge(1), no establece automaticamente a '0' el valor de 'flag de pista predefinida' cuando otra pista se ha establecido a '1'. mkvpropedit pelicula.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1 Reemplaza las etiquetas para la segunda pista de subtitulos de un archivo: mkvpropedit pelicula.mkv --tags track:s2:nuevas-etiquetas-subtitulo.xml Elimina todas las etiquetas que hay en el archivo: mkvpropedit pelicula.mkv --tags all: Reemplaza los capitulos en un archivo: mkvpropedit pelicula.mkv --chapters nuevos-capitulos.xml Elimina todos los capitulos del archivo: mkvpropedit pelicula.mkv --chapters "" Anade un archivo de tipo fuente (Arial.ttf) como un adjunto: mkvpropedit pelicula.mkv --add-attachment Arial.ttf Anade un archivo de tipo fuente (89719823.ttf) como un adjunto y proporciona informacion de como es la fuente Arial: mkvpropedit pelicula.mkv --attachment-name Arial.ttf --attachment-description "La fuente Arial como TrueType" --attachment-mime-type application/x-truetype-font --add-attachment 89719823.ttf Reemplaza el archivo adjunto (Comic.ttf) del archivo por otro (Arial.ttf): mkvpropedit pelicula.mkv --attachment-name Arial.ttf --attachment-description "La fuente Arial como TrueType" --replace-attachment name:Comic.ttf:Arial.ttf Elimina el segundo archivo adjunto: mkvpropedit pelicula.mkv --delete-attachment 2 Elimina todos las fuentes adjuntas por tipo MIME: mkvpropedit pelicula.mkv --delete-attachment mime-type:application/x-truetype-font CODIGOS DE SALIDA Mkvpropedit(1) finaliza con uno de estos tres codigos de salida: o 0 -- Este codigo de salida significa que la modificacion se ha realizado correctamente. o 1 -- En este caso mkvpropedit(1) genera una salida con al menos una advertencia, pero la extraccion continuo. Una advertencia es prefijada con el texto 'Advertencia:'. Dependiendo de los fallos involucrados los archivos creados seran correctos o no. El usuario es instado a que revise tanto las advertencias como los archivos creados. o 2 -- Este codigo de salida es usado despues de que ocurra un error. mkvpropedit(1) aborta el proceso justo despues de mostrar el mensaje de error. El rango de los mensajes de error va desde los argumentos de la linea de comandos, por delante de los errores de lectura/escritura, hasta los archivos erroneos. CONVERSION DE ARCHIVOS DE TEXTO Y CONJUNTO DE CARACTERES Para una discusion en profundidad sobre como la suite de MkvToolNix manipula las conversiones de caracteres, la codificacion entrada/salida y la codificacion de la linea de comandos y consola, por favor consulte la seccion llamada de igual manera en la pagina del manual para mkvmerge(1). VARIABLES DE ENTORNO mkvpropedit(1) usa las variables predefinidas que se determinan en la configuracion local del sistema (p.e. LANG y la familia LC_*). Variables adicionales: MKVPROPEDIT_DEBUG, MKVTOOLNIX_DEBUG y su forma abreviada MTX_DEBUG El contenido se trata como si se hubiese pasado a traves de la opcion --debug. MKVPROPEDIT_ENGAGE, MKVTOOLNIX_ENGAGE y su forma abreviada MTX_ENGAGE El contenido se trata como si se hubiese pasado a traves de la opcion --engage. VEA TAMBIEN mkvmerge(1), mkvinfo(1), mkvextract(1), mkvtoolnix-gui(1) WWW La ultima version se puede encontrar siempre en la pagina de MKVToolNix[1]. AUTOR Moritz Bunkus Desarrollador NOTAS 1. la pagina de MKVToolNix https://mkvtoolnix.download/ MKVToolNix 83.0 2024-03-10 MKVPROPEDIT(1)