FFmpeg字幕过滤器设置开始时间



我试图为视频的较短部分烧录字幕,但使用字幕过滤器总是从字幕流的开头开始,而不是在指定的开始时间,即使是从同一视频复制时也是如此。

因此,例如,如果我在电影的10分钟内开始编码,视频将从那里正确设置,但字幕将从头开始(在这种情况下为10分钟偏移(。

ffmpeg -y -ss 600.0 -to 660.0 -i movie.mkv -filter_complex "[0:0]subtitles='movie.mkv':si=1[v]" -map "[v]" -c:v libx265 -crf 22 output.mkv

当使用基于图片的字幕和覆盖过滤器时,这不是问题,例如:

-filter_complex "[0:0][0:2]overlay[v]"

它似乎只影响基于文本的字幕。我不知道这是不可能的,需要另一个解决方案,还是我处理得不对。感谢您的帮助!

问题是我使用了"快速搜索";时间,也就是在输入之前设置它,这似乎与subtitle过滤器不兼容。这意味着-ss-to需要在输入-i movie.mkv之后移动

ffmpeg -y  -i movie.mkv -ss 600.0 -to 660.0 -filter_complex "[0:0]subtitles='movie.mkv':si=1[v]" -map "[v]" -c:v libx265 -crf 22 output.mkv

最新更新