La línea de comando Mkvmerge en Windows no funciona para múltiples idiomas de subtítulos

2

Estoy tratando de mezclar muchos idiomas de subtítulos en el mismo archivo (MKV como salida) pero no funciona. Estoy intentando lo siguiente desde un archivo por lotes:

FOR /R %%A IN (*.mp4 *.webm) DO mkvmerge -o "%%~nA.mkv" "%%~A" --language 0:eng "%%~nA.en.srt" --language 1:spa "%%~nA.es.srt" --language 2:ger "%%~nA.de.srt" --language 3:por "%%~nA.pt.srt"

¿Qué estoy haciendo mal?

I get the following result:
Error: The file 'video1.en.srt' could not be opened for reading: open file error.

Está leyendo todos los archivos correctamente, pero no procesará el comando.

GL
fuente
¿Está seguro de que video1.en.srtexiste en el directorio en el que FORse ejecuta el bucle? Solo para asegurarme ... O tal vez está abierto en otro programa sin SHARE_READprivilegios ...
zx485
Sí. Existe pero a veces no existe. A veces obtengo es.srt en lugar de en.srt porque algunos videos están subtitulados en inglés y otros en español. ¿Eso podría ser un problema? En caso afirmativo, los trasladaré automáticamente a en.srt
GL
1
Supongo que tienes que verificar si existe un archivo antes de pasarlo mkvmerge.
zx485
OKAY. Probaré hoy si resolverá el problema. Es decir, tengo un lote para autoenviar el video en "en.srt". No creo que funcione, pero lo intentaré.
GL

Respuestas:

0

Ahora mi comando está funcionando.

zx485 tenía razón. Todos los archivos deben existir para que funcione. Además, todos los indicadores de idioma deben establecerse en cero para que funcione.

FOR /R %%A IN (*.mp4 *.webm *.avi) DO mkvmerge -o "%%~nA.mkv" "%%~A" --language 0:eng "%%~nA.en.srt" --language 0:spa "%%~nA.es.srt" --language 0:ger "%%~nA.de.srt" --language 0:por "%%~nA.pt.srt"
GL
fuente