(原) vhs 终端录像工具,顺便介绍ttyd

原创文章,请后转载,并注明出处。

vhs 是一个终端录像工具,将终端的命令及显示导出为gif/mp4/webm格式的文件。方便于你演示一些命令行的使用。

自带示例还是比较丰富。它依赖于 ttydffmpeg,一个是命令行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动画的(注意还有自定义的调色盘才行)