Batch-Jobs

使用 MKVToolNix 批量合併 mkv 影片和字幕

  • February 21, 2020

對於我知道我可以的一個文件(作為同一目錄中的影片和子文件):

mkvmerge -o output-file.mkv --default-track 0 --language 0:es subtitle-file.ass video-file.mkv

但是我怎樣才能對 50 個文件做同樣的事情。我的影片和字幕文件名相同:

影片-1.mkv

影片-2.mkv

影片-3.mkv

影片-1.ass

影片-2.ass

影片-3.ass

我的輸出文件應該是 video-1-sub-mkv、video-2-sub-mkv 等。

如果每個XYZ.mkv都有對應XYZ.ass的 ,則可以使用for循環:

for i in *.mkv; do
   if [ -f "${i%.*}".ass ] && [ ! -e "${i%.*}"-sub.mkv ]; then
       mkvmerge -o "${i%.*}"-sub.mkv "$i" --default-track 0 --language 0:es "${i%.*}".ass
   fi
done
  • 注意:我確實重新排列了您輸入文件的順序,以便ass在來自mkv

引用自:https://unix.stackexchange.com/questions/568834