我正在尝试创建一个基本的 5 秒缩放平移到图像的中心(来自ffmpeg.org 网站上的示例)。下面的命令有效,但在喝了 5 杯咖啡后比我的手更抖动:
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
Run Code Online (Sandbox Code Playgroud)
我知道ffmpeg 错误 #4298。发布的建议解决方法是scale在zoompan. 但是如我的示例所示,这似乎仍然没有效果。
似乎任何任意的 x 或 y 值都会导致抖动/抖动/摇晃效果。
任何人都可以提供任何有效的解决方法吗?谢谢!
版本信息:
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
Run Code Online (Sandbox Code Playgroud) 我一直在通过互联网上可以找到的任何教程尝试 FFmpeg,但我对如何将缩放效果与一系列图像的淡入淡出相结合感到有些困惑。
在结合我发现的一些例子之后得到了以下内容,但看起来我得到的结果是连续的,而不是我认为的那样。
任何指向我正确方向的指针将不胜感激。
ffmpeg \
-loop 1 -t 5 -i input/slideshow/img0001.jpeg
-loop 1 -t 5 -i input/slideshow/img0002.jpeg \
-loop 1 -t 5 -i input/slideshow/img0003.jpeg \
-loop 1 -t 5 -i input/slideshow/img0004.jpeg \
-filter_complex \
"[0:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=out:st=4:d=1[v0]; \
[1:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1]; \
[2:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v2]; \
[3:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v3]; \
[v0][v1][v2][v3]concat=n=4:v=1:a=0,format=yuv420p[v]" -map "[v]" -s "800x450" -t 40 output/out_fade.mp4
Run Code Online (Sandbox Code Playgroud)