我的电视可以播放mkv
闪存驱动器上的文件,但无法检测到字幕文件。我正在尝试制作一个bat
文件,该文件基本上将.srt
文件从文件中取出,mkv
然后使用 ffmpeg 将其硬编码到 mkv 文件中。我正在接近,但命名无法正常工作。例如,当它创建它命名的字幕文件时infile.mkv.srt
。当文件被编码时,它被命名为infile.mkvEncoded.mkv
. 我正在尝试摆脱多余的 .mkv
我不擅长 bat 文件中的变量,所以我不确定该怎么做。我在文件名中添加了“编码”部分,这样它就不会覆盖原始的 infile。除非有更好的方法,否则我计划只使用批量重命名实用程序来删除该部分。
我的代码是:
DO (
MKDIR Encoded_Files
)
FOR /F "tokens=*" %%G IN ('dir /b *.mkv') DO (
ffmpeg -i "%%G" -vn -an -codec:s:0.1 srt "%%G.srt"
ffmpeg -i "%%G" -vf "subtitles=%%G.srt" "%%GConverted"
move *"%%~nG" "Encoded_Files"
)
预期的结果是infileEncoded.mkv*