FFmpeg续篇:截取视频片段转成GIF动画

前段时间写过一篇文章,介绍了FFmpeg的几个常用的命令行。最近,项目里需要做一个把视频片段转成GIF动画的功能,便于用户分享到微博。惊奇地发现,原来强大的FFmpeg是支持的!

可以简单地执行下面的命令行:

ffmpeg -ss 25 -t 10 -i D:\Media\bear.wmv -f gif D:\a.gif

意思是:D:\Media目录下的源文件bear.wmv,从第25秒的位置开始,截取10秒长度的视频转成GIF文件,保存为D:\a.gif

想要知道FFmpeg到底支持哪些格式吗?执行ffmpeg –formats即可。发现gif赫然在列,放心了!

问题来了,你的源文件可能是1080P的高清视频,帧率可能还比较高。为了便于网络分享,GIF文件最好小一点。于是,我们需要使用-s参数来进行图像的缩放,使用-r参数来限制目标文件的帧率。命令行如下:

ffmpeg -ss 25 -t 10 -i D:\Media\bear.wmv -s 320x240 -f gif -r 1 D:\b.gif

把b.gif拖进浏览器预览,结果发现:虽然帧率降到了1 fps(从源视频里每隔一秒抽取一帧图像输出到目标文件),整个动画播放还是持续了10秒钟,看着很揪心!能不能在源视频跳帧的情况下同时提高GIF的播放速率呢(比如说在2秒内播完)?查了一遍FFmpeg的说明文档,似乎没有哪个参数可以快速达到这样的目的。也罢,那就分两步走吧:

首先,执行ffmpeg -ss 25 -t 10 -i D:\Media\bear.wmv -r 1 -s 320x240 -f image2 D:\foo-%03d.jpeg,从源视频中每秒钟抽取一帧图像,保存为一系列JPEG文件。然后,再执行ffmpeg -f image2 -framerate 5 -i D:\foo-%03d.jpeg D:\c.gif,将这一系列JPEG图像合成为帧率5 fps的GIF文件。Bingo!

上面提到,把GIF文件拖进浏览器可以进行预览。当然,使用ffplay.exe工具也是可以的——命令行:ffplay D:\a.gif

 

 

p.s. 附送一条指令:截取视频内任意时间点(比如第16.1秒处)的一帧图像保存为JPEG文件:ffmpeg -ss 16.1 -i D:\Media\bear.wmv -s 320x240 -vframes 1 -f image2 D:\d.jpeg

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
☆ATA☆搜集\绿化\汉化\整理☆2010☆ EASY GIF Animator V5.1.0.44 绿色旗舰汉化版 软件名称: EASY GIF Animator 软件版本: V5.1.0.44 软件大小: 3.92 MB 软件类别: 国外软件/动画制做/编辑工具 运行环境: Windows 2000/2003/XP/Vista/7 官方网站: www.blumentals.net/egifan 软件语言: 英文->简体中文 汉化作者: ATA 推荐程度: ★★★★☆ ============== 注册信息: 2010 ============== 【软件简介】[好用的 GIF 动画制作软件] EASY GIF Animator 是十分容易使用的创建和编辑 GIF 动画图像工具. 01,容易的创建动画标识;图片和按钮... 02,贴心的向导帮助... 03.支持 GIF 图像特效 04,支持 GIF 动画特效 05,支持 GIF 文字特效(支持中文) 06,支持制作超绚中英文符号按钮 07,支持调用外部图像编辑器 08,支持管理动画图像画 09,支持其它图像转换为 GIF 动画 10,支持调色板编辑 GIF 动画颜色 11,支持在浏览器中预览 GIF 动画 12,支持翻转/旋转 GIF 动画任意部份 13,支持添加可视效果到你的 GIF 动画 14,支持设置动画循环数和画持续时间 15,支持输出 GIF 动画到 AVI 格式 16,支持生成 GIF 动画到 HTML 代码 17,支持输出 GIF 动画到 Flash 格式 18,支持 GIF, JPG, BMP 和 PNG 等众多流行的图像格式. 19,支持任意在线搜索众多五花八门的图片... 20,更多...... →★已知问题: 暂时没有发现问题. →★方便/小硬盘/U盘/的用户/固定/移动/使用! →★绿色文件,解压任意文件夹即可使用。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值