clif
基于 JS+Web 的跨平台 CLI GIF 制作器。
如何使用
运行
$ clif out.gif
键入 exit 完成并保存录制内容。
特性
- 易于安装: npm install -g clif。
- 适用于OSX和Linux。
- 小GIF。
- 高品质(反锯齿字体)。
- 使用 CSS/JS 进行渲染,可定制。
- 实时并行渲染。
- 框架聚合和可自定义的 FPS。
- 支持标题为 Terminal.app-style。
工作原理
clif 主要建立在四个项目上:child_pty、term.js omggif和phantomjs。
child_pty 用来生成一个伪终端,我们可以从这个伪终端中捕获整个输入和输出。
捕捉到的每一帧画面都会被异步发送到 phantomjs 的无头浏览器,使用 term.js 和 screenshot 进行渲染。
用 omggif 对 GIF 进行合成,最后写入到文件系统中。
选项
用法:clif [options] <outfile> 选项: -h,--help 输出使用信息 -V,--version 输出版本号 -c,--cols <cols>术语[90] -r,--rows <rows>行[30] -s,--shell <shell> Shell使用[/bin/bash] -f,--fps <fps>每秒帧数[8] -q,--quality <q>画面质量1-30(1 =最佳|最慢)[5]
TODO
- 将顶端呈现的终端替换为 phantom node-canvas 或低级图形 API。 terminal.js 似乎是添加 <canvas> 适配器的好候选。
- 通过一些小的调整应该可以在 Windows 上工作。
致谢
- 受KeyboardFire 的 mkcast 启发。
- 从 sole 的 animated_GIF.js 中借用 GIF 调色板 neuquant 索引。
许可证
MIT
(The first version translated by vz on 2020.08.16)