У меня есть субтитры .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 ответ1

1

FFmpeg делегирует для libass работы по растеризации текстовых субтитров, и эта библиотека, как следует из ее названия, работает только с субтитрами ASS. Когда предоставляются субтитры в другом формате, ffmpeg преобразует их в ASS. FFmpeg поддерживает разбор только ограниченного количества разметки в VTT - <i> <b> , <u> .

Итак, конвертируйте сабвуферы в формат ASS и используйте редактор, такой как Aegisub, для добавления разметки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .