ffmpeg -loop 1 -i ***.jpg -vf "zoompan=z='1.3':x='if(lte(on,1),(iw-iw/zoom)/2,x-2)':y='if(lte(on,1),(ih-ih/zoom),y-1.2)':d=250" -c:v libx264 -y -b 9800k -r 25 -t 10 -s 1920x1080 ***.mp4
图片从右下到左上的移动效果使用
3.mp4pad宽度222.mp4从下到上的
-vf 滤镜效果的 zoompan
其中z='1.3'表示图片放大1.3倍,z可以省略也就zoompan='1.3',可以理解为XYZ坐标轴的Z
zoompan=z='max(1.2-0.001*on,1) 表示图片缩小,on是计数参数,表示每帧0.001倍率缩小,
max表示缩小计算后,最小值不小于1。
x='if(lte(on,1),(iw-iw/zoom)/2,x-2)',表示图片X轴移动,在(iw-iw/zoom)/2地方开始移动,即初始位置如果(iw-iw/zoom)表示图片在最左边开始,x-2表示移动速度,不过这个速度有个最大值限定,没探究清楚,(lte(on,1)貌似是图目的片坐标 。
y='if(lte(on,1),(ih-ih/zoom),y-1.2)',表示图片Y轴移动。
d=250 表示视频有250帧,默认一秒25帧,也就是10秒视频
-loop 1 表示图片循环,如果不加此命令。-t 10则无效,此地方为了方便控制视频时长
-c:v libx264 mp4视频转码格式 -s 1920x1080 输出视频大小
-b 9800k 视频的码率,此值越大,图片在转视频时候才不会出现模糊
-r 25 表示输出视频的帧数 -y 表示覆盖输出视频
视频放大效果:
ffmpeg -loop 1 -i F:mp4image.png -vf "zoompan=z='min(zoom+0.001,1.2)':x='iw/4-(iw/zoom/4):y='ih/2:d=250" -c:v libx264 -y -b 980k -r 25 -t 10 -s 1280x720 F:mp4output_xx2.mp4
ffmpeg实现图片放缩效果:平滑
ffmpeg -r 25 -y -i F:mp4image.png -filter_complex "scale=-2:10*ih,zoompan=z='if(lte(zoom,1.0),2,max(1.001,zoom-0.0065))':d=100:s=1280x900:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)',scale=-2:ih" -t 4 F:mp4output_xx3.mp4
没有上一条信息
没有下一条信息
推荐文章