У меня есть следующие две команды, которые я последовательно выполняю, чтобы создать видео из изображения и затем нарисовать текст на нем из текстового файла. Для создания видео из одного изображения я использую:

ffmpeg -framerate 30 -loop 1 -t 5 -i 1.jpg -i 3D_Transition_02.mp4 -filter_complex "[0]format=rgba,scale=1280:720,split[img][a]; [1]format=rgb24,negate,scale=1280:720[tr];[a][tr]overlay=format=gbrp[al];[img][al]alphamerge,setsar=1,format=yuva444p" -an -c:v libvpx -crf 10 -b:v 0 -quality realtime -auto-alt-ref 0 a1vp8.mkv

Для создания текста на видео я использую следующую команду:

ffmpeg -i a1vp8.mkv -vf "drawtext=enable='gte(t,.5)':box=1:boxcolor=black@.2:boxborderw=10:fontfile=Roboto-Black.ttf:fontcolor=white:fontsize=56:shadowcolor=Black:shadowx=1:shadowy=1:textfile=text.txt:y=h/2:x=10" aiwithText5.mkv

есть ли какой-то способ для меня создать видео из изображения (в нем также есть комплекс фильтров для создания альфа перехода) и после того, как видео было создано, нарисовать текст на нем в одной команде, объединив две команды?

1 ответ1

0

Просто добавьте drawtext в конце фильтрации.

ffmpeg -framerate 30 -loop 1 -t 5 -i 1.jpg -i 3D_Transition_02.mp4 -filter_complex "[0]format=rgba,scale=1280:720,split[img][a]; [1]format=rgb24,negate,scale=1280:720[tr];[a][tr]overlay=format=gbrp[al];[img][al]alphamerge,setsar=1,format=yuva444p,drawtext=enable='gte(t,.5)':box=1:boxcolor=black@.2:boxborderw=10:fontfile=Roboto-Black.ttf:fontcolor=white:fontsize=56:shadowcolor=Black:shadowx=1:shadowy=1:textfile=text.txt:y=h/2:x=10" -an -c:v libvpx -crf 10 -b:v 0 -quality realtime -auto-alt-ref 0 a1vp8.mkv

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