Eu estava tendo o mesmo problema e recebi uma resposta que funcionou muito bem . A chave é primeiro melhorar a imagem antes de aplicar o filtro de zoom. Você pode reduzir a escala para a resolução desejada.
As escalas a seguir aumentam 10x, aproximam o zoom e depois reduzem a escala de volta para 720p (o valor -2
x nos filtros de escala mantém a proporção, ou seja, scale=-2:10*ih
). Isso praticamente elimina o jiggle:
ffmpeg -r 25 -i LVjYi.jpg -filter_complex "scale=-2:10*ih,zoompan=z='min(zoom+0.0015,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
Note que, quanto maior o upscale inicial, mais suave será o zoom resultante. Compare o acima com um upscale de apenas 2x:
ffmpeg -r 25 -i LVjYi.jpg -filter_complex "scale=-2:2*ih,zoompan=z='min(zoom+0.0015,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
Aquele ainda é um jiggly.