asciinema | 终端中的录像机

5 min read

今天无意中发现了一个很有趣的程序:asciinema

大家先来看看这么一个”视频“:

是不是看起来很像视频?实际上它并不是视频而是一堆字符 (不信的话可以按 F12 调 HTML 源码出来看 ,,Ծ‸Ծ,,)

这就是 asciinema,它可以将终端中的输入和输出录制 (记录) 下来,然后把它们像视频一样的播放出来。感觉好像跟录屏软件很像,但实际用起来差别还是蛮大的。

录屏软件 vs asciinema

与录屏软件相比,asciinema 有以下优点:

  • 录制体积小,加载速度快
    因为 asciinema 录制的并不是图像,而是一堆字符。录屏软件想要达到同样效果需要付出数倍于此的硬盘空间

  • 播放器尺寸自适应
    用录屏软件录出来的尺寸有多大,视频的尺寸就有多少,想要调节视频尺寸只有重新压制。而想要调节 asccicast 的尺寸只需要加一个 data-size 标签即可

  • 基本没有资源占用
    用录屏软件录过视频的小伙伴都知道,录屏时的资源开销是相当大的,专业的主播为了保证录制效果甚至需要使用录屏卡。而 asciinema 在录制时几乎没有资源占用

当然,asciinema 也不是完美的,就比如:

  • 使用范围十分有限,仅能在终端中使用。

最吸引我的是 asccicast 体积小的优点,这使得它特别适合用来做 demo 演示。

Usage

asciinema 的安装使用也很方便。

注册帐号

首先去 asciinema.org 注册一个帐号。asciinema.org 采用的是邮箱验证,无密码登录;无论注册还是登录都只需要填写邮箱,然后通过邮箱中的链接来注册 / 登录 (没收到邮件可以去垃圾邮件中找找)

Login in

asciinema.org 会托管你录制的”视频“,方便插入到别的网站或者 README 中。

安装

asciinema 支持 Linux、Windows (WSL)、macOS 等主流平台,一般情况下你可以通过该平台的包管理器进行安装

GNU/Linux

Arch Linux 用户可以使用以下命令来安装:

pacman -S asciinema

Ubuntu 用户可以使用以下命令来安装:

(sudo) apt install asciinema

macOS

Mac 用户可以通过 homebrew 来安装:

brew install asciinema

Pip

如果你使用的包管理器没有收录 asciinema,你也可以通过 pip 来安装:

(sudo) pip3 install asciinema

更多信息请参考官方文档

使用 asciinema

录制 asccicast

想要录制 asccicast 只需要在终端中输入:

asciinema rec [filename]

然后在终端中输入你想要录制的内容。录制完成后使用 Ctrl D 或者 exit 退出录制。

播放 asccicast

录制完成后使用以下命令播放刚刚录制的成果:

asciinema play [filename]

播放 asccicast 时可以使用空格键来控制暂停与继续播放,使用 Ctrl C 来退出。

链接 asciinema.org

asciinema.org 注册好并登录好帐号后,在终端输入

asciinema auth

然后 asciinema 会给你一个链接

asciinema auth

使用浏览器打开它即可链接到你的账户上

asciinema auth

上传到 asciinema.org

链接好后使用以下命令将录制的 asccicast 上传到 asciinema.org

asciinema upload [filename]

更多使用方法请参考官方文档