使用 MKVToolNix 批量合并带字幕的 mkv 视频

使用 MKVToolNix 批量合并带字幕的 mkv 视频

对于一个文件,我知道我可以(我的视频和子文件位于同一目录中):

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 等。

答案1

如果每个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

相关内容