录屏与制作GIF

2020.2.22是2020年最多2的日子

Posted by 婷 on February 22, 2020 本文总阅读量

今天来简单写下如何录屏以及制作GIF的过程,防止日后忘记,到时候也可以回来翻翻看。

软件准备

录屏软件

录屏软件有很多,我选择的是kazam,这个软件在Ubuntu软件中心有,可以直接下载

1.png

或者命令行安装(个人觉得装软件命令行会稍微快点)

$ sudo apt-get install kazam

安装插件

要想制作GIF还需要安装两个工具:ffmpeg还有imagemagick。科普一波我在网上查到的资料。

FFmpeg 既是一款音视频编解码工具,同时也是一组音视频编解码开发套件,作为编解码开发套件,它为开发者提供了丰富的音视频的调用接口。

ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布,它遵守GPL许可协议,可以运行于大多数的操作系统,ImageMagick的大多数功能的使用都来源于命令行工具。

安装命令如下

$ sudo apt-get install ffmpeg
$ sudo apt-get install imagemagick

录制过程

打开kazam

在上方的任务栏可以实现录制的进程:开始暂停完成。一个按钮秒变导演。

2.png

点击左边任务栏的图标,也有很多选项供你选择。

3.png

在录制的时候你还可以选择是否包含光标,是否录入声音。同时下面还有一个延时录制的功能,可以说这个软件真的良心到爆炸了。

点击开始录制后,即可开始。

process.gif

录制结束后点击左边kazam的小图标,会弹出如下提示录制以结束的方框,点击继续

4.png

保存到你想要的路径

5.png

合成GIF

使用ffmpeg

接下来有个视频后就是来制作GIF啦

首先通过如下命令从视频中截取你要的部分

$ ffmpeg -t 保存时长 -ss 开始录制时间 -i 被截取的视频.mp4   你的GIF名字.gif

比如我现在想要在一个叫做try.mp4的音频中截取第3秒到第5秒这两秒内的内容来做成一个叫做try.gif的音频

$ ffmpeg -t 2 -ss 00:00:03 -i try.mp4 try.gif

6.png

合成结束之后就可以看到我们想要的GIF啦。

但是想稍微吐槽一下这个ffmpeg,出来的动图效果很渣,一方面是因为我用的是免费的图床,上传的文件大小是有限制的,而经过ffmpeg之后的几秒动图的文件大小竟然比原视屏文件还大,所以原GIF是被我狠狠的给压缩的了,另一方面是ffmpeg出来的原本的GIF就有噪点,导致看起来有种电视屏幕出现“雪花”的感觉。

使用imagemagick

如果我想控制GIF的快慢呢,比如下面是千与千寻的原片的一个正常速度的情景

init.gif

如果我想改变速度的话我可以使用下面这条命令

$convert -delay 1x帧数 -loop 0  原片段.gif 新的GIF动图名字.gif

这条命令其中的-delay选项是控制动态速度的,-loop 0表示动画无限次循环,如果是-loop N可以让动画循环N次。

现在试试改成一秒50帧之后的效果是怎样的

$convert -delay 1x50 -loop 0  init.gif  quick.gif

quicker.gif

再试试将帧数改为5(效果图出来的时候我还以为自己电脑卡了)

$convert -delay 1x5 -loop 0  init.gif  low.gif

22.gif