导读 FFmpeg 是一款开源的音、视转换器,使用 FFmpeg 我们可以非常容易地转换和录制音视频文件,而 ImageMagick 是一款用于创建、编辑和合并位图图像的一款开源软件。


大家经常在新浪微薄、QQ、facebook、twitter 中看到有趣的 GIF 动图吧,GIF 文件比视频小、比静态 JPG 图片形像生动,非常适于互联网上的搞笑帖子、产品展示和功能步骤演示,所以此小教程将教大家如何在 Ubuntu 16.04 LTS 桌面系统中制作、转换 GIF 效果图片。其实并不难,只需一台安装 FFmpeg 的 Ubuntu 16.04 桌面端,再安装上 ImageMagick,工具就算备齐了(同样适用于其它 Linux 发行版)。

将视频转换为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文件

如果想将多个 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 表示无限循环

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:https://www.linuxprobe.com/

如何在Ubuntu 16.04中创建GIF动图的更多相关文章

  1. 如何在Ubuntu 16.04上安装配置Redis

    如何在Ubuntu 16.04上安装配置Redis Redis是一个内存中的键值存储,以其灵活性,性能和广泛的语言支持而闻名.在本指南中,我们将演示如何在Ubuntu 16.04服务器上安装和配置Re ...

  2. 如何在Ubuntu 16.04上安装Apache Web服务器

    转载自:https://www.howtoing.com/how-to-install-the-apache-web-server-on-ubuntu-16-04 介绍 Apache HTTP服务器是 ...

  3. 如何在Ubuntu 16.04上安装Nginx

    原文链接https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-16-04 介绍 Nginx是世 ...

  4. 如何在Ubuntu 14.04中安装最新版Eclipse

    想必很多开发人员都知道,Ubuntu 软件源中提供的并不是最新版本的 Eclipse,本教程就教大家如何在 Ubuntu 14.04 中快速安装 Eclipse 官方发布的最新版本. 到目前为止,Ec ...

  5. 如何在Ubuntu 14.04中使用Samba共享文件

    Linux 下的文件共享利器 Samba 想必大家已经非常熟悉了,今天我们介绍下如何在Ubuntu 14.04中使用 Samba 共享网络文件.打印机和其它公共资源. 1.安装 Samba 和图形配置 ...

  6. 在 Ubuntu 16.04 中安装支持 CPU 和 GPU 的 Google TensorFlow 神经网络软件

    TensorFlow 是用于机器学习任务的开源软件.它的创建者 Google 希望提供一个强大的工具以帮助开发者探索和建立基于机器学习的应用,所以他们在去年作为开源项目发布了它.TensorFlow ...

  7. 转:如何在Ubuntu 14.04中安装最新版Eclipse

    想必很多开发人员都知道,Ubuntu 软件源中提供的并不是最新版本的 Eclipse,本教程就教大家如何在 Ubuntu 14.04 中快速安装 Eclipse 官方发布的最新版本. 到目前为止,Ec ...

  8. 如何在ubuntu 12.04 中安装经典的 GNOME桌面

    这次介绍的是如何在ubuntu 12.04 中安装经典的 GNOME桌面,默认的 Ubuntu 12.04 默认unity桌面,一些用户不喜欢 Unity 桌面,所以想找回昔日的经典Gnome桌面. ...

  9. 如何在Ubuntu 13.04中升级到 GNOME 3.8

    如何在Ubuntu 13.04中升级到 GNOME 3.8 添加 GNOME 3 PPA(Personal Package Archives) 在你进一步浏览之前,确认你正在运行的是Ubuntu 13 ...

随机推荐

  1. C++下的强制转换类型

    一.static_cast static_cast,静态类型转换.   下面,我举几个例子,大家就能清楚了. int main(int argc, char const *argv[]) { char ...

  2. C#管理windows服务

    .NET Framework中提供了现成的类库可以很方便的实现对windows服务的安装.卸载.启动.停止.获取运行状态等功能.这些类都在System.ServiceProcess命名空间下. 安装w ...

  3. poj 3164

    朱刘算法 步骤: 1.计算出每个点边权最小的边的权(如果除根以外有其他的点没有入边,则不存在最小树形图),并记下边的另一个端点(称其为这个点的前趋) 2.沿着每个点向上走,如果在走到根或环上的点之前, ...

  4. erlang资料

    http://www.cnblogs.com/--00/tag/Erlang/ http://blog.csdn.net/turingbooks/article/details/3247749 htt ...

  5. IIS服务中五种身份验证

    转载:http://os.51cto.com/art/201005/202380.htm 作为微软最经典的Web服务之一的IIS服务有大致上五种Web身份认证方法.身份认证时保障IIS服务安全的根本, ...

  6. hibernate一级缓存,二级缓存和查询缓存

    一级缓存 (必然存在)  session里共享缓存,伴随session的生命周期存在和消亡:   1. load查询实体支持一级缓存 2. get查询实体对象也支持 3. save保存的实体对象会缓存 ...

  7. 探秘C#中的yield关键字

    在"C#中,什么时候用yield return"中,我们了解到:使用yield return返回集合,不是一次性加载到内存中,而是客户端每调用一次就返回一个集合元素,是一种&quo ...

  8. Android实例剖析笔记(一)

    摘要:用实例讲解Andriod的开发过程 开卷语 俗话说,“熟读唐诗三百首,不会作诗也会吟”.最近收集了很多Android的示例代码,从这些代码的阅读和实验中学习到很多知识,从而产生写这个系列的打算, ...

  9. 算法:堆(Heap)

    背景 Heap 可以用来实现优先级队列,也可以用来做堆排序,本文简单的做个介绍. Heap 规则 是一个完全二叉树,隐含的意思是:他是平衡的.使用数组进行存储也是连续的. 给定的任意节点,该节点小于等 ...

  10. .NET:CLR via C#:Runtime Serialization

    Making a Type Serializable The SerializableAttribute custom attribute may be applied to reference ty ...