知识改变命运,撸码使我快乐,2020继续游走在开源界

点赞再看,养成习惯

给我来个Star吧,点击了解下基于SpringBoot的组件化接口服务落地解决方案

推荐阅读

  • SpringBoot2.x 教程汇总

简介

Gifify是一款工具类的开源框架,可以将任何视频文件转换为优化的动画GIF。

  • GitHub:https://github.com/vvo/gifify

有些时候我们需要将视频转换为动画GIF图,可以更生动形象的描述我们想要说明的事物以及框架的使用方式,它对于程序员来说是一个不可或缺的工具之一。

环境支持

在安装Gifify之前首先我们需要先安装它所需要的运行环境:

  • Node.jsbrew install node
  • FFmpegbrew install ffmpeg
  • ImageMagickbrew install imagemagick
  • giflossybrew install giflossy

安装

可以通过npm直接安装Gifify,如下所示:

npm install -g gifify

命令行参数

下面是Gifify所支持的命令行参数列表。

➜  ~ gifify -h
Usage: gifify [options] [file]Options:-V, --version           output the version number--colors <n>            Number of colors, up to 255, defaults to 80 (default: 80)--compress <n>          Compression (quality) level, from 0 (no compression) to 100, defaults to 40 (default: 40)--from <position>       Start position, hh:mm:ss or seconds, defaults to 0--fps <n>               Frames Per Second, defaults to 10 (default: 10)-o, --output <file>     Output file, defaults to stdout--resize <W:H>          Resize output, use -1 when specifying only width or height. `350:100`, `400:-1`, `-1:200`--reverse               Reverses movie--speed <n>             Movie speed, defaults to 1 (default: 1)--subtitles <filepath>  Subtitle filepath to burn to the GIF--text <string>         Add some text at the bottom of the movie--to <position>         End position, hh:mm:ss or seconds, defaults to end of movie--no-loop               Will show every frame once without looping-h, --help              output usage information

视频转换为GIF

我使用Mac自带的屏幕录制软件QuickTime Player录制了一个测试视频,根据上面的命令行参数来看如果我们不做一些其他的自定义,只添加-o、--output输出的gif文件名即可,如下所示:

➜ gifify 屏幕录制2020-08-05\ 上午8.58.01.mov --output example.gif
Generating GIF, please wait...

当我们看到提示信息Generating GIF, please wait...时,说明已经开始转换了,因为视频文件的大小有差异,所以转换所需要的时间也所有不同。

自动创建的example.gif文件与转换的视频文件在同一目录下。

image

GIF截取

如果你只需要转换视频中的一个时间段,我们可以通过指定--from--to参数来配置,如下所示:

➜ gifify 屏幕录制2020-08-05\ 上午8.58.01.mov --output example.gif --from 00:00:10 --to 00:00:15

GIF压缩

Gifify默认压缩比例为40%,压缩后的Gif图可能会比较模糊,我们可以通过--compress参数来修改压缩比例,0表示无压缩,取值范围为0~100,如下所示:

➜ gifify 屏幕录制2020-08-05\ 上午8.58.01.mov --output example.gif --from 00:00:10 --to 00:00:12 --compress 0

总结

Gifify还有很多隐藏的功能,比如在GIF图片上添加文字描述,缩放视频比例,反转视频等功能,赶快去发掘它的隐藏功能吧。

作者个人 博客
使用开源框架 ApiBoot 助你成为Api接口服务架构师


http://www.taodudu.cc/news/show-4744083.html

相关文章:

  • 浅谈:canvas绘制图片,canvas转换图片灰度值。
  • python 将图片转换成像素画_Python 骚操作之图片转字符画
  • RT-Thread内核实现的思维导图——线程调度器
  • MQTT移植到stm32开发板——使用TencentOS tiny操作系统
  • 小狼毫配置
  • 小狼毫(Rime)配置生效原理
  • [小狼毫]安装,现成的拼音配置方案
  • nextcloud安装日历插件使用并设置导入导出和云端同步(安卓手机和ios手机)
  • 旧手机物联网_废旧的 Android 手机能拿来干什么有趣的事?
  • sqlalchemy.exc.ArgumentError: relationship 'tags' expects a class or a mapper argument (received:
  • note: This error originates from a subprocess, and is likely not a problem with pip.解决 python降版本tips
  • 【无法找到FeignClient的bean】 Consider defining a bean of type ‘xxx‘ in your configuration.
  • AS BottomNavigation does not have a NavController set
  • java调用tensorflow训练好的模型
  • html a标签跳转新页面的各种方式
  • 解决引用openssl静态库libcrypto.a和libssl.a出现undefined reference to错误的问题
  • python统计字母a的个数_32个经典Python小例子测测你的基础知识(11-20)
  • 数学基础task06 一元函数积分学的概念与计算
  • 机器学习基础——生成模型和判别模型
  • [CS229学习笔记] 5.判别学习算法与生成学习算法,高斯判别分析,朴素贝叶斯,垃圾邮件分类,拉普拉斯平滑
  • 07_数据降维,降维算法,主成分分析PCA,NMF,线性判别分析LDA
  • 【算法】狄利克雷过程 (Dirichlet过程)
  • android耳机音量与外放音量同步
  • Android音频播放模式切换-外放、听筒、耳机
  • android安卓切换音频声道-耳机-外放-蓝牙-实用功能系列
  • Android SoundPool插入耳机后依然有外放声音
  • 联想硬盘保护系统从6.5升级到7.6 过程概要
  • Undefined control sequence. \begin{document}
  • Expected a string but was BEGIN_OBJECT at line 1 column 2 path $
  • Oracle BEGIN END 【整理】

无意间发现一个好用的视频转换gif图片的开源框架相关推荐

  1. 【我的Android进阶之旅】推荐一款视频转换GIF图片格式的转换工具(Video to GIF)...

    一.背景 最近想把一些Android Demo的运行效果图获取下来,但是一直使用真机进行调试,在电脑上不好截取一段gif动画.而之前使用模拟器的时候可以使用 GifCam 工具进行屏幕动画截取.Gif ...

  2. 怎样将手机视频转换成图片?手机怎么把视频做成gif动图?

    怎样将手机视频转换成图片?一般在需要将视频转换成gif格式的图片时,需要在电脑上使用专业的视频处理软件进行操作,但是现在有很多视频素材是从手机上保存的,如果需要从手机上把视频转gif应该怎么操作呢?今 ...

  3. 【我的Android进阶之旅】推荐一款视频转换GIF图片格式的转换工具(Video to GIF)

    一.背景 最近想把一些Android Demo的运行效果图获取下来,但是一直使用真机进行调试,在电脑上不好截取一段gif动画.而之前使用模拟器的时候可以使用 GifCam 工具进行屏幕动画截取.Gif ...

  4. 暴风转码转超清文件_qlv文件怎么转换成mp4?三个办法会一个就不愁视频转换啦...

    在我们日常娱乐和日常工作中,有时间会观看并下载一些视频.腾讯视频QLV格式,只能用腾讯独有的腾讯视频软件才能播放.那我们有什么办法可以将这QLV格式转换成我们通常用的视频格式呢,如MP4格式呢.那怎么 ...

  5. 发现一个好用的视频下载器(浏览器插件)Cococut

    这个下载器强力在能"强力"下载视频流 官方简介: 最佳视频下载器edge扩展程序,可快速轻松地下载edge中的视频或音频.使用此视频下载器,您可以从数千个网站下载任何视频.它可以下 ...

  6. Android视频转换GIF图片Bitmap转GIF

    仿Iphone拍摄动态GIF图的实现思路同此:1秒内连拍多张图片(Bitmap),将图片的集合按如下方式制作GIF图片 实现原理: 1.读取视频文件,将视频文件解析为Bitmap序列 2.将Bitma ...

  7. 自己实现的一个多层RecyclerView进行嵌套并吸顶的开源框架

    项目中有时候会让一个界面出现多个RecyclerView来进行嵌套的情况,如淘宝,京东首页的界面. 当我们自己的应用的页面和淘宝.京东首页效果类似,上面为配置数据,中间是各种分类频道,下面是商品流数据 ...

  8. 基于网络视频聊天语音通话的开源框架

     基于网络视频聊天语音通话 比较齐全的sip voip介绍 (各种协议,开源服务器) http://www.voip-info.org/ http://www.voip-info.org/wiki ...

  9. 发现一个有趣的漫画网站

    小白漫画 最近在浏览漫画的时候,无意间发现一个使用开源系统搭建的漫画网站,站长敲好是高中同学. 我询问他为什么想做开源漫画网站,他说是纯粹兴趣. 我们讨论了如何给网站做 seo! 不过我对这方面也是小 ...

最新文章

  1. 【前沿科技】看完这篇文章前,你绝对想象不到欧美航空机器人竟然发展到这个程度了!...
  2. JSR-303校验类型
  3. MySQL中间件之ProxySQL(11):链式规则( flagIN 和 flagOUT )
  4. fisher判别_经典模式识别:Fisher线性判别
  5. python标准输入输出用来干什么_python 以标准输出(sys.stdout)为例,看python的标准输入、标准错误输出...
  6. Javascript 常见使用误区
  7. vbs 连oracle 负载均衡,(原)QTP中用VBS调用PLSQL并执行相关语句
  8. Unity3D与JSP TomCatserver传递数据和文件( 二 ) Unity3D向java传输表单
  9. Java8 Stream + +很不错的文章集合
  10. HTML5 的输入类型(input type)
  11. matlab 函数取整函数,MATLAB取整函数
  12. 西电软件工程概论复习笔记(含重点标注)
  13. CATIA软件常见问题解答
  14. 服务器搬迁需要注意的几个地方
  15. sklearn-线性回归
  16. linux中tmp文件在哪,tmp是什么文件(了解linux系统目录,sys,tmp,usr,var)
  17. Linux常用指令<三>
  18. android实现 桌面移动悬浮窗口实现
  19. BZOJ4379[POI2015] Modernizacja autostrady
  20. 常用软件性能测试工具

热门文章

  1. python字符串去重及排序 牛客_2018牛客多校第一场 D.Two Graphs
  2. MySQL第二讲 - 数据表简单操作 与 “增删查改的开头部分- 增”- 细节狂魔
  3. linux 技能包【5】:时间同步 chrony
  4. 阴阳师最新的服务器,阴阳师跨区服务器大全 集结之境新增跨区服务器汇总详解...
  5. TraceId 搭配 ELK ,碉堡了!
  6. html5动画变形效果,碉堡了,基于HTML5 WebGL的图像扭曲变形动画开源特效
  7. MediaPlayer播放异常问题
  8. 虚拟直播(虚拟场景直播)要怎么做?
  9. 基于android的餐厅智能点餐
  10. Ubuntu16.04搭建OpenGrok环境