Estou tentando obter um efeito de animação deslizante em ffmpeg
que a entrada atual é empurrada para a esquerda, enquanto a próxima entrada é puxada para a tela pela direita.
Até agora, tenho este comando, que consegue a última parte do efeito usando o overlay
filtro.
ffmpeg -y -i /tmp/temp_videos/0000.mp4 -itsoffset 5 -i /tmp/temp_videos/0001.mp4 -filter_complex "[0:v]setpts=PTS-STARTPTS[v0]; \
[1:v]setpts=PTS-STARTPTS+7/TB[v1]; \
[v0][v1]overlay=x='if(gte(w-(t-7)*2000,0),w-(t-7)*2000,0)':y=0[out]" -map '[out]' -y test.mp4
São necessários dois arquivos de vídeo de entrada e sobrepõe o segundo ao primeiro. Após 7 segundos, a segunda entrada desliza pela direita, cobrindo a primeira entrada. A posição x da segunda entrada começa fora da tela e diminui até chegar a 0. Como eu disse, esta é a segunda metade do efeito de animação que estou tentando alcançar.
Como posso fazer com que a primeira entrada seja empurrada para a esquerda quando a segunda entra?
Este é quase exatamente o efeito que procuro, exceto mover na direção oposta: https://github.com/tanersener/ffmpeg-video-slideshow-scripts/raw/master/docs/transition_push_horizontal.gif