
O código abaixo funciona bem, mas não consigo iniciar o zoom da imagem em um momento específico. ou seja, quero que o zoom seja efetivo em 5 segundos e não imediatamente quando o vídeo de fundo for iniciado.
ffmpeg -i background.avi -i image.png \
-filter_complex "1:v]scale=8000x4000,setsar=1/1,zoompan=z='min(zoom+0.005,10)':d=125:s=530x680,trim=duration=3[v1];[0:v][v1]overlay=20:20" \
-c:v libx264 output.avi
Responder1
Usar
ffmpeg -i background.avi -loop 1 -i image.png \
-filter_complex
"[1:v]scale=8000x4000,setsar=1/1,zoompan=z='if(gte(in,125),min(pzoom+0.005,10),1)':d=1:s=530x680,
trim=duration=3[v1];[0:v][v1]overlay=20:20"
-c:v libx264 output.avi
Como você está aplicando isso em um vídeo, pzoom é a variável correta a ser usada. d
deve ser definido como 1, pois representa a duração do intervalo do efeito de zoom para cadaIndividualquadro. Certifique-se de usar uma versão recente do ffmpeg. Havia um bug nas versões anteriores em que o pzoom não funcionava corretamente.