x-cmd pkg | vhs - 将终端的操作过程录制成视频文件的终端录制工具

简介

vhs 是一个命令行录制工具,用于将终端的操作过程录制成视频文件。是由 Charmbracelet 团队使用 Go 开发的,首个版本发布于 2022 年 10 月。开源不到一个月有接近 8k 的 star。

比起其他的终端录制应用,vhs能在如此短的时间内获取大量star的原因是其提供了一种声明式录制脚本的功能,您可以编写自己的录制脚本,脚本可以自动在模拟终端输入与录制,无需与终端交互。搭配 github action 使用可以定时自动录制和更新,应用于集成测试和演示 CLI 工具。

注意 :vhs 依赖 ttyd 和 ffmepg,使用前请确保已正确安装 ttyd 和 ffmepg (使用x vhs会帮您把 ttyd 和 ffmepg 一并下载与安装)。

首次用户

  1. 使用 x vhs 即可自动下载并使用

    • 在终端运行 eval "$(curl https://get.x-cmd.com)" 即可完成 x 命令安装, 详情参考 x-cmd 官网
  2. x-cmd 提供1分钟教程,其中包含了 vhs 命令常用功能的 demo 示例,可以帮你快速上手 vhs 。

  3. 使用案例:

sh 复制代码
# 以 tape 格式记录终端操作
x vhs record

# 创建新的 tape 文件(默认内容为官方 'Welcome to VHS!' 示例)
x vhs new new_file.tape

# 由录制脚本(tape 文件)生成 gif 文件
x vhs new_file.tape

声明式录制脚本

vhs 提供模声明式录制脚本。录制 vhs 会自动编写录制脚本,脚本就可以根据生成的内容在模拟终端中模拟按键输入,实现自动录制。具体可以阅读vhs

其他功能

  1. 记录终端操作:支持录制您的终端操作并以此生成磁带文件,同时支持手动编辑生成的磁带文件以添加设置或修改操作。
  2. 支持发布内容:允许用户将由磁带文件生成的 GIF 文件发布到 VHS 的服务器中,以便与朋友或同事进行共享。
  3. 内置 SSH 服务器:允许用户通过远程访问托管的 VHS ,且无需在本地计算机上安装相关命令和应用程序。
  4. 可调整的参数: 字体大小, 字体系列, 打字速度,字体间距,终端长宽高,不同类型的 shell
  5. 模拟按键: 声明式录制脚本内有不同的字段来模拟按键输入,type 字段是模拟终端打字,Backspace字段是模拟按退格键等。

竞品和相关作品

  1. asiinema: 社区活跃,有丰富的插件和配套的应用
  2. termsvg: 命令简单易上手,适合初次接触命令行的用户, 输入x termsvg即可使用
  3. TermRecord: 一款 python 写的终端录制工具
  4. showterm: 一款 ruby 写的终端录制工具,可用 gem 下载
  5. script:script 命令是操作 linux 系统的一部分,无需额外安装。

进一步阅读

  • Vhs 源代码 - Vhs 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 Vhs 和参与社区贡献。
相关推荐
Flynt6 小时前
HN 382分热文里的终端小技巧,我实测了一遍,git pickaxe 最值
git·命令行
liyinchi198816 小时前
微信小程序支付遇到“由于小程序违规,支付功能暂时无法使用” 解决办法
java·微信小程序·go
天天喝旺仔18 小时前
Go 泛型实战:从类型参数、约束到可复用泛型容器与函数
数据结构·算法·容器·go
gospace1 天前
【无标题】
go·gb28181·gowvp
我不会起名字3222 天前
一天一道算法题(35):电话号码的字母组合
java·数据结构·后端·python·leetcode·go·回溯
江湖十年2 天前
Go GOPROXY 兜底链的坑:从一次诡异的 CI lint 失败说起
后端·面试·go
databook2 天前
如何使用 Bash 进行数据清洗
数据分析·命令行
秋风点枝2 天前
gogogo!go语言感悟大观--打卡day01
go·devops
探索云原生3 天前
KubeClipper 1.7.0 发布:Operation 优化与 Kubernetes 1.37 支持
linux·docker·云原生·kubernetes·go
右耳朵猫AI3 天前
Go周刊2026W37 | Ebitengine 纯 Go 化、simd 重写 TurboPFor、json/v2 落地
后端·微服务·go