在Linux上将视频转换成动态gif图片

虽然曾经被认为是过时的艺术形式,但动态GIF图片现在复苏了。如果你还没有留意到,不少在线分享和社交网络网站都开始支持动态GIF图片,例如,TumblrFlickrGoogle+Facebook的部分地方。由于在消费和共享上的容易,GIF的动画已经成为主流互联网文化的一部分了。

所以,你们中的一些人会好奇怎样才能生成这样的动态GIF图片。已经有各种各样专门用来生成动态GIF图片的在线或离线工具。另一种选择是创建一副动态GIF图片时关闭现有的视频剪辑。在这个教程中,我会描述在Linux上如何将一段视频文件转换成一副动态GIF图片。

作为一个更有用的例子,让我展示如何将一个YouTube视频转换成一副动态GIF图片。

第一步:下载YouTube视频

首先,下载一个你想要转换的YouTube视频。你可以使用youtube-dl这个工具将YouTube视频保存为MP4文件。假设你把你最爱的YouTube视频保存为"funny.mp4"。(译注:对于墙内的同学,请无视YT吧,自行去好人楼主那里寻找一个MP4吧,;-})

第二步:从视频中解压视频帧

接下来,在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

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图片。 

享受技术带来的乐趣吧!:-)

 原文发布时间为:2014-02-08

本文来自合作伙伴“Linux中国”

时间: 2024-08-30 17:09:12

在Linux上将视频转换成动态gif图片的相关文章

视频转换成H264格式图文教程

H.264是MPEG-4标准所定义的最新格式,同时也是技术含量最高.代表最新技术水平的视频编码格式之一,有的也称(AVC). 使用软件MediaCoder可以将视频转换成H264视频格式,它是一个免费的软件,你可以先到百度搜索下载. 启动MediaCoder,主界面如下图所示,请在主界面中,点击左上角的"+"号选择要转换的视频,然后,请参考下图中红色标出的视频配置进行设置: 在上图中,我们将视频格式设置为H.264.二次编码.编码器使用x264.规格为Baseline等,这些设置是根据

下载工具-有没有视频转换成图片的软件

问题描述 有没有视频转换成图片的软件 我想要视频里人物的照片,有没有可以转换的下载软件,最好是图片包的,求大神帮帮忙,谢谢! 解决方案 可以用premiere 参考:http://zhidao.baidu.com/question/559523639639640604.html 如果你不需要很多帧,也可以直接截图然后保存. 解决方案二: 图片包是什么概念? 直接抓图是最简答的方法,也可以通过视频抓取连续帧,然后选择最理想的. 解决方案三: 若单纯只要图片直接截图就可以啦 解决方案四: 直接截图然

photoshop截取视频制作成动态海报制作教程

给各位photoshop软件的使用者们来详细的解析分享一下截取视频制作成动态海报的制作教程. 教程分享:     第一步,制作工具,迅雷影音和PS.(能拿到GIF的软件有很多这里就不过多介绍了) 一张动态海报主要由GIF和文案(动.静态文案)组成.迅雷影音生成GIF,PS加文案.特效. 适当的修改些细节. 第二步(得到GIF),选择自己喜欢的视频用迅雷影音打开 右击画面会出现对话框先隐藏字幕然 后选择GIF截取出现下面的对话框.   这些属性都很简单,稍微尝试下就能拿到自己满意的GIF. 第三步

net c#-用c# 怎么实现图片格式转换 (主要是转换成Ico格式图片)

问题描述 用c# 怎么实现图片格式转换 (主要是转换成Ico格式图片) 通过:savePic.Save(FileName ,System.Drawing.Imaging.ImageFormat.Icon) 转换成共后的图片不能使用 而通过下面的方法 转换后的图片虽然可以用但是明显发生了变化 private void ZhuangHuan(string sourcePath,string desPath) { using(Bitmap bitmap=new Bitmap(sourcePath))

linux shell txt转换成html的实现代码_linux shell

原理: awk命令,分割格式化的txt(txt文件格式以"|"分割开的)成数组,然后拼接成html格式(html - head - title - body - table) shell源码 # !/bin/sh file_input='txt.log' file_output='txt2html.html' td_str='' function create_html_head(){ echo -e "<html> <body> <h1>

视频文件如何转换成GIF格式图片

1.把视频转换动态图片时我们需用到工具"抠抠视频秀"了,我们先百度去搜索一款"抠抠视频秀"软件吧. 2.然后我们点击抠抠视频秀 打开,然后在界面中我找到"更多"-->"抓取视频的频率"---"15帧/秒" 这里秒数越大也就越真实了并且文件也就越大了. 3.好了现在我们再点击"更多"-->"生成GIF文件的帧频"----"选这15帧/秒"

怎么用格式工厂把视频转换成mp3

  第一步:下载格式工厂软件安装后,打开. 第二步:将所要转换的CD光盘放在光驱内. 第三步:出现下图界面后,可能文件进行选择,一般转换整张光盘无需选择,但要注意输出配置里要选成MP3.然后点右上角的转换按钮. 第四步:点击转换后,出现对话框窗口后,再点选项,进行转换后的件存储位置设置. 第五步:设置完存储位置后,点选项左边的开始按钮进行转换.

怎么获取一个文件的图标,并转换成这个图标图片的 base64 字符串?

问题描述 查到以下函数:ExtractIcon:https://msdn.microsoft.com/en-us/library/ms648068(v=vs.85).aspxExtractAssociatedIcon:https://msdn.microsoft.com/en-us/library/ms648067(v=vs.85).aspxLoadImage:https://msdn.microsoft.com/en-us/library/ms648045(v=vs.85).aspx 解决方案

Linux不用使用软件把纯文本文档转换成PDF文件的方法

  现在有很多软件能够将文本文件转换成PDF文件,其实在Linux系统中,不用使用软件也能将文本文本转换成PDF,只需轻松两步,下面小编就给大家介绍下Linux将文本文件转换成PDF文件的方法. 问题:我想要将一个纯文本文件转换成PDF文档.在Linux命令行下是否有一个简单的方法将文本文件转换成PDF文件? 当你有一大堆文本文件要维护的时候,把它们转换成PDF文档会好一些.比如,PDF更适合打印,因为PDF文档有预定义布局.除此之外,还可以减少文档被意外修改的风险. 要将文本文件转换成PDF格