从电影中提取静止图像时字幕会移动

从电影中提取静止图像时字幕会移动

目前,从电影中提取静态图片时会附带字幕,但似乎字幕没有显示在应有的位置。
我正在使用以下命令制作静态图像。

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值等于最终所需的寻找点。

不确定,但发生这种情况的原因是,如果在搜索点处有条目正在进行,则输入搜索无法正确处理字幕。

相关内容