linux终端录屏工具asciinema并转为gif
转载:
本文链接:https://blog.csdn.net/u013019701/article/details/103065396
ubuntu/debian环境下
sudo apt-get install asciinema
对于程序员来说,有些时候需要分享下代码操作:
常规的录屏软件分享痛点:
- 录屏软件录制的视频存储大小很大,并且操作麻烦,录制效果还容易不清晰
- 通常需要额外的启动一个比较大的应用,系统资源占用大
而 asciinema 软件专注于命令行终端的录制效果,简直是终端录屏神器,这次碰到感觉有种相见恨晚的感觉。
具体如何的操作asciinema工具 ,就不赘述,可以参考GitHub地址说明。
asciinema/asciinema: Terminal session recorder 📹 熟悉各个命令行参数的用法。
痛点
虽然 asciinema 很棒,但是cast的格式,在编写Markdown的时候,并不是很通用。虽然官网提供了一些播放方案,但是终究不是很友好。
无奈…只能选择Gif这种,更加通用的形式。
解决方案
好在,网上已经有大神,提供了将cast这种文件格式,转换成gif的命令行工具。
asciinema/asciicast2gif: Generate GIF animations from asciicasts (asciinema recordings)
感兴趣的同学可以下载体验一番。
由于asciicast2gif 的安装依赖了不少的npm仓库,个人感觉配置起来不是特别的顺利,因此采用了易用性更高的Docker安装方式。
编写脚本实现自动化
希望能够在每次录制完终端命令后,自动的转换为gif文件。编写一个脚本,在录制之后,自动的利用asciicast2gif 工具转换成 gif 格式。
docker pull asciinema/asciicast2gif
#!/bin/bash
rec_date_time=$(date +%F_%H-%M-%S)
asciinema rec ${rec_date_time}.cast
# the next line only needed when you install asciicast2gif by docker
alias asciicast2gif='docker run --rm -v $PWD:/data asciinema/asciicast2gif -S 1'
asciicast2gif -S 1 ${rec_date_time}.cast ${rec_date_time}.gif
如果再傻瓜一点,就在 ‘~/.bashrc’ 文件中,增加一个别名rec来执行上面的这个bash脚本。
比如:alias rec='sh /opt/script/auto_rec_asciinema_to_gif.sh'
最终实现效果
只要在终端输入 rec 命令,就可以实现录屏和自动的gif图片转换能力。
2 条评论