mkcast 记录键盘输入并生成 GIF 录屏

更新日期: 2018-12-04 阅读次数: 10151 分类: Linux

一图胜千言

有时候做 demo,使用视频演示最直观不过了,但是视频文件太大,并且不方便将对应的按键显示到屏幕上。

mkcast 完美的解决了这个问题

  • 生成 GIF 录屏
  • 显示按键到屏幕上

mkcast demo

下载 mkcast 并安装

git clone https://github.com/KeyboardFire/mkcast.git
cd mkcast
# 安装依赖
sudo apt-get install wmctrl byzanz -y
sudo ./setup.sh

开始录屏,执行

mkcast Terminal 10 -o out.gif

参数说明

  • Terminal 是对应的终端 title
  • 10 是录屏的时长, 到时间后自动结束录屏,并 kill 掉 screenkey 进程
  • -o 是指定输出文件名

但是在我的 Ubuntu 14.10 上默认没有显示按键到屏幕上,看了一下 mkcast 的代码 (就是一段 bash shell), 发现 screenkey 并没有启动成功。

折中方案是,手动启动 screenkey, 等待一段时间后, screenkey 启动成功(伴随着一段莫名奇妙的错误信息),再运行 mkcast

/home/zhongwei/work/mkcast/screenkey/screenkey

Error creating proxy: Error calling StartServiceByName for org.gtk.vfs.Daemon: Timeout was reached (g-io-error-quark, 24)

(screenkey:25850): GVFS-CRITICAL **: fill_mountable_info: assertion 'proxy != NULL' failed

体验太差了。。。有空排查一下问题,再完善一下 mkcast 的脚本

不过 mkcast 的脚本写的还是专业,后面那段干掉 screenkey 的实现愣是没看懂。

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式