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