本文记录一下在linux上将视频转换成动态gif图片的方法。

首先,需要在Linux系统上安装FFmpeg,我会用这个工具去解压从视频中解压出视频帧。

下面的指令会解压出独立的视频帧,将它们保存为GIF图片。确保使用诸如("out%04d.gif")的输出文件格式。这样,独立的帧就被合适地命名并保存。

ffmpeg -t -ss -i out%04d.gif

例如,如果你想解压输入视频的视频帧,从第10秒开始,每5秒一帧,请运行下列命令。

$ ffmpeg -t 5 -ss 00:00:10 -i funny.mp4 out%04d.gif

在完成FFmpeg之后,你会看到一组创建出来的GIF文件,它们被命名为"out[\d+].gif"。

合并视频帧进一副动态GIF

下面这一步要合并单个的GIF文件成一副动态GIF图片。为此,你可以使用ImageMagick。

首先,如果你还没有的话,在Linux系统上安装ImageMagick。

Ubuntu 上直接运行 sudo  apt-get install imagemagick 命令即可自动安装。

convert -delay x -loop 0 out*gif

在这个命令中,"-delay"是控制动态速度的选项。这个选项表示在显示下一帧画面前需要等待的秒数:帧数/每秒帧数 。

"-loop 0"选项表示动画的无限次循环。如果你愿意,你可以指定"-loop N"让动画只重复N次。

例如,为了生成一副每秒20帧和循环无数次的动态GIF图片,使用如下命令。

$ convert -delay 1x20 -loop 0 out*.gif animation.gif

第四步(可选):减少动态GIF的大小

最后这一步(可选)是通过使用ImageMagick的GIF优化功能来减少生成的GIF文件的大小。

使用下列命令去减少GIF大小。

convert -layers Optimize animation.gif animation_small.gif

现在你已经准备好在你的社交网络上分享制作完成的GIF图片。

php实现视频转gif,在Linux上将视频转换成动态gif图片相关推荐

  1. 在Linux上将视频转换成动态gif图片 (附:ffmpeg和ImageMagick安装方法)

    虽然曾经被认为是过时的艺术形式,但动态GIF图片现在复苏了.如果你还没有留意到,不少在线分享和社交网络网站都开始支持动态GIF图片,例如,Tumblr,Flickr,Google+和Facebook的 ...

  2. php文件怎么改为mp3,[视频转音频软件]怎么把mp4转换成mp3音乐格式

    把mp4转换成mp3格式,很明显,mp4是视频格式,mp3是音频格式,视频转音频!还可以说成是提取视频中的音频或声音,其实这种需求在用户当中还是有一些的,比如需要提取某部电脑里面某段声音,去掉视频的画 ...

  3. 怎么在编辑器上将CAD转换成PDF格式后保存桌面?

    怎么在编辑器上将CAD转换成PDF格式后保存桌面?将CAD图纸文件进行格式转换成常见的PDF格式是在工作中经常需要进行操作的,那么我们在编辑器上面进行打开一张CAD图纸文件之后怎么将其转换成PDF格式 ...

  4. linux中html图标格式,如何在Linux上将HTML页面转化成png图片

    将一个特定页面抓取为一张png图片的最简单的方法是使用CutyCapt,这是一种在Linux下的方便地将HTML网页转化成矢量图形和位图图像格式的命令行工具(比如,SVG, PDF, PS, PNG, ...

  5. linux通过html显示图片,如何在Linux上将HTML页面转化成Png图片?

    将一个特定页面抓取为一张png图片的最简单的方法是使用CutyCapt,这是一种在Linux下的方便地将HTML网页转化成矢量图形和位图图像格式的命令行工具(比如,SVG, PDF, PS, PNG, ...

  6. php flv 转成 mp4,电脑视频转格式,flv动画怎么转换成mp4格式,怎么转换比较方便...

    前几天有个狸友向小编我反映,他说根据我们的教程下载了b站的视频,但是下载的视频格式是fLv格式的,他想要mp4格式的,于是他向我们咨询,如何才能转换成mp4格式的视频.这里小编我向大伙介绍一款很好用的 ...

  7. 怎样免费在电脑上将WPS转换成PDF格式

    相信大家如果是从事电脑办公工作的话,那么对于WPS和PDF这两种格式一定不陌生了,可能每天都还要处理到这几种格式.那么有个问题就来了,可能都知道PDF这种格式的文件安全性比较高,想要将WPS转换成PD ...

  8. 细说linux视频,Shell变量-细说linux配套视频

    变量基础概念 变量分类 环境变量:这种变量中主要保存的是和系统操作环境相关的数据. 位置参数变量:这种变量主要是用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是固定的. 预定义变量:是Ba ...

  9. linux内存转换成功,linux系统内存转换成硬盘使用

    解决问题点: 1:站点数据提速,数据放入内存空间,速度指数级提升: 2:数据库缓存: 3:临时数据处理: 4:等等... #查看系统内存 total        used        free   ...

最新文章

  1. php+tcpdf+表格,PHP中使用TCPDF生成PDF文档实例
  2. java基础系列:集合总结(7)
  3. python中单个和批量增加更新的mysql(没有则插入,有则更新)
  4. [scala-spark]9. RDD创建操作
  5. wxPython wx.ArtProvider 可直接调用的图标
  6. Java集合框架(一)
  7. 学习Java笔记(一)
  8. 阿里云mysql服务器太贵_阿里云数据库,跟自己在服务器安装的有什么区别?有人说安装很简单,那为什么要花钱买?...
  9. jQuery中position()与offset()区别
  10. javaweb基础----使用ajax校验用户名是否重复
  11. Linux内核--网络栈实现分析(一)--网络栈初始化
  12. 三星s10刷android原生,【极光ROM】-【三星S10E/S10/S10+ G97XX-9820】-【V12.0 Android-Q-TD1】...
  13. 手机短信/彩信接口开发经验介绍
  14. 数据结构——栈(链栈)
  15. 数学猜想验证步骤_猜想验证思想在数学教学中的应用
  16. 如何读取csv文件并将其转化为tsv文件
  17. HTML中背景透明有阴影,透明PNG在网页有阴影的解决方法
  18. 查看英伟达Nvidia显卡、cuda版本
  19. Windows AD域功能介绍、Windows AD域方案介绍
  20. Linux文件解hgc,Linux shell I/O重定向详解

热门文章

  1. css中border制作各种形状
  2. 控制元素的div属性
  3. height百分比失效
  4. git提交代码时报错:nothing added to commit but untracked files present
  5. maven编译的时候排除junit测试类
  6. npm git 遇到的问题解决笔记
  7. 根据location地址,在导航栏高亮显示当前页面
  8. SQLAlchemy 操作数据库
  9. java 对象的上转型对象(父类)
  10. C:打印菱形(自己的方法)