如何用CLI将OBS、Shotcut、Kdenlive串联成视频制作全流程?
摘要:视频工具链的 CLI 困境 视频制作软件在所有专业软件里,对 Agent 最不友好——界面复杂、操作高度依赖鼠标、几乎不存在友好的命令行接口。 OBS Studio 没有官方 CLI。Shotcut 和 Kdenlive 虽然底层都用 ML
视频工具链的 CLI 困境
视频制作软件在所有专业软件里,对 Agent 最不友好——界面复杂、操作高度依赖鼠标、几乎不存在友好的命令行接口。
OBS Studio 没有官方 CLI。Shotcut 和 Kdenlive 虽然底层都用 MLT(Media Lovingly Toolkit),但官方没有把 MLT 接口暴露出来。结果就是:你想用命令行自动化视频流程,几乎只能靠屏幕录制然后 ffmpeg 后处理,质量大打折扣。
CLI-Anything 给这三款软件都生成了 CLI。这篇文章展示的是:三个不同的视频工具,通过 JSON 项目文件作为中间格式,能不能被 Agent 用命令行串联成一个完整的工作流。
工具链概览
OBS Studio → 录制原始素材(obs-studio CLI 控制场景配置)
↓
Shotcut → 粗剪、时间线编排(shotcut CLI 操作 MLT XML)
↓
Kdenlive → 精调、色彩校正(kdenlive CLI 深层调色)
↓
ffmpeg → 最终压制(直接调用系统命令)
三个工具各有分工:OBS 负责采集,Shotcut 负责快速剪辑,Kdenlive 负责精细调色,ffmpeg 负责最终输出。
第一步:OBS 场景配置
OBS 的 CLI 通过 obs-websocket 插件实现远程控制。如果你的 OBS 已经装了 websocket 插件,可以远程配置场景:
# 创建直播场景
$ cli-anything-obs-studio scene new --name "LiveStream"
✓ Created scene: LiveStream
# 添加来源(视频捕获、设备、窗口)
$ cli-anything-obs-studio source add \
--scene LiveStream \
--type video_capture \
--name "Camera1" \
--device "/dev/video0"
✓ Added video capture source: Camera1
$ cli-anything-obs-studio source add \
--scene LiveStream \
--type image \
--name "Logo" \
--file ./logo.png
✓ Added image source: Logo
# 设置 Logo 位置(左上角)
$ cli-anything-obs-studio source transform \
--scene LiveStream \
--source Logo \
--position-x 0 \
--position-y 0 \
--width 320 \
--height 180
✓ Transformed source: Logo (pos: 0,0 size: 320×180)
# 启动录制
$ cli-anything-obs-studio recording start
✓ Recording started: ./obs_recordings/live_20260322.mp4
如果你的场景不需要实时录制,可以直接导出 OBS 的场景配置:
$ cli-anything-obs-studio scene export \
--scene LiveStream \
--output ./live_scene.json
✓ Exported scene config: live_scene.json
第二步:Shotcut 粗剪
Shotcut 的项目文件格式是 MLT XML。CLI 操作的是这个 XML 文件,不需要真正打开 Shotcut GUI。
