最近在github中添加项目实现效果时需要用到gif图,在网上搜了一些工具和教程,会发现windows系统比ubuntu多很多,经过实际验证以下这种方法可以实现gif图的录制与制作,具体方法如下:

   1、命令行安装软件:

sudo apt-get install kazam

sudo apt-get install  mplayer

  2、使用 kazam 来录制视频:

   按一下键盘的 win 键(也就是一个windows的图标的键),入后输入 kazam,点击该软件,就可以通过它来录制视频了。该软件可以截图可以录制 mp4 格式的视频。

  3、将mp4格式转化为gif:

   这个过程分为两步:(1)将mp4格式转化为 jpg 格式的图片; (2)将生成的 jpg 格式的图片转化为 gif 格式的图片。

   1.1   在终端下切换到刚刚存放的mp4格式的地方,然后在该文件夹下创建一个tabs文件夹用以存放等下生成的 jpg 图片。

转换为jpg:  输入命令:

mplayer -ao null editor.mp4 -vo jpeg:outdir=./tabs

    上面命令大致意思是将刚刚生成的 editor.mp4 在 tabs文件夹中生成 jpg 图片。

     2.2 将tabs文件夹中的 jpg 格式的图片转化为 gif 格式的图片:

convert ./tabs/*.jpg editor.gif

      在当前目录下生成 editor.gif 。这时就已经是 gif 格式的图片了。

   这种方法可以实现gif图,但要经历 录制mp4格式视频 -> mp4格式视频转(十几张甚至更多)jpg格式图片 -> jpg格式图片转gif格式 。 可以看到这种方法虽然可以实现但是有些麻烦,以后遇到更好的方法会进行更新。

Ubuntu 录制视频并制作成gif图的更多相关文章

  1. Camtasia中对录制视频进行编辑——行为

    小视频的逐渐兴起,让我们的生活变得多姿多彩,同时,也造就了一批新媒体的创业者还有越来越多的网红,这不禁使我们也想加入他们的行列.但是问题来了,拍摄视频后最重要的是对视频进行剪辑,没有一款经济适用的软件 ...

  2. 使用ps将短视频制作成gif以进行展示遇到的问题

    前言 为了将我们完成的微信小程序小小易校园展示给没用过的用户进行宣传,我们选择将小程序的页面使用过程录屏并制作成GIF来进行展示.制作选择的工具经过初步尝试及对比,最终选择了Adobe Photosh ...

  3. 在Ubuntu上录制视频和编辑(很全)

    Linux多媒体三剑客:GIMP,Inkscape,Blender3D Blender基金会制作的开源微电影Sintel:http://www.sintel.org/about电影采用Creative ...

  4. 把UI图里的小图标制作成icon font

    一个交互比较多的UI图里面可能会有很多小图标,一般可用sprites图将多个小图标弄成一张大图,或者其它的办法,各种方法的比较可参见博主的另外一篇博客使用css3新属性clip-path制作小图标,本 ...

  5. 如何录制视频生成GIF动态图?

    前言 在分享文章时有些知识不好讲清,就打算用gif图来展示,可是在网上找了几个录视频的工具都要会员才可以生成gif动态图,很是郁闷,不过苦苦寻找后,发现LICEcap很好用,可以很方便的生成gif动态 ...

  6. 如何在Ubuntu 16.04中创建GIF动图

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

  7. bandicam如何录制视频

    我们一般都很熟悉这类软件:屏幕录制专家和kk录制等,这些都是国内比较优秀的作品.不过exe的封装格式以及录制的清晰度让人很纠结.所以这里要为大家分享的是一款韩国人写录制软件Bandicam.Bandi ...

  8. Android手机录制视频 实时传输(转载)

    最近调研android视频录制.另一部手机实时观看,大致有以下几种思路. 1. android手机充当服务器,使用NanoHTTPD充当服务器,另一部手机或者pc通过输入http://手机的ip:80 ...

  9. iOS 三种录制视频方式

    随着每一代 iPhone 处理能力和相机硬件配置的提高,使用它来捕获视频也变得更加有意思.它们小巧,轻便,低调,而且与专业摄像机之间的差距已经变得非常小,小到在某些情况下,iPhone 可以真正替代它 ...

随机推荐

  1. zzw原创_expdp及impdp中的exclude及include参数的那点事

    zzw原创:转载请注明出处 在oracle的expdp 及imdpd命令中,exclude及include参数还是有一些要注意的地方,特别是涉及选择性条件时. 一.通用 1.exclude及inclu ...

  2. 【转】vue中动态设置meta标签和title标签

    因为和原生的交互是需要h5这边来提供meta标签的来是来判断要不要显示分享按钮,所有就需要手动设置meta标签,标题和内容 //router内的设置 { path: '/teachers', name ...

  3. Python3 ElementTree.tostring()导致标签前辍变为ns0/ns1处理

    一.说明 python中我们经常借助xml.etree.ElementTree对xml进行处理,其中ElementTree.fromstring()将字符串格式化成et对象,ElementTree.t ...

  4. 简述Spring容器与SpringMVC的容器的联系与区别

    简述Spring容器与SpringMVC的容器的联系与区别 2017年07月04日 10:55:07 阅读数:6260 摘要: 在Spring整体框架的核心概念中,容器的核心思想是管理Bean的整个生 ...

  5. jquery attr方法获取input的checked属性问题

    1.通过prop方法获取checked属性,获取的checked返回值为boolean,选中为true,否则为flase <input type="checkbox" id= ...

  6. memory prefix inter,intra,intro,iso out 5

    1● inter 在~之间:相互   2● intra 3● iso 等 同   4● intro 向内,在内,内部  

  7. linux下如何添加一个用户并且让用户获得root权限 备用

    (2010-12-02 09:58:30) 转载▼ 标签: 帐号 权限 杂谈 分类: Linux 测试环境:CentOS 5.5 1.添加用户,首先用adduser命令添加一个普通用户,命令如下: # ...

  8. TCP_NODELAY算法使用事项

    当有一个TCP数据段不足MSS,比如要发送700Byte数据,MSS为1460Byte的情况.nagle算法会延迟这个数据段的发送,等待,直到有足够的数据填充成一个完整数据段.也许有人会问,这有什么影 ...

  9. 【资料收集】QT学习资料

    几个专栏 Qt学习之路(3):Hello, world!(续) - 豆子空间 - 51CTO技术博客 http://devbean.blog.51cto.com/448512/194137 Qt 学习 ...

  10. X86汇编语言实现的贪吃蛇游戏

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...