объединить команды создания видео и рисования текста в одной инструкции в ffmpeg

объединить команды создания видео и рисования текста в одной инструкции в ffmpeg

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

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:[email protected]: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

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

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:[email protected]: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

Связанный контент