Как раскрасить текст с помощью записи жесткого кода.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, для добавления разметки.

Другие вопросы по тегам