导读 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. 1036 Boys vs Girls (25)(25 point(s))

    problem This time you are asked to tell the difference between the lowest grade of all the male stud ...

  2. Shell 学习笔记之传递参数

    传递参数 设置权限 chmod +x file.sh 传递参数 ./file.sh parameter1 ... 特殊字符 $# 传递到脚本的参数个数 $* 以一个单字符串的形式显示所有向脚本传递的参 ...

  3. 安卓中WebKit的使用

    1.在安卓开发中,使用webkit显示网页 步骤: ①初始化一个webkit控件: ②获取webkit的WebSettings对象: ③设置javascript为enable ④为webkit设置&q ...

  4. 关于clipboard插件的使用问题

    概述: clipboard.js是一款轻量级的实现复制文本到剪贴板功能的JavaScript插件.通过该插件可以将输入框,文本域,DIV元素中的文本等文本内容复制到剪贴板中  clipboard.js ...

  5. 【scrapy】使用方法概要(三)(转)

    请初学者作为参考,不建议高手看这个浪费时间] 前两篇大概讲述了scrapy的安装及工作流程.这篇文章主要以一个实例来介绍scrapy的开发流程,本想以教程自带的dirbot作为例子,但感觉大家应该最先 ...

  6. Quartz实现动态定时任务

    一. 说明 由于最近工作要实现定时任务的执行,而且要求定时周期是不固定的,所以就用到了quartz来实现这个功能: spring3.1以下的版本必须使用quartz1.x系列,3.1以上的版本才支持q ...

  7. ZOJ3673:1729

    1729 is the natural number following 1728 and preceding 1730. It is also known as the Hardy-Ramanuja ...

  8. Redis的主从复制设置与安装

    1 验证redis的主从复制,将过程抓图 实验步骤 A.  安装Redis B.  启动Master Redis C.  创建redis-slave.conf配置文件 改动Redisport和打开sl ...

  9. MVC在基控制器中实现处理Session的逻辑

    当需要跨页面共享信息的时候,Session是首当其冲的选择,最典型的例子就是:在处理登录和购物车逻辑的时候需要用到Session.在MVC中,可以把处理Session的逻辑放在一个泛型基控制器中,但需 ...

  10. linux centos 系统php支持jpeg的安装方法

    linux php支持jpeg首先要安裝libjpeg,运行下面的命令: yum install libjpeg* libpng* freetype* gd* 耐心等待完成,重启(service ht ...