ffmpeg实例,视频与图片互转,视频转gif,单张图片合成视频,提取封面,单帧


ffmpeg命令目录


视频与图片

在这里插入图片描述

视频转gif

视频转gif
ffmpeg -i out.mp4 -ss 00:00:00 -t 10 out.gif
	t的格式
	-t  1.1
	-t 00:00:01
	-r 帧率每秒的帧数,数值越大越流畅

视频中提取任意一帧图片

ffmpeg -i test.asf -y -f  image2  -ss 00:01:00 -vframes 1  test1.jpg
or
ffmpeg -i test.asf -y -f  image2  -ss 60 -vframes 1  test1.jpg
//png格式不会压缩
ffmpeg -i 1.avi -f image2 -ss 2 -vframes 1 test1.png

视频转图片

视频转图片,-r 帧率每秒钟转化1张,image2为image协议的第二版
ffmpeg -i 2.mp4 -r 1 -f image2 image-%d.jpg

图片转视频

  • 注意:png需要特殊处理,如下
图片转视频,jpg例子
从一个文件序列 img-1.jpeg, img-2.jpeg, ...,创建视频,帧率为10:
ffmpeg -framerate 10 -i img-%d.jpeg out.mkv
ffmpeg -framerate 30 -i image-%d.jpg -y out.mp4

//png图片的合成,如果没有特殊加背景,则背景是黑色的。
ffmpeg -framerate 30 -i image-%d.png -c:v libx264 -pix_fmt yuv420p -y out3.mp4

类似上例,但开始的数字是100,即索引是从100开始计数:
ffmpeg -framerate 10 -start_number 100 -i 'img-%d.jpeg' out.mkv

读取"*.png" 以通配符模式处理,这将包含所有".png"结尾的文件:
ffmpeg -framerate 10 -pattern_type glob -i "*.png" out.mkv

单张图片合成视频

//单张图片合成视频,这里需要用到-loop 1 开启循环,和-t 10 设置为10秒
ffmpeg -r 1 -f image2 -loop 1 -i 1.png  -t 10 out.mp4 -y

单张图片生成视频,通过滤镜完成

ffmpeg -i 1.png -filter_complex color=s=500x500:c=black,trim=0:5[vbg];[0:v]scale=500x500[sv];[vbg][sv]overlay[vout] -map [vout] -y 1.mp4
ffmpeg -i 1.jpg -filter_complex color=s=720x1280:c=black[vbg];[0:v]scale=720x1280[sv];[vbg][sv]overlay[vout] -map [vout] -ss 0 -to 10 -y 1.mp4
ffmpeg 
-i 
1.png 
-filter_complex 
color=s=500x500:c=black,trim=0:5[vbg];
[0:v]scale=500x500[sv];
[vbg][sv]overlay[vout] 
-map 
[vout] 
-y 
1.mp4
  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值