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. 使用案例:

    vhs-1min-cn

    # 以 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 系统的一部分,无需额外安装。

进一步阅读

  • Github: Vhs

X-CMD 官网

  • x-cmd-pkg

  • x-cmd-1min

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/334062.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity中URP下开启和使用深度图

文章目录 前言一、在Unity中打开URP下的深度图二、在Shader中开启深度图1、使用不透明渲染队列才可以使用深度图2、半透明渲染队列深度图就会关闭 三、URP深度图 和 BRP深度图的区别四、在Shader中,使用深度图1、定义纹理和采样器2、在片元着色器对深度图采样并且输…

35岁程序员,坐标杭州,月薪3W,退休时能领多少钱?

35岁程序员,坐标杭州,月薪3W,退休时能领多少钱? 作为一个35岁的程序员,生活在繁华的杭州这座城市,每个月能够拿到3万元的薪水,是一种相对较高的收入水平。然而,随着时间的推移&…

SR3225SAA (RF发射器模块)

SR3225SAA是一个UHF范围的无线发射机模块。晶体谐振器、振荡器、锁相环和功率放大器集成在3.2 mm x 3.5 mm的陶瓷封装中。通过连接外部控制设备,可以配置无线传输功能。适用于小型无线发射机 SR3225SAA是一个UHF范围的无线发射机模块。符合AEC-Q100。晶体谐振器、振…

Unity | 渡鸦避难所-6 | 有限状态机控制角色行为逻辑

1 有限状态机简介 有限状态机(英语:finite-state machine,缩写:FSM),简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学计算模型 在游戏开发中应用有限状态机&#xff…

【算法设计与分析】网络流

目录 max-flow 和 min-cut流网络 Flow network最小割 Min-cut最大流 Max-flow Greedy algorithmFord–Fulkerson algorithm剩余网络 Residual networkFord–Fulkerson algorithm算法流程 最大流最小割理论 max-flow min-cut theorem容量扩展算法 capacity-scaling algorithm时间…

Unity C# 枚举多选

枚举多选 &#x1f96a;例子&#x1f354;判断 &#x1f96a;例子 [System.Flags]public enum TestEnum{ None 0,Rooms 1 << 1,Walls1<<2,Objects1<<3,Slabs 1 << 4,All Rooms|Walls|Objects|Slabs}&#x1f354;判断 TestEnum test TestEnum.R…

2023最后一份报告:「数」说我们的故事

2023年 我们与「AI」加「数」前行 见证了AI数智时代带来的新生动能 亲临了AI带给我们蓬勃向上的力量 这一年 我们在“AISocial Power”的 征途上一路高歌 1,932,874次用数据与用户连接 10,521全域声量提及 为1000头部品牌 提供社媒营销数智化服务 也在游戏、宠物、鞋服…

java数据结构与算法刷题-----LeetCode343. 整数拆分(TODO)

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 很多人觉得动态规划很难&#xff0c;但它就是固定套路而已。其实动态规划只…

TagTextView 行内标签TextView

效果 效果如下&#xff0c;可以解析xml中配置的drawableStart &#xff0c;然后将这个drawable显示在一行内。下一个开始。从这个drawable开始。 代码 MaxLengthTextView 是我另外一个自定义view MaxLengthTextView 如果内容超过xml中maxLength属性定义的文字数量时&#x…

数据治理实践 | 小文件治理

前言 感谢关注&#xff0c;可以关注B站同名&#xff1a;语兴呀或公众号语数获取资料。 小文件是数仓侧长期头痛问题&#xff0c;它们会占用过多的存储空间&#xff0c;影响查询性能。因此&#xff0c;我们需要采取一些措施来对小文件进行治理&#xff0c;以保证Hive的高效性和…

@DependsOn:解析 Spring 中的依赖关系之艺术

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 DependsOn&#xff1a;解析 Spring 中的依赖关系之艺术 前言简介基础用法高级用法在 XML 配置中使用 DependsOn通过 Java Config 配置实现依赖管理 生命周期与初始化顺序Bean 生命周期的关键阶段&…

自养号测评,打造速卖通爆款的正确方式

对于新卖家来说&#xff0c;积极进行产品测评并不可耻&#xff0c;而是一个明智之举。耗费过多时间却无法起步才算可耻&#xff0c;因为新店在速卖通几乎得不到任何活动支持&#xff0c;流量也相当有限。在最初的90天内完成60单交易对于新手来说是一项艰巨的任务&#xff0c;因…