O documento FFMPEG para zoompan https://ffmpeg.org/ffmpeg-filters.html#Examples-89 diz
Aumente o zoom até 1,5 e gire ao mesmo tempo em algum ponto próximo ao centro da imagem:
zoompan=z='min(zoom+0.0015,1.5)':d=700:x='if(gte(zoom,1.5),x,x+1/a)':y='if(gte(zoom,1.5),y,y+1)':s=640x360
Aumente o zoom até 1,5 e gire sempre no centro da imagem:
zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
Eu tentei tanto a opção, mas ainda não estou feliz com o efeito de zoom. Eu posso ver algum problema tremendo quando o zoom.
Pensando se existe alguma maneira melhor de conseguir isso. Quero ampliar uma imagem (proporção 16: 9) para a posição centralizada por alguns segundos XX e abaixo é o meu mesmo código
ffmpeg -r 25 -i image.png -filter_complex "zoompan=z='min(zoom+0.0032,5)':d=125:x='iw/1.7777-(iw/zoom/1.7777)':y='ih/1.7777-(ih/zoom/1.7777)'" -shortest -pix_fmt yuv420p -c:v libx264 image_output.mp4
Arquivo de vídeo: http://sendvid.com/zn6oftiu
ffmpeg -r 25 -i LVjYi.jpg -filter_complex "scale=-6:6*ih,zoompan=z='min(zoom+0.0099,1.5)':d=125:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)',scale=-2:720" -y -shortest -c:v libx264 image_output.mp4
está trabalhando para mimRespostas:
Eu estava tendo o mesmo problema e obtive uma resposta que funcionou muito bem . A chave é aumentar a escala da imagem antes de aplicar o filtro de zoom. Você pode reduzir a escala posteriormente para a resolução desejada.
A seguir, a escala é aumentada em 10x, aumenta o zoom para o centro e diminui a escala para 720p (o
-2
valor x nos filtros de escala mantém a proporção, ou sejascale=-2:10*ih
). Isso praticamente elimina o jiggle:Observe que, quanto maior o upscale inicial, mais suave será o zoom resultante. Compare o acima com um upscale de apenas 2x:
Esse ainda é jiggly.
fonte