目前,从电影中提取静态图片时会附带字幕,但似乎字幕没有显示在应有的位置。
我正在使用以下命令制作静态图像。
ffmpeg -ss "00:02:29" -copyts -i input.mkv -filter_complex "[0:0][0:4]overlay" -vframes 1 sample.jpg
我也确认了27秒、28秒、30秒,但是都没有字幕,
但是指定29.5秒的时候就有字幕了。
此外,字幕数据在影片数据中保存如下。
Stream #0:4(jpn): Subtitle: hdmv_pgs_subtitle (default)
另外,当将字幕数据提取到sup并解析为xml和png时,xml的内容如下。
<Event InTC="00:02:27:02" OutTC="00:02:30:14" Forced="False">
<Graphic Width="853" Height="132" X="523" Y="891">main_0047.png</Graphic>
</Event>
另外,实际用播放器播放检查视频的时候,xml的内容好像没有错误。
怎么了?
答案1
使用
ffmpeg -ss "00:02:20" -i input.mkv -filter_complex "[0:0][0:4]overlay" -ss 9 -vframes 1 sample.jpg
其中第一个ss
值表示预期字幕开始之前的时间。
ss
选择第二个,使得第一个+第二个ss
值等于最终所需的寻找点。
不确定,但发生这种情况的原因是,如果在搜索点处有条目正在进行,则输入搜索无法正确处理字幕。