忽略或复制位图字幕,但在可能的情况下使用 ffmpeg 转换为 srt

忽略或复制位图字幕,但在可能的情况下使用 ffmpeg 转换为 srt

这是我目前用于在 x265 中重新编码视频的 ffmpeg 命令:

ffmpeg -i "${F}" -map 0 -map -v -map V -c:s srt -c:a aac -c:v hevc -preset medium "${bn}-x265.mkv"

除位图字幕的罕见情况外,此方法效果很好:

Subtitle encoding currently only possible from text to text or bitmap to bitmap

有没有一种简单的方法可以更改上述命令以复制或忽略这样的位图字幕,但仍转换为可以转换的 srt 轨道?最糟糕的情况是我想象我只能使用,-c:s copy但错过转换为 srt 的机会似乎很遗憾。

谢谢

答案1

您可以使用 ffprobe 查看每个字幕流使用的编解码器:

ffprobe -v error -of json input.mkv -of json -show_entries stream -select_streams s

编解码器列表很长,因此按编解码器进行过滤并不是一个好主意。但是,我注意到基于图像的字幕流具有“宽度”属性,而基于文本的字幕流则没有。这可用于过滤基于图像的字幕,但在运行 ffprobe 后需要额外的处理。

相关内容