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赫然在列,放心了app
问题来了,你的源文件多是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的说明文档,彷佛没有哪一个参数能够快速达到这样的目的。也罢,那就分两步走吧:.net
首先,执行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。3d
p.s. 附送一条指令:截取视频内任意时间点(好比第16.1秒处)的一帧图像保存为JPEG文件:ffmpeg -ss 16.1 -i D:\Media\bear.wmv -s 320x240 -vframes 1 -f image2 D:\d.jpegorm
在这里作一下记录,方便后面使用。视频
文章来自这位兄台的博客:https://blog.csdn.net/happydeer/article/details/45727227