Sé cómo desplazar una imagen desde la parte inferior hasta la parte superior de un video usando este comando:
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
Pero quiero que la imagen y el texto comiencen a aparecer desde una posición en la parte inferior y se desplacen suavemente y desaparezcan en una posición en la parte superior como en la imagen de abajo.
Respuesta1
Podemos recortar la región relevante de la imagen de fondo, superponer el texto desplazado sobre la región recortada y superponer el resultado en la misma región de la imagen de fondo.
Ejemplo:
bk.jpg
:
Imagen de fondo - preparada con antelación:
input.jpg
:
Imagen de primer plano: preparada con antelación (la resolución de muestra es 270x257):
Comando de muestra:
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]
- Recorta la región de 270x257 desde el fondo.[c0][1:v]overlay=y='257-t*257*0.04':eof_action=endall[fg]
- superpone el texto desplazado sobre la región recortada.[0:v][fg]overlay=x=360:y=55:eof_action=endall
- superposiciones[fg]
sobre la imagen de fondo (en el mismo lugar de la región recortada).