在很多技术官网里面主页可以看到有一个介绍自己产品的gif动图,就是使用终端录制
环境:Ubuntu18.04 LTS
下载软件:ttyrec imagemagick python-opster
jianglei@pro:~$ sudo apt-get install ttyrec imagemagick python-opster |
录制
开始录制终端操作,你需要的仅仅是键入 ttyprec ,然后回车。这个命令将会在后台运行一个实时的记录工具。我们可以通过键入exit或者ctrl+d来停止。ttyrec 默认会在主目录下创建一个ttyrecord的文件。
jianglei@pro:~/Desktop/gif$ ls -l |
回放这个文件非常简单。你只需要打开终端并且使用 ttyplay 命令打开 ttyrecord 文件即可。(在这个例子里,我们使用 ttyrecord 作为文件名,当然,你也可以改成你用的文件名)。
jianglei@pro:~/Desktop/gif$ ttyplay ttyrecord |
然后就可以开始播放这个文件。这个视频记录了所有的操作,包括你的删除,修改。这看起来像一个拥有自我意识的终端,但是这个命令执行的过程并不是只是为了给系统看,而是为了更好的展现给人。
注意一点,播放这个记录是完全可控的,你可以通过点击 + 或者 - 进行加速减速,或者 0和 1 暂停和恢复播放。
导出成gif
为了方便,我们通常会将视频记录转换为 gif 格式,并且,这个非常容易做到。以下是方法:
将之前下载的 tty2gif.py 这个文件拷贝到 ttyprecord 文件(或者你命名的那个视频文件)相同的目录,然后在这个目录下打开终端,输入命令:
jianglei@pro:~/Desktop/gif$ python tty2gif.py typing ttyrecord |
并且你将会看到在 ttyrecord 目录下多了一些 gif 文件。
jianglei@pro:~/Desktop/gif$ ls |
接下来的一步就是整合所有的 gif 文件,将他打包成一个 gif 文件。我们通过使用 imagemagick 工具。输入下列命令:
jianglei@pro:~/Desktop/gif$ convert -delay 25 -loop 0 *.gif example.gif |
你可以使用任意的文件名,我用的是 example.gif。 并且,你可以改变这个延时和循环时间。