作为标题,我想编辑hardsub一些包含字幕的mkv视频。这些潜艇可能是ASS,SRT或基于图片的。我已经阅读了FFmpeg文档和内容,但只有在知道sub的类型时才找到烧掉sub的方法。
我尝试使用mediainfo获取字幕信息:
mediainfo "--Output=Text;%Format%\r\n" input.mkv
输出是“ASS”与屁股,“文字”或“Subrip”或“UTF-8”与SRT ....但我发现很难继续前进,因为我可以得到很多种输出,这仍然是如此很难创建一个批处理文件来告诉ffmpeg自动检测到的子类,所以自动选择正确的过滤器。
有没有办法做到这一点?谢谢 !
我不熟悉ffmpeg
,所以这是我的猜测。
for /f %%G in ('mediainfo "--Output=Text;%Format%\r\n" input.mkv') do (
set type=%%G
)
rem rename Text, Subrip and UTF-8 to SRT
if "%type%"=="Text" set type=SRT
if "%type%"=="Subrip" set type=SRT
if "%type%"=="UTF-8" set type=SRT
rem ffmpeg burn as %type%
说明:
mediainfo
的结果并将其设置为变量type
type
等于“Text”/“Subrip”/“UTF-8”,则将其设置为“SRT”注意:如果要循环遍历文件列表,则需要双循环,如下所示:
setlocal enableDelayedExpansion
for /f %%A in (*.mkv) do (
for /f %%G in ('mediainfo "--Output=Text;%Format%\r\n" %%A') do (
set type=%%G
)
if "!type!"=="Text" set type=SRT
if "!type!"=="Subrip" set type=SRT
if "!type!"=="UTF-8" set type=SRT
rem ffmpeg burn as %type%
)
.mkv
文件;
获取mediainfo
的结果并将其设置为变量type
如果type
等于“Text”/“Subrip”/“UTF-8”,则将其设置为“SRT”
刻录文件(我不知道命令)