ffmpeg实例,图片转视频,图片移动相关操作

时间:2024-03-23浏览次数:551
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这是我的一个技术博客网站,主要目地是为了方便自己整理基础知识应用与收集常见技术问题,以便后面出现同样问题可以直接解决;

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   


上一条:

没有上一条信息

下一条:

没有下一条信息

Copyright © 2018 网站仅供学习交流使用,无任何商业用途  闽ICP备15015615号  技术支持: 微魔法建站