是否可以使用一个命令提取所有字幕轨道?

是否可以使用一个命令提取所有字幕轨道?

是否可以使用一个命令(同时)提取所有字幕轨道?

我们可以使用ffmpeg -i <video file> -map 0:s:<index> subs.srt,但如果我们有带有许多字幕的视频容器文件,我们必须多次执行此命令(并index++在每个命令后执行)

答案1

对于 Windows 用户:

示例:从视频 S01E01.mkv 中提取第 0 章至第 31 章的所有字幕(一步一步)到文件 S01E01_0.sub S01E01_1.sub ... S01E01_31.sub

FOR /L %X IN (0,1,31) DO ffmpeg -i S01E01.mkv -map 0:s:%X -c copy S01E01_%X.sub

答案2

示例:提取0到4的所有字幕,步长为1

    for /L %%X in (0,1,4) do (
    
    for %%A in ("*.mp4" "*.avi" "*.mkv") do (
    
    %ffmpeg% -i "%%A" -vn -map 0:s:%%X -c copy subs_%%X.srt
    
    )

)

相关内容