大家经常在新浪微薄、QQ、facebook、twitter 中看到有趣的 GIF 动图吧,GIF 文件比视频小、比静态 JPG 图片形像生动,非常适于互联网上的搞笑帖子、产品展示和功能步骤演示,所以此小教程将教大家如何在 Ubuntu 16.04 LTS 桌面系统中制作、转换 GIF 效果图片。
其实并不难,只需一台安装 FFmpeg 的 Ubuntu 16.04 桌面端,再安装上 ImageMagick,工具就算备齐了(同样适用于其它 Linux 发行版)。
FFmpeg 是一款开源的音、视转换器,使用 FFmpeg 我们可以非常容易地转换和录制音视频文件,而 ImageMagick 是一款用于创建、编辑和合并位图图像的一款开源软件。
将视频转换为GIF
我们从简单的入手,先来看下如何将视频直接转换为 GIF 动图。如前如述,先安装 FFmpeg 和 ImageMagick(这两个工具 Ubuntu 官方源中就有,可以直接装):
apt install ffmpeg imagemagick
小提示:此前已经介绍过,Ubuntu 16.04 发布后,官方已经建议使用 apt 替换老的 apt-get 命令,Ubuntu 16.04 新特性和改进可以看之前的文章。
要将视频转换为 GIF 只使用到 ffmpeg 命令,格式如下:
ffmpeg -ss 00:00:20 -i input.mp4 -to 10 -r 10 -vf scale=200:-1 output.gif
- -ss 表示起始点
- -i 后面跟要操作的那个视频文件
- -to 表示文件的终止点
- -r 帧速率,可以增大这个值输出更画质更优的 GIF 文件
- -vf 图形筛选器,GIF 的缩放大小
参数大家可以根据自己的需要进行调整,执行完成后视频就成功转换成 GIF 了。
合并多个GIF文件
如果想将多个 GIF 合并成一个文件也非常简单,只需将要合并的文件存到同一文件夹当中,再执行如下命令即可:
convert -delay 120 -loop 0 *.gif output.gif
从JPG图片序列创建GIF动图
如果你有静态的 jpg 图片序列,在 Linux 中也可轻松生成动态 GIF,而不必动用到 Windows 中像 Photoshop 这样的神器。先将所有 JPG 放到同一文件夹,再在终端中执行如下命令即可:
convert -delay 120 -loop 0 *.jpg linux.gif
- -delay 120 表示 GIF 动画速度
- -loop 0 表示无限循环