【发布时间】:2020-07-01 19:10:57
【问题描述】:
每次需要混音的.mkv文件都会附带随机数量的字幕,每个字幕都有不同的语言代码。
例如 场景一:
video.mkv
eng.srt
fre.srt
ger.srt
场景 2:
video.mkv
rus.srt
spa.srt
我们的目标是每次运行相同的批处理文件,让它获取大量的字幕,并使用正确的语言代码等正确地混合它。
到目前为止,我们已经到了这里:
EnableDelayedExpansion
for %%A in ("*.srt") do (
set subtitle=%%~nA
)
for %%A in ("*.mkv") do (
mkvmerge.exe -o "%%~nA.mkv" --default-track 0:yes "%%A"^
--language 0:!subtitle! --default-track 0:no "!subtitle!.srt"^
--language 0:!subtitle! --default-track 0:no "!subtitle!.srt"^
--language 0:!subtitle! --default-track 0:no "!subtitle!.srt"^
)
到目前为止,这是固定数量的字幕方法,而不是动态的,例如场景 1. 它几乎可以工作,除了它将每个字幕作为最后一个变量,所以从场景 1 开始,每个字幕被混合三次,并命名为 ger 用于语言,ger.srt 用作源代码,因为它是最后一个按字母顺序列出。
目标:每个!subtitle! 应该是正确的语言和字幕,正如我对字母的理解。
【问题讨论】:
标签: windows batch-file video mkv matroska