FFMpeg рисовать текст как анимация - PullRequest
0 голосов
/ 13 октября 2018

Я пытаюсь нарисовать текст на своем видео, используя ffmpeg.

Текст: «Пожалуйста, подождите, система загружается ...»

вот код, который я использовал:

ffmpeg -i "input.mp4" -vf drawtext="fontfile=1.ttf: \text='Please Wait, System Is Loading...': fontcolor=0x0080FF: fontsize=48: box=1: boxcolor=white@0.1: \boxborderw=5: x=(w-text_w)/2: y=(h-(text_h+25))" -codec:a copy "output.mp4"

, который работал хорошо, но мне нравится, чтобы текст выглядел как анимированный: итак, каждые 0,5 секунды он должен меняться на следующие строки и повторять его:

Пожалуйста, подождите, System IsЗагрузка.

Пожалуйста, подождите, система загружается ..

Пожалуйста, подождите, система загружается ...

Пожалуйста, подождите, система загружается ...!

я знаю, что это возможно, я просто могу понять, как: (

заранее спасибо с наилучшими пожеланиями

1 Ответ

0 голосов
/ 24 июня 2019

Возможно, слишком поздно, но решение для enable='between(t, {start}, {end})' доступно в фильтре Drawtext:

Вам придется рисовать каждый текст отдельным фильтром, поэтому вы создадите 4 текста и добавите их на прозрачный фон:

-t 2 -i color=black@0:{size}, format=rgba -i your_video.mp4

-filter_complex "[0] drawtext=...:enable='between(t, 0, 0.5)', drawtext=...:enable='between(t, 0.501, 1)', ... [texts]"

Длительность цветного фона установлена ​​на 2 секунды для 4 текстов, каждые 0,5 секунды.

Затем вы накладываете ихзацикливание видео:

[1] [texts] overlay={x}:{y}:eof_action=repeat [out]

Затем отобразите ваши выходные потоки:

-map [out] -map 1:a {codecs}

Таким образом, видео извлекается из фильтра, а аудио берется из видео.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...