Autor Tema: Caracteres especiales en MKVMerge CLI  (Leído 77 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Naoto

  • Miembro senior
  • ***
  • Desconectado Desconectado
  • Registrado: 23/10/2015
  • Mensajes: 122
  • Valoración: 0
Caracteres especiales en MKVMerge CLI
« Mensaje inicial: 26 de Marzo de 2018, 17:58 »
Al contrario del GUI donde no ocurre este error, en el CLI no reconoce ciertos caracteres en comandos para personalizar nombres, en este caso "--track-name" y como resultado, aparecen otros símbolos en los metadatos del nuevo video.

Código: [Seleccionar]
@echo off
for %%A in (*.MKV) do "D:\MKV\mkvmerge.exe" --language 0:jpn --default-track 0:yes --language 1:jpn --default-track 1:yes --language 2:spa --track-name 2:"Español (México)" --default-track 2:yes --language 3:eng --track-name 3:"English (United States)" --language 4:por --track-name 4:"Português (Brasil)" --track-order 0:0,0:1,0:2,0:3,0:4 -o "D:\MKV\NUEVO\%%~nA.mkv" "%%A"
PAUSE

¿Qué le falta aquí para que MKVMerge los reconozca sin problemas?



tebasuna51

  • Moderador
  • ******
  • Conectado Conectado
  • Registrado: 22/02/2010
  • Mensajes: 4.399
  • Valoración: 240
Re:Caracteres especiales en MKVMerge CLI
« Respuesta #1: 27 de Marzo de 2018, 13:26 »
Es un problema de los archivos CLI, que dependen del SO y de las personalizaciones de idioma.
Los caracteres especiales no estandar se pueden representar con distintas combinaciones de bytes en el archivo .bat

Así, tomando como ejemplo la ñ, se representa como el byte 0xA4 o 164 en codificación OEM, como 0xF1 o 241 en ANSI y como el par 0xC3 o 195 y 0xB1 o 177 en UTF-8.
Depende pues de la codificación que use tu editor de ese archivo .bat.
En mi sistema me funciona correctamente un editor viejo y codificación OEM pero con el Block de Notas no me funciona ni la ANSI ni la UTF-8, supongo que puede arreglarse con el parámetro:

Citar
--command-line-charset character-set    

Sets the character set to convert strings given on the command line from. It defaults to the character set given by system's current locale. This settings applies to arguments of the following options: --title, --track-name and --attachment-description.

Pero desconozco que character-set necesitas para leer tu .bat.

EDITO: He probado --command-line-charset UTF-8 con un .bat generado como UTF-8, pero sin resultado correcto.
Me rindo. Pon textos sin caracteres especiales o usa MkvToolNixGUI.
« Última modificación: 27 de Marzo de 2018, 15:03 por tebasuna51 »

Naoto

  • Miembro senior
  • ***
  • Desconectado Desconectado
  • Registrado: 23/10/2015
  • Mensajes: 122
  • Valoración: 0
Re:Caracteres especiales en MKVMerge CLI
« Respuesta #2: 27 de Marzo de 2018, 15:50 »
Es un problema de los archivos CLI, que dependen del SO y de las personalizaciones de idioma.
Los caracteres especiales no estandar se pueden representar con distintas combinaciones de bytes en el archivo .bat

Así, tomando como ejemplo la ñ, se representa como el byte 0xA4 o 164 en codificación OEM, como 0xF1 o 241 en ANSI y como el par 0xC3 o 195 y 0xB1 o 177 en UTF-8.
Depende pues de la codificación que use tu editor de ese archivo .bat.
En mi sistema me funciona correctamente un editor viejo y codificación OEM pero con el Block de Notas no me funciona ni la ANSI ni la UTF-8, supongo que puede arreglarse con el parámetro:

Citar
--command-line-charset character-set    

Sets the character set to convert strings given on the command line from. It defaults to the character set given by system's current locale. This settings applies to arguments of the following options: --title, --track-name and --attachment-description.

Pero desconozco que character-set necesitas para leer tu .bat.

EDITO: He probado --command-line-charset UTF-8 con un .bat generado como UTF-8, pero sin resultado correcto.
Me rindo. Pon textos sin caracteres especiales o usa MkvToolNixGUI.

Es que el renombrado con las mismas etiquetas es para más de 100 archivos, por eso pretendo usar este método en lugar de hacerlo archivo por archivo en MkvToolNix que solo me haría perder el tiempo.

Tengo aparte el NotePad++ para desde allí guardar nuevos archivos .bat en lugar de seguir usando el Bloc de Notas de Windows, pero no estoy seguro cual de las codificaciones disponibles allí es la que puede funcionar.

Edit: Como mencionaste la codificación OEM, seleccioné algunas hasta que logré obtener el resultado deseado con OEM 858, pero esto ahora solo abre otras dudas en mi, cómo cual codificación hubiese necesitado si usaba también otros caracteres como los japoneses (porque está claro que usar UTF-8 no funcionaba en este caso para los esos otros caracteres occidentales).
« Última modificación: 27 de Marzo de 2018, 16:29 por Naoto »