cli-anything-kdenlive 是做什么的?
一个用于视频编辑的有状态命令行界面,遵循与Blender CLI harness相同的模式。使用JSON项目格式,并生成MLT XML供Kdenlive/melt使用。
安装
该CLI作为cli-anything-kdenlive包的一部分安装:
pip install cli-anything-kdenlive
先决条件:
- Python 3.10+
- 系统上必须安装kdenlive
使用方法
基本命令
# 显示帮助
cli-anything-kdenlive --help
# 启动交互式REPL模式
cli-anything-kdenlive
# 创建新项目
cli-anything-kdenlive project new -o project.json
# 以JSON输出运行(供代理使用)
cli-anything-kdenlive --json project info -p project.json
REPL模式
当不带子命令调用时,CLI会进入交互式REPL会话:
cli-anything-kdenlive
# 使用Tab补全和历史记录交互式输入命令
命令组
项目
项目管理命令。
| 命令 | 描述 |
|---|---|
new | 创建新项目 |
open | 打开现有项目 |
save | 保存当前项目 |
info | 显示项目信息 |
profiles | 列出可用的视频配置文件 |
json | 打印原始项目JSON |
素材库
媒体素材库管理命令。
| 命令 | 描述 |
|---|---|
import | 将剪辑导入素材库 |
remove | 从素材库中移除剪辑 |
list | 列出素材库中的所有剪辑 |
get | 获取详细的剪辑信息 |
时间线
时间线管理命令。
| 命令 | 描述 |
|---|---|
add-track | 向时间线添加轨道 |
remove-track | 移除轨道 |
add-clip | 向轨道添加剪辑 |
remove-clip | 从轨道中移除剪辑 |
trim | 修剪剪辑的入/出点 |
split | 在指定时间偏移处分割剪辑 |
move | 将剪辑移动到新位置 |
list | 列出所有轨道 |
滤镜组
滤镜/效果管理命令。
| 命令 | 描述 |
|---|---|
add | 向剪辑添加滤镜 |
remove | 从剪辑中移除滤镜 |
set | 设置滤镜参数 |
list | 列出剪辑上的滤镜 |
available | 列出所有可用的滤镜 |
转场
转场管理命令。
| 命令 | 描述 |
|---|---|
add | 在轨道之间添加转场 |
remove | 移除转场 |
set | 设置转场参数 |
list | 列出所有转场 |
指南
指南/标记管理命令。
| 命令 | 描述 |
|---|---|
add | 在指定位置(秒)添加指南 |
remove | 移除指南 |
list | 列出所有指南 |
导出
导出和渲染命令。
| 命令 | 描述 |
|---|---|
xml | 生成Kdenlive/MLT XML |
presets | 列出可用的渲染预设 |
会话
会话管理命令。
| 命令 | 描述 |
|---|---|
status | 显示会话状态 |
undo | 撤销上一次操作 |
redo | 重做上一次被撤销的操作 |
history | 显示撤销历史 |
示例
创建新项目
创建一个新的kdenlive项目文件。
cli-anything-kdenlive project new -o myproject.json
# 或者以JSON输出供程序化使用
cli-anything-kdenlive --json project new -o myproject.json
交互式REPL会话
启动一个支持撤销/重做的交互式会话。
cli-anything-kdenlive
# 交互式输入命令
# 使用'help'查看可用命令
# 使用'undo'和'redo'进行历史导航
导出项目
将项目导出为最终输出格式。
cli-anything-kdenlive --project myproject.json export render output.pdf --overwrite
状态管理
CLI维护会话状态,具有:
- 撤销/重做:最多50级历史记录
- 项目持久化:以JSON格式保存/加载项目状态
- 会话跟踪:跟踪修改和变更
输出格式
所有命令支持双输出模式:
- 人类可读(默认):表格、颜色、格式化文本
- 机器可读(
--json标志):针对代理使用的结构化JSON
# 人类输出
cli-anything-kdenlive project info -p project.json
# 供代理使用的JSON输出
cli-anything-kdenlive --json project info -p project.json
供AI代理使用
当以程序化方式使用此CLI时:
- 始终使用
--json标志以获取可解析输出 - 检查返回码 - 0表示成功,非0表示错误
- 解析stderr以获取失败时的错误消息
- 对所有文件操作使用绝对路径
- 验证输出存在在导出操作之后
更多信息
- 完整文档:参见包内的README.md
- 测试覆盖:参见包内的TEST.md
- 方法论:参见cli-anything-plugin中的HARNESS.md
版本
1.0.0