今天来简单写下如何录屏以及制作GIF的过程,防止日后忘记,到时候也可以回来翻翻看。
软件准备
录屏软件
录屏软件有很多,我选择的是kazam
,这个软件在Ubuntu软件中心
有,可以直接下载
或者命令行安装(个人觉得装软件命令行会稍微快点)
$ sudo apt-get install kazam
安装插件
要想制作GIF
还需要安装两个工具:ffmpeg
还有imagemagick
。科普一波我在网上查到的资料。
FFmpeg 既是一款音视频编解码工具,同时也是一组音视频编解码开发套件,作为编解码开发套件,它为开发者提供了丰富的音视频的调用接口。
ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布,它遵守GPL许可协议,可以运行于大多数的操作系统,ImageMagick的大多数功能的使用都来源于命令行工具。
安装命令如下
$ sudo apt-get install ffmpeg
$ sudo apt-get install imagemagick
录制过程
打开kazam
。
在上方的任务栏可以实现录制的进程:开始
,暂停
,完成
。一个按钮秒变导演。
点击左边任务栏的图标,也有很多选项供你选择。
在录制的时候你还可以选择是否包含光标,是否录入声音。同时下面还有一个延时录制的功能,可以说这个软件真的良心到爆炸了。
点击开始录制
后,即可开始。
录制结束后点击左边kazam
的小图标,会弹出如下提示录制以结束
的方框,点击继续
保存到你想要的路径
合成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
合成结束之后就可以看到我们想要的GIF啦。
但是想稍微吐槽一下这个ffmpeg
,出来的动图效果很渣,一方面是因为我用的是免费的图床,上传的文件大小是有限制的,而经过ffmpeg
之后的几秒动图的文件大小竟然比原视屏文件还大,所以原GIF是被我狠狠的给压缩的了,另一方面是ffmpeg
出来的原本的GIF就有噪点,导致看起来有种电视屏幕出现“雪花”的感觉。
使用imagemagick
如果我想控制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
再试试将帧数改为5(效果图出来的时候我还以为自己电脑卡了)
$convert -delay 1x5 -loop 0 init.gif low.gif