ffmpeg: desplaza suavemente una imagen y texto en un área definida

ffmpeg: desplaza suavemente una imagen y texto en un área definida

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. ingrese la descripción de la imagen aquí

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:
ingrese la descripción de la imagen aquí

input.jpg:
Imagen de primer plano: preparada con antelación (la resolución de muestra es 270x257): ingrese la descripción de la imagen aquí


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).

Resultado reducido:
ingrese la descripción de la imagen aquí

información relacionada