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

标签: | 发表时间:2015-05-14 22:14 | 作者:happydeer
出处:http://blog.csdn.net/happydeer

前段时间写过 一篇文章,介绍了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。

作者:happydeer 发表于2015/5/14 22:14:44 原文链接
阅读:20 评论:0 查看评论

相关 [ffmpeg 视频 片段] 推荐:

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

- - 呦呦鹿鸣
前段时间写过 一篇文章,介绍了FFmpeg的几个常用的命令行. 最近,项目里需要做一个把视频片段转成GIF动画的功能,便于用户分享到微博. 惊奇地发现,原来强大的FFmpeg是支持的. 可以简单地执行下面的命令行:. 意思是:将D:\Media目录下的源文件bear.wmv,从第25秒的位置开始,截取10秒长度的视频转成GIF文件,保存为D:\a.gif.

ffmpeg裁剪合并视频

- - inJava
这里裁剪是指时间轴裁剪,不是空间裁剪. 比如说,你想把视频的从一分20秒开始,30秒的视频裁剪出来,保存成一个视频. ffmpeg提供简单的命令参数:. -ss 开始时间,如: 00:00:20,表示从20秒开始;. -t 时长,如: 00:00:10,表示截取10秒长的视频;. -i 输入,后面是空格,紧跟着就是输入视频文件;.

ffmpeg 视频转码例子集合

- - 开源软件 - ITeye博客
-muxrate 复用码率,设置之后整体码率模式才是CBR. -c:v mpeg2video MPEG2视频编码. -flags ildct+ilme 隔行扫描. -top 隔行扫描前场/后场优先模式 ,1是前场(顶场),0是后场(底场). -streamid 设置视频、音频PID,0视频,1音频.

ffmpeg 录制udp电视信号,视频文件

- - 开源软件 - ITeye博客
ffmpeg -i udp://@:6980  -map 0:p:254  -acodec copy -vcodec copy -sameq  254.ts -map 0:p:255  -acodec copy -vcodec copy -sameq   255.ts  -map 0:0 -map 0:0.

使用ffmpeg合并视频文件的三种方法

- - biAji HeRe
ffmpeg合并视频的方法有三种. 其实在ffmpeg的 FAQ文档中有比较详细的说明. 使用concat协议进行视频文件的合并. 这种方式的适用场景是:视频容器是MPEG-1, MPEG-2 PS或DV等可以直接进行合并的. 换句话说,其实可以直接用cat或者copy之类的命令来对视频直接进行合并.

利用ffmpeg和SDL实现一个跨android版本的音视频播放器

- - ITeye博客
绝对原创:转载请注明出处. 1:从 http://www.libsdl.org/tmp/下载SDL for android 版本(我下载的是 SDL-1.3.tar.gz ). 2:从 https://github.com/havlenapetr/FFMpeg下载 havlenapetr 的ffmpeg for android版本.

采用FFmpeg从视频中提取音频(声音)保存为mp3文件

- - 行业应用 - ITeye博客
采用FFmpeg从视频中提取音频(声音)保存为mp3文件. 采用FFmpeg从视频中提取音频(声音)保存为mp3文件. 作者:雨水,日期:2016年1月9日 CSDN博客:http://blog.csdn.net/gobitan. 摘要:看到好的视频文件,如果想把其中的音频(声音)提取出来. 网络上肯定有不少类似工具,但作为技术人员提到音视频处理,肯定会想到FFmpeg.

ffmpeg轉檔

- - SSORC.twSSORC.tw
ffmpeg 是一個命令列工具,用來對視訊檔案轉換格式. -i = 來源影片 (後面的參數先不接的話可以查看來源影片的詳細資訊,可供想要轉成什麼品質的參考). -vcodec = video code (如果要保留原格式就用 -vcodec copy). -acoder = audio code  (如果要保留原格式就用 -vcodec copy).

在Linux上将视频转换成动态gif图片 (附:ffmpeg和ImageMagick安装方法)

- - 操作系统 - ITeye博客
虽然曾经被认为是过时的艺术形式,但动态GIF图片现在复苏了. 如果你还没有留意到,不少在线分享和社交网络网站都开始支持动态GIF图片,例如, Tumblr, Flickr, Google+和 Facebook的部分地方. 由于在消费和共享上的容易,GIF的动画已经成为主流互联网文化的一部分了.

玩转 FFmpeg 的 7 个小技巧

- mk - OSMSG
FFmpeg堪称音频和视频应用程序的瑞士军刀,提供了丰富的选项和灵活性.很多时候用户为了看视频和听音乐都安装了ffmeg.更多关于ffmeg的详细介绍:here,可以通过ffmpeg -formats查看FFmpeg支持的视音频格式,左侧若是E表明可以编码,D表明可以解码. 本文着重介绍命令行下ffmeg的7个技巧:.