Я знаю, как прокрутить изображение снизу вверх на видео с помощью этой команды:
ffmpeg -f lavfi -i color=s=1920x1080 -loop 1 -t 0.08 -i "input.jpg" -filter_complex "[1:v]scale=1920:-2,setpts=if(eq(N\,0)\,0\,1+1/0.02/TB),fps=25[fg]; [0:v][fg]overlay=y=-\'t*h*0.02\':eof_action=endall[v]" -map "[v]" output.mp4
Но я хочу, чтобы изображение и текст начинали появляться снизу, плавно прокручивались и исчезали сверху, как на картинке ниже.
решение1
Мы можем вырезать соответствующую область фонового изображения, наложить прокручиваемый текст на обрезанную область и наложить результат на ту же область фонового изображения.
Пример:
bk.jpg
:
Фоновое изображение - подготовлено заранее:
input.jpg
:
Изображение переднего плана — подготовлено заранее (разрешение образца 270x257):
Пример команды:
ffmpeg -y -loop 1 -r 25 -i bk.jpg -loop 1 -r 25 -i input.jpg -filter_complex "[0:v]crop=270:257:360:55[c0];[c0][1:v]overlay=y='257-t*257*0.04':eof_action=endall[fg];[0:v][fg]overlay=x=360:y=55:eof_action=endall" -t 50 output.mp4
[0:v]crop=270:257:360:55[c0]
- вырезает область 270x257 из фона.[c0][1:v]overlay=y='257-t*257*0.04':eof_action=endall[fg]
- накладывает прокручиваемый текст на обрезанную область.[0:v][fg]overlay=x=360:y=55:eof_action=endall
- накладывается[fg]
поверх фонового изображения (в том же месте обрезанной области).