Faça uma transição circular da esquerda para a direita na imagem de sobreposição com ffmpeg

Faça uma transição circular da esquerda para a direita na imagem de sobreposição com ffmpeg

Estou tentando obter um vídeo de saída usando ffmpeg com:

  • um vídeo base "video.mp4"
  • uma imagem de sobreposição estática "staticimage.png"
  • uma imagem de sobreposição que faz uma transição em loop da esquerda para a direita "movingimage.png"

Aqui está o que eu poderia fazer até agora:

ffmpeg -i "video.mp4" -i "movingimage.png" -i "staticimage.png" -filter_complex "[0]overlay=x='if(gte(t,0), -w+(t)*100, 3)':y=0[v];[v][2]overlay=0:0[vt];[1][vt]overlay=0:0" -c:a copy -vcodec libx264 -preset superfast -f flv "output.flv"

Este comando foi bem-sucedido até agora. No entanto, a imagem em movimento faz apenas uma transição. Existe uma maneira de fazer um loop e começar tudo de novo para a posição inicial (esquerda)?

Sua ajuda será bem vinda. Obrigado.

Responder1

Para loop, você deseja uma função periódica, geralmente mod.

Nesse caso,

x='-w+100*mod(t,(W+w)/100)'

informação relacionada