如何使用 ffmpeg 映射 -vf 字幕?

uni*_*t77 2 video ffmpeg

我正在尝试刻录这种格式的字幕:

0:0 Video
0:1 English Audio
0:2 Japanese Audio
0:3 English subtitle (default)
0:4 English subtitle (translation only)
Run Code Online (Sandbox Code Playgroud)

两者都是subrip。我通常使用的是这个批处理文件

ffmpeg -i "foo.mkv" ^
-map 0:0 -map 0:2 ^
-c:a:2 copy ^
-vf subtitles="foo.mkv" ^
"foo_1.mkv"
Run Code Online (Sandbox Code Playgroud)

但只有在有一个字幕流时才有效。当我在双字幕视频上运行它时,它会处理一个新视频但不提供字幕。

llo*_*gan 5

使用stream_index/si选项选择所需的字幕流。渲染第二个字幕流foo.mkv

subtitles=foo.mkv:si=1
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅字幕过滤器文档