MKVMerge adiciona legenda .srt em lote

MKVMerge adiciona legenda .srt em lote

Estou procurando algum comando/script para verificar minha pasta designada, mesclar os arquivos srt (mesmo nome do vídeo) com arquivos avi/mp4/mkv para obter arquivos mkv e, em seguida, excluir os arquivos originais (vídeo E legenda).

Agora tenho este código (não meu, de alguns autores que combinei):

@echo off
for /R %%A IN (*.mkv *.avi *.mp4) do (
"C:\Program Files\MKVToolNix\mkvmerge.exe" -o "%%~nxA_CZ.mkv" "%%~A" "%%~nA.srt"
  if errorlevel 1 (
                echo Warnings/errors generated during remuxing, original file not deleted
            ) else (
                del /f "%%A" "%%~nA.srt"
                echo Successfully remuxed to "%%~dpna (No Subs)%%~xa", original file deleted
            )
            echo.
        )
    )
)

Que tipo de trabalho, mas tenho alguns problemas.
O /Rparâmetro não está funcionando, não sei por que, mas quando o coloco em uma pasta com subpastas, ele verifica apenas os arquivos srt contidos nele e recebo um erro "Não é possível abrir". (Este erro também aparece para arquivos em uma única pasta, mas no final faz o que preciso.)

Alguma ideia de como resolver meu problema?

Responder1

é assim que você deve adicionar legenda:

mkvmerge.exe -o "output.mkv" --audio-tracks 1 --no-subtitles --no-attachments 
--no-chapters --language 0:und --default-track 0:yes --compression 0:none     
--language 1:und --default-track 1:yes --compression 1:none "input.mkv"       
--language 0:und --compression 0:none "input.srt" --track-order 0:0,0:1,1:0   
--probe-range-percentage 0.50

informação relacionada