Как раскрасить текст с помощью записи жесткого кода.vtt и ffmpeg
У меня есть субтитры.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>
,
Итак, конвертируйте сабвуферы в формат ASS и используйте редактор, такой как Aegisub, для добавления разметки.