
所以,你们中的一些人会好奇怎样才能生成这样的动态gif图片。已经有各种各样专门用来生成动态gif图片的在线或离线工具。另一种选择是创建一副动态gif图片时关闭现有的视频剪辑。在这个教程中,我会描述在linux上如何将一段视频文件转换成一副动态gif图片。
作为一个更有用的例子,让我展示如何将一个youtube视频转换成一副动态gif图片。
<a target="_blank"></a>
下面的指令会解压出独立的视频帧,将它们保存为gif图片。确保使用诸如("out%04d.gif")的输出文件格式。这样,独立的帧就被合适地命名并保存。
例如,如果你想解压输入视频的视频帧,从第10秒开始,每5秒一帧,请运行下列命令。
在完成ffmpeg之后,你会看到一组创建出来的gif文件,它们被命名为"out[\d+].gif"。
下面这一步要合并单个的gif文件成一副动态gif图片。为此,你可以使用imagemagick。
在这个命令中,"-delay"是控制动态速度的选项。这个选项表示在显示下一帧画面前需要等待的秒数:帧数/每秒帧数 。"-loop 0"选项表示动画的无限次循环。如果你愿意,你可以指定"-loop n"让动画只重复n次。
例如,为了生成一副每秒20帧和循环无数次的动态gif图片,使用如下命令。
最后这一步(可选)是通过使用imagemagick的gif优化功能来减少生成的gif文件的大小。
使用下列命令去减少gif大小。
现在你已经准备好在你的社交网络上分享制作完成的gif图片。
享受技术带来的乐趣吧!:-)
原文发布时间为:2014-02-08
本文来自云栖社区合作伙伴“linux中国”