cli-anything-openscreen 是做什么的?
一个有状态的命令行界面,用于编辑屏幕录制。将原始录屏转化为精美的演示视频,支持缩放效果、速度调整、裁剪、注释和美观的背景。
安装
pip install cli-anything-openscreen
前提条件:
- Python 3.10+
- 系统中必须安装 ffmpeg
用法
基本命令
cli-anything-openscreen --help
cli-anything-openscreen # REPL 模式
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> | 设置编辑器设置(内边距、壁纸等) |
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,以便代理能够随时间重建预览历史。
查看命令:
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 代理参考
- 始终使用
--json获取可解析输出 - 检查返回码——0 表示成功,非零表示错误
- 在非 JSON 模式下,从 stderr 解析错误信息
- 使用绝对文件路径
- 执行
export render后,验证输出文件存在并探测其信息 - 所有区域命令的时间单位为毫秒
- 坐标(焦点、裁剪、位置)均为标准化 0-1
- 使用
preview capture --json来视觉验证缩放、裁剪、注释和时间设置 - 从 JSON 负载中读取返回的资源包路径;图像和片段存储在磁盘上
- 仅使用
cli-hub previews ...来检查/打开已有资源包
版本
1.0.0