I'm trying to create a basic 5 second zoompan to the center of an image (from the example on the ffmpeg.org website). The command below works, but jitters more than my hands after 5 cups of coffee:
ffmpeg -framerate 25 -loop 1 -i island.jpg -filter_complex "[0:v]scale=-2:480,zoompan=z='min(zoom+0.0015,1.5)':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':d=125,trim=duration=5[v]" -map "[v]" -y out.mp4
I'm aware of the ffmpeg bug #4298. The posted suggested workaround is to use the scale filter prior to zoompan. But as shown in my example, this still seems to have no effect.
It seems any arbitrary x or y values cause the jiggle/jerky/shaky effect.
Can anyone offer any kind of effective workaround? Thanks!
Version info:
ffmpeg version 3.1.2-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.4.0 (Debian 5.4.0-6) 20160609
ffmpeg -framerate 25 -loop 1 -i island.jpg -filter_complex "[0:v]scale=8000x4000,zoompan=z='min(zoom+0.0015,1.5)':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':d=125,trim=duration=5[v1];[v1]scale=-2:480[v]" -map "[v]" -y out.mp4– Timbo White Aug 12 '16 at 08:24:d=125:s=hd480ord=125:s=640x360– Gyan Aug 12 '16 at 10:24sis zoompan's output image size. But it doesn't seem like there's a way to get zoompan's scale to preserve the aspect ratio of the original image automatically. So in order to get the result to a height of 480 with aspect ratio preserved for this 4000x2000 example, you'd have manually set zoompan tos=960x480(can't use -2x480 trick). Otherwise zoompan usess=hd720(1280x720) by default, which skews the aspect ratio. – Timbo White Aug 12 '16 at 10:57truncwill remove the fractional part of the result. Apply it like thisx=trunc(iw/2-(iw/zoom/2)). This may not be as smooth as the upscale route. – Gyan Jan 26 '18 at 04:33