MKVMerge 批量添加 .srt 字幕

MKVMerge 批量添加 .srt 字幕

我正在寻找一些命令/脚本来扫描我指定的文件夹,将 srt 文件(与视频同名)与 avi/mp4/mkv 文件合并以获取 mkv 文件,然后删除原始文件(视频和字幕)。

现在我有了这个代码(不是我的,而是来自我合并的一些作者):

@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.
        )
    )
)

哪种方法都管用,但我遇到了一些问题。
/R参数不起作用,不知道为什么,但当我将其放在带有子文件夹的文件夹中时,它只会扫描其中的 srt 文件,并且我收到“无法打开”错误。(此错误也出现在单个文件夹中的文件中,但最终它满足了我的要求。)

知道如何解决我的问题吗?

答案1

添加字幕的方法如下:

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

相关内容