我有一个 .vtt 字幕,想要刻录到视频中,但我想用另一种颜色显示其中的一部分。
例如 :
This is IMPORTANT !
我希望“重要”一词以红色显示。
我的ffmpeg
代码:
fmpeg -i input.mp4 -vf "subtitles=sub.vtt" output.mp4
使用 .vtt 语法,我唯一能做的改变是斜体与<i>
.
<c>
,<c.red>
,<ruby>
等... 没有做任何事情......
This is <i>IMPORTANT</i> !
在 ffmpeg 中-vf
,我可以用来force_style
更改字幕颜色,但我只能更改整行,而不能更改其中的一部分。
谢谢。
答案1
FFmpeg 负责libass
栅格化文本字幕的工作,顾名思义,该库仅适用于 ASS 字幕。当提供其他格式的字幕时,ffmpeg 会将其转换为 ASS。FFmpeg 仅支持解析 VTT 中有限数量的标记 - <i>
<b>
, <u>
。
因此,将 subs 转换为 ASS 格式并使用 Aegisub 等编辑器添加标记。