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

文章目录

    一图胜千言

    有时候做 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 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式