vhs 是一个终端录像工具,将终端的命令及显示导出为gif/mp4/webm格式的文件。方便于你演示一些命令行的使用。
自带示例还是比较丰富。它依赖于 ttyd 和 ffmpeg,一个是命令行Web共享工具,一个是大名顶顶的音视频处理工具。
关于它如何生成这三种文件,值得学习。
ttyd是个不错的工具,顺便简介一下:
ttyd bash 运行ttyd
ttyd -p 8000 -c admin:admin bash 指定用户名和密码才能进入
ttyd -p 8000 -B bash 自动打开浏览器
ttyd login SSH 终端
不过可惜没在termux下成功运行 ttyd /bin/bash,不知为何。
初步分析vhs代码来看,它通过ttyd运行命令行,并对显示和输入截图,然后通过ffmpeg将截图生成各个格式。
正好它用上了刚介绍完的Rod,一个DevTool协议控制工具。用它来截个图是足够了。
那么同样的,我们可以利用类似方法生成自己的演示功能:多次截图(每秒xx帧),然后生成gif/mp4/webm。
网上也有介绍ffmpeg把多个图片生成gif动画的(注意还有自定义的调色盘才行)