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

相關內容