ffmpeg - como criar um efeito de zoom de vídeo de 5 segundos com 1 imagem

4

Eu sei como fazer um efeito de "zooming" de 5 segundos no vídeo com 1 imagem usando o zoompan.

ffmpeg -loop 1 -i image1.jpg -vf "zoompan=z='min(zoom+0.0015,1.5)':d=125" -c:v libx264 -t 5 -s "800x450" zoomin.mp4

Como faço o vídeo "zoom out"?

tentou abaixo, mas nenhum deles está funcionando:

ffmpeg -loop 1 -i image1.jpg -vf "zoompan=z='min(zoom-0.0015,1.5)':d=125" -c:v libx264 -t 5 -s "800x450" zoomout.mp4

ffmpeg -loop 1 -i image1.jpg -vf "zoompan=z='max(1.5,zoom-0.0015)':d=125" -c:v libx264 -t 5 -s "800x450" zoomout.mp4

ffmpeg -loop 1 -i image_1.jpg -vf "zoompan=z='max(zoom-0.0015,1.5)':d=125" -c:v libx264 -t 5 -s "800x450" zoomin.mp4
    
por jmjap 17.07.2014 / 03:12

2 respostas

9

Primeiro, você deve definir o fator de zoom, pois, por padrão, ele é definido como 1.0. Eu pude fazer assim:

ffmpeg -loop 1 -i image_1.jpg -vf "zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125" -c:v libx264 -t 5 -s "800x450" zoomout.mp4

Que começará a aumentar em 1,5 e diminuirá 0,0015 a cada iteração. Observe que o valor 1.001 foi usado (qualquer valor maior que 1.0) para garantir que ele não fosse zerado após 1.0 e redefinido para 1.5.

Outra solução poderia ter sido simplesmente inverter a saída do seu zoompan original, mas depois de uma pesquisa rápida, inverter o vídeo parece ser um grande esforço no ffmpeg.

    
por 29.01.2015 / 04:51
1

Calcule o z do índice de quadros (on) e a duração.

on/duration obterá um percentual de 0 a 1 que aumenta cada quadro.

1.5-on/duration*0.5 Fornece um número de 1.5-1.

Todos juntos:

ffmpeg -loop 1 -i image1.jpg -vf "zoompan=z='1.5-on/duration*0.5':d=125" -c:v libx264 -t 5 -s "800x450" zoomin.mp4
    
por 15.01.2018 / 21:42

Tags