关于 cli-anything-openscreen
用于通过命令行编辑屏幕录制视频的工具,面向制作演示视频的用户和 Agent。它支持时间线区域调整、项目与会话管理,并可生成预览包和渲染成片。
主要功能
- 01缩放、变速与剪辑区域
- 02裁剪画面并添加文字标注
- 03管理项目设置与会话历史
- 04捕获预览包并渲染视频
- 05支持 JSON 输出
适用场景
- 01为产品演示录屏添加缩放和标注
- 02剪除录制中的片段并调整播放速度
- 03预览编辑结果后导出成片
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anything-openscreen安装后在 Claude Code 中输入/cli-anything-openscreen确认已加载。
详细介绍
cli-anything-openscreen
一个用于编辑屏幕录制的有状态命令行界面。通过缩放效果、速度调整、裁剪、注释和精美背景,将原始录制内容转化为精致的演示视频。
安装
pip install cli-anything-openscreen
前置要求:
- Python 3.10+
- 系统中必须安装 ffmpeg
用法
基本命令
cli-anything-openscreen --help
cli-anything-openscreen # REPL mode
cli-anything-openscreen project new -v recording.mp4 -o project.openscreen
cli-anything-openscreen --json project info
REPL 模式
不带参数运行 cli-anything-openscreen 即可进入交互模式。
输入 help 查看可用命令,输入 quit 退出。
命令组
project
创建、打开、保存和配置项目。
| 命令 | 描述 |
|---|---|
project new [-v VIDEO] [-o PATH] | 创建新项目,可选视频 |
project open <path> | 打开现有的 .openscreen 项目 |
project save [-o PATH] | 将项目保存到文件 |
project info | 显示项目元数据和区域数量 |
project set-video <path> | 设置源视频文件 |
project set <key> <value> | 设置编辑器设置(padding、wallpaper 等) |
zoom
管理缩放区域——对特定时间线区域应用平滑缩放效果。
| 命令 | 描述 |
|---|---|
zoom list | 列出所有缩放区域 |
zoom add --start MS --end MS [--depth 1-6] [--focus-x 0-1] [--focus-y 0-1] | 添加缩放 |
zoom remove <id> | 移除缩放区域 |
缩放深度:1=1.25x,2=1.5x,3=1.8x,4=2.2x,5=3.5x,6=5.0x
speed
管理速度区域——加快空闲时间,减慢重要时刻。
| 命令 | 描述 |
|---|---|
speed list | 列出所有速度区域 |
speed add --start MS --end MS [--speed 0.25-2.0] | 添加速度变化 |
speed remove <id> | 移除速度区域 |
有效速度:0.25、0.5、0.75、1.25、1.5、1.75、2.0
trim
管理裁剪区域——剪掉录制中的部分片段。
| 命令 | 描述 |
|---|---|
trim list | 列出所有裁剪区域 |
trim add --start MS --end MS | 剪掉一个片段 |
trim remove <id> | 移除裁剪区域 |
crop
设置录制的可见区域。
| 命令 | 描述 |
|---|---|
crop get | 显示当前裁剪区域 |
crop set --x 0-1 --y 0-1 --width 0-1 --height 0-1 | 设置裁剪(归一化) |
annotation
向录制中添加文字叠加层。
| 命令 | 描述 |
|---|---|
annotation list | 列出所有注释 |
annotation add-text --start MS --end MS --text "..." [--x 0-1] [--y 0-1] | 添加文字 |
annotation remove <id> | 移除注释 |
media
检查并验证媒体文件。
| 命令 | 描述 |
|---|---|
media probe <path> | 显示视频元数据(分辨率、时长、编解码器) |
media check <path> | 验证视频文件 |
media thumbnail <input> <output> [-t TIME] | 提取一帧 |
export
渲染最终的精美视频。
| 命令 | 描述 |
|---|---|
export presets | 列出可用的导出预设 |
export render <output_path> | 将项目渲染为视频文件 |
preview
从当前 Openscreen 项目捕获可信的审阅包。
| 命令 | 描述 |
|---|---|
preview recipes | 列出可用的预览配方 |
preview capture --recipe quick | 渲染低分辨率预览包 |
preview latest [--recipe quick] | 返回最新的现有预览包 |
当前预览支持是静态的,而非实时的。一个 quick 预览包通常包含:
- 一段低分辨率预览片段
- 采样帧
- 一张用于快速检查的
hero帧 - 包含裁剪/缩放/速度事实的
summary.json
预览包捕获还会在预览根目录旁写入或更新一个稳定的配方级 trajectory.json,以便 Agent 能够随时间重建预览历史。
查看器命令:
cli-hub previews inspect /path/to/bundle
cli-hub previews html /path/to/bundle -o page.html
cli-hub previews open /path/to/bundle
session
使用撤销/重做管理会话状态。
| 命令 | 描述 |
|---|---|
session status | 显示会话信息 |
session undo | 撤销上次操作 |
session redo | 重做上次撤销的操作 |
session save | 将会话状态保存到磁盘 |
session list | 列出所有已保存的会话 |
状态管理
- 撤销/重做:最多 50 级撤销历史
- 项目持久化:JSON
.openscreen文件 - 会话跟踪:自动跟踪修改
输出格式
- 人类可读(默认):格式化的键值对
- 机器可读(
--json):结构化 JSON 输出
编辑器设置
| 设置 | 类型 | 默认值 | 描述 |
|---|---|---|---|
aspectRatio | string | "16:9" | 16:9, 9:16, 1:1, 4:3, 4:5 |
wallpaper | string | "gradient_dark" | 背景预设 |
padding | int | 50 | 0-100,视频周围的填充 |
borderRadius | int | 12 | 圆角半径(像素) |
shadowIntensity | float | 0 | 0-1,投影强度 |
motionBlurAmount | float | 0 | 0-1,缩放时的运动模糊 |
exportQuality | string | "good" | medium, good, source |
exportFormat | string | "mp4" | mp4, gif |
面向 AI Agent
- 始终使用
--json以获得可解析的输出 - 检查返回码 — 0 = 成功,非零 = 错误
- 在非 JSON 模式下从 stderr 解析错误消息
- 使用绝对文件路径
- 在
export render之后,验证输出是否存在并探测它 - 所有区域命令中的时间均以毫秒为单位
- 坐标(focus、crop、position)为归一化 0-1
- 使用
preview capture --json以可视化方式验证缩放、裁剪、注释和时序 - 从 JSON 负载中读取返回的 bundle 产物路径;图像和片段位于磁盘上
- 仅使用
cli-hub previews ...来检查/打开现有 bundle
版本
1.0.0
评论
支持 Markdown