Crab AI 视频剪辑功能对接调研
日期:2026-09-06
目标:判断视频剪辑功能应如何作为独立工具接入 Crab
AI,并选择适合餐厅短视频模板的开源技术路线。
一、直接结论
- 视频能力应归 Crab AI 调度,不应继续做成 Hera
内部的孤立功能。 Crab AI
负责理解用户意图、读取店铺/品牌/素材上下文、选择模板、发起任务和返回结果;真正的视频分析与渲染放在独立的
Video Tool Service。 - 第一版不要做 AE,也不要做通用视频编辑器。 只完成一个可反复使用的餐厅快剪闭环:上传 8–12 条素材 → 选择一个固定模板/BGM → 自动卡点和替换素材 → 低清预览 → 用户确认 → 高清导出。
- 推荐首版底座:自有模板 JSON + FFmpeg;节拍分析使用 librosa。 这条路线依赖少、资源相对可控,也最容易封装成 Crab AI 的异步工具。
- 如果团队必须要“设计人员可视化制作模板,再由 API 批量渲染”,优先做 OpenShot 小型验证。 OpenShot Desktop 与 Cloud API 使用同一项目格式,可在桌面做模板、在服务端替换素材并导出;但 Cloud API 是商业授权,且官方建议每个 worker 配置 8GB、最好 16GB 内存,并按单任务排队运行。
- Remotion 适合作为第二阶段动效层,不建议未经压测直接成为整个剪辑后端。 它的 React 组件生态、文字动效和预览体验最好,但服务端渲染会运行浏览器/渲染进程,并且商用自动化产品需核对授权成本。
- Natron 虽然最像 AE/Nuke,但不适合作为餐厅快剪主引擎。 它适合节点合成、抠像、复杂特效和渲染农场;普通的裁切、卡点、转场、推拉运镜交给 FFmpeg/MLT 更简单。
二、目前能确认与不能确认的 Crab AI 状态
已确认
- 先前产品截图中可见
Assets、Video、AI Brain、AI Command等模块,产品结构上具备把视频做成 Agent 工具的合理入口。 - Crab AI 更适合作为统一命令入口,而不是再增加一个独立视频 UI。
- 当前工作区中存在 Crab AI 的竞品研究站点和产品规划材料,但没有发现 Ethan 的 Crab AI 主代码仓库或实际工具协议代码。
尚未确认
- Crab AI 当前使用哪种 Agent/tool calling 协议。
- 是否已经有文件上传、素材库 ID、任务队列、Webhook、对象存储和权限隔离。
Video菜单当前是可用功能、占位页面,还是另一套服务。- Hera 已完成的第一版代码位于哪里、哪些部分可以迁移。
- “CheckCut” 的准确产品名称和链接。公开检索没有找到能够与描述唯一对应的产品,不能把它作为已验证参考。
因此,现在可以确定目标架构,但不能声称“Crab AI 已经可以直接接入”。Ethan 需要先提供仓库/API 文档或做一次接口走查。
三、推荐架构
用户 / Crab AI 对话
│
▼
Crab AI Agent
- 理解目标
- 读取 store / brand / assets
- 选择模板
- 请求用户确认关键参数
│ tool call
▼
Video Tool API
- 输入校验与权限校验
- 创建异步 job
- 模板参数展开
│
├── 音频分析:librosa → BPM / beat timestamps
├── 素材分析:ffprobe → 时长 / 尺寸 / fps / 音轨
├── 可选 AI:镜头分类、质量评分、菜品标签
▼
Job Queue → Render Worker
- FFmpeg / MLT
- 可选 Remotion 动效片段
│
▼
对象存储
- preview.mp4
- final.mp4
- manifest.json
│ webhook / polling
▼
Crab AI 返回预览、状态、错误或下载链接
关键原则:Agent
请求不能一直等待视频渲染。工具调用只负责创建任务并立即返回
jobId;Crab AI 之后通过状态查询或 Webhook 获取结果。
动效台与自动叠加:推荐的判断链路
这里不需要让 AI 生成整条视频,也不需要让大模型逐帧输出坐标。更稳的实现是把“剪辑”“动效选择”“空间定位”“最终合成”拆开:
- 设计人员先制作并审核透明背景的动效组件;每个组件同时保存结构化元数据,例如持续时间、允许出现的候选区域、尺寸范围、是否跟随主体、能否遮挡人物/菜品、进出场规则。
- 对剪好的每个镜头检测人脸、人物、主要物体、字幕、Logo 和画面安全区,生成一张“不可遮挡区域图”。
- 对左上、右上、顶部中央、下三分之一等有限候选位置打分,优先选择遮挡最少、边距足够、连续镜头中位置最稳定的区域。普通贴纸和文字包装不需要大模型。
- 如果动效需要指向或跟随人物、菜品,检测器只负责找到目标框,跟踪器负责在后续帧维持同一目标 ID;坐标经过平滑后再交给渲染器。NVIDIA DeepStream 的 tracker 可提供跨帧目标 ID 和跟踪框。
- 只有“这一段发生了什么、该配哪个动效”这类语义判断,才抽取少量关键帧或联系表交给视觉模型。模型返回动效类别、主体和置信度,不直接控制逐帧位置。
- 最后由 FFmpeg/Remotion 按已确定的时间、锚点和轨迹把透明动效叠到主视频上。
按复杂度可分三类:全屏边框、光效和转场只需绑定镜头边界;角标和字幕只需安全区评分;箭头、标签等跟随动效才需要检测与跟踪。这样绝大多数任务都可以本地确定,只有低置信度语义场景才调用云端模型。
GPT 与成本边界
- GPT-6 Astra、GPT-5.6 Sol 和 GPT-5.6 Luna 当前都支持图片输入,但不支持原生视频输入,因此必须先抽取关键帧,不能把整条视频直接交给模型逐帧分析。
- GPT-6 Astra 官方标准价为每百万输入 token 10 美元、输出 token 50 美元;不适合成为每条视频的默认判断器。
- 推荐生产链路先用本地规则、检测和跟踪;再用成本较低的视觉模型分析 6–12 张关键帧,并只在低置信度时升级模型。GPT-6 更适合用于新模板设计、离线审核或疑难案例。
- 实际单条成本必须用真实素材做 token 与运行时压测。模型调用成本之外,还要分别核算解码、检测/跟踪、预览渲染、高清渲染和失败重试,不能只用 API 单价推算总成本。
四、Crab AI 最小工具协议
建议只暴露四个工具,而不是让 Agent 直接拼 FFmpeg 命令。
1.
list_video_templates
输入:storeId、用途、比例、预计时长。
输出:允许使用的模板、素材槽位要求、BGM 授权状态、预计成本。
2. create_video_job
{
"storeId": "store_123",
"templateId": "food-fastcut-v1",
"assetIds": ["asset_1", "asset_2", "asset_3"],
"musicId": "music_licensed_07",
"format": {"width": 1080, "height": 1920, "fps": 30},
"renderMode": "preview",
"idempotencyKey": "crab-command-id"
}立即返回:
{
"jobId": "video_job_456",
"status": "queued",
"estimatedClass": "short_vertical_preview"
}3. get_video_job
状态必须区分:queued、analyzing、rendering、needs_input、preview_ready、completed、failed、cancelled。
失败结果不能只返回“生成失败”,必须带结构化错误,例如:
ASSET_TOO_SHORTUNSUPPORTED_CODECMISSING_LICENSED_MUSICINSUFFICIENT_SLOTSRENDER_TIMEOUTWORKER_OUT_OF_MEMORY
4.
approve_video_render
预览确认后才发起高清渲染。第一版禁止自动发布社媒;输出进入
Review,由人确认。
五、候选方案比较
| 方案 | 模板表达 | 调用方式 | 资源与扩展 | 适合度 | 结论 |
|---|---|---|---|---|---|
| FFmpeg + 自有 JSON | 自定义槽位、时间、转场、运镜 | CLI,容易封装 REST | 最可控;CPU 编解码为主;可水平扩展 | 很高 | 首版推荐 |
MLT / melt |
MLT XML,多轨、filter、transition | CLI / XML | 比 AE 类轻;语法较晦涩 | 高 | 可作为 FFmpeg 上层时间线备选 |
| OpenShot Desktop + Cloud API | 桌面工程 JSON、关键帧、图层 | 原生 REST、队列、Webhook | 官方建议 8GB RAM、16GB 更佳;单 worker 一次一单;横向扩容 | 高 | 适合做可视化模板 PoC,但需商业授权 |
| Remotion | React/TypeScript 组件 | Node API / CLI / Lambda | 动效强、生态大;浏览器渲染和许可成本需压测 | 中高 | 第二阶段动效层 |
| Revideo | TypeScript 场景和变量 | CLI /render 或 API |
官方称单渲染建议至少 8–10GB RAM;支持分片并行 | 中 | MIT 备选,但首版偏重 |
| Editly | JSON/JSON5 | Node API / CLI / Docker | 使用方便,但 headless-gl 安装、内存和长期问题较多 | 中低 | 只借鉴 schema,不作为核心依赖 |
| Natron | .ntp 节点合成工程 |
NatronRenderer CLI / Python |
适合复杂合成;部署、插件、字体、缓存和渲染资源更重 | 低 | 只用于少数复杂特效 |
| OpenTimelineIO | 剪辑决策/轨道交换格式 | Python/C++ API | 不渲染、不内嵌媒体 | 辅助 | 后期做 Premiere/Resolve 交付时使用 |
| OpenCut / Olive | 通用编辑器 | 尚不稳定或重写中 | 产品范围过大、稳定性风险高 | 低 | 不作为生产依赖 |
六、为什么不把“类似 AE”当主路线
AE/Natron 类系统解决的是复杂合成,而餐厅快剪第一版主要需要:
- 固定节拍上的裁切;
- 素材统一为 9:16、30fps;
- 轻量推拉、平移、模糊和闪白;
- 文字、Logo 与 BGM 混音;
- 批量稳定导出。
FFmpeg 官方 xfade 已提供
fade、wipe、slide、circle、pixelize、zoom
等多种转场并允许自定义表达式。音乐节拍可以由 librosa
输出时间戳。只有需要粒子、复杂蒙版、三维摄像机或高级抠像时,才值得调用
Remotion/Natron 生成一段透明动效,再叠加到主时间线。
七、资源与并发控制
不能先假设某个方案“省资源”;必须使用同一批素材做基准测试。建议固定三个样本:
- A:15 秒、8 个 1080p 素材、基础卡点转场;
- B:30 秒、15 个 1080p 素材、字幕、Logo、BGM;
- C:30 秒、混合 4K/1080p、复杂推拉和模糊转场。
每种引擎记录:
- 冷启动时间;
- 总渲染时间和
render_time / video_duration; - 峰值 CPU、RSS 内存、GPU/显存;
- 临时磁盘峰值;
- 失败率与错误类型;
- 1、2、4 个并发任务时的吞吐量;
- 预览与高清的成本;
- 同一模板连续渲染 20 次是否稳定。
首版运行规则建议:
- 预览:540×960、24fps、低码率;
- 高清:用户批准后才渲染 1080×1920、30fps;
- 每个 worker 默认只跑 1 个任务;
- 通过队列扩容 worker,不在 Agent Web 服务进程里渲染;
- 设置 CPU、内存、磁盘和最长执行时间限制;
- 输入素材先转为统一代理文件,避免每次重复解码 4K 原片;
- 缓存 beat map、素材 metadata 和模板编译结果;
- 输出和临时文件设置生命周期,完成后自动清理。
八、第一版验收标准
第一版只验收 food-fastcut-v1 一个模板:
- 三家不同餐厅、每家至少一组真实素材都能生成。
- Crab AI 能创建任务、查进度、收到预览、发起高清导出。
- 不需要开发人员逐镜头改代码。
- 缺素材、素材过短、无授权音乐、编码异常时有明确提示。
- 同一输入与模板可以重复得到一致结果。
- 预览未经确认不会进入高清渲染,也不会自动发布。
- 记录每次任务的模板版本、素材 ID、音乐许可证、渲染版本和资源消耗。
九、需要 Ethan 回答的 10 个问题
- Crab AI 主仓库和当前部署环境在哪里?
- Agent 使用什么 tool calling / MCP / function calling 协议?
- 现有工具是同步还是异步?有没有
jobId + polling/webhook模式? Assets中的文件是否已经有稳定的对象存储 URL 和权限签名?Video页面当前完成到什么程度?是否只有 UI?- 是否已有队列、worker、重试、超时和取消机制?
- 多客户/多门店的数据权限如何隔离?
- Crab AI 是否能展示视频预览并接收“确认高清导出”动作?
- Hera 第一版代码、模板和测试素材在哪里?哪些要迁移,哪些应废弃?
- “CheckCut”的准确链接是什么,Crab AI 之前具体以什么方式嵌入或调用它?
十、需要 Gary 定义的范围
Gary 不需要先决定技术栈,只需给出以下产品答案:
- 第一位真实用户是谁:内部运营人员、Agency 员工,还是餐厅老板?
- 第一类视频是什么:菜品快剪、口播切片、活动广告,还是长视频转短视频?
- 用户提供什么:原始素材、照片、文案、BGM,还是只给一句话?
- 第一个模板的目标时长、比例、发布平台和参考样片是什么?
- 是否必须卡音乐节拍?是否需要保留原声/配音?
- 什么结果算成功:节省制作时间、一次通过率、模板复用率,还是发布后的线索?
在这些问题没有确定前,不应开发通用模板市场、完整时间线 UI、AI 自动选题、自动发布或 AE 级合成器。
十一、建议会议结论
建议会议只做三个决定:
- 定死
food-fastcut-v1的输入、输出和参考视频; - Ethan 在 Crab AI 提供 4 个工具接口和素材/任务能力;
- 视频开发者用 FFmpeg JSON 路线完成独立服务,并同时用 OpenShot 做一个不超过两天的可视化模板 PoC,拿实际资源数据比较后再决定是否引入。
主要资料
- FFmpeg xfade 官方文档
- librosa beat tracker 官方文档
- MLT melt 命令行文档
- OpenShot Cloud API 总览
- OpenShot Cloud API 架构、资源与价格
- OpenShot Cloud API 项目与导出接口
- NVIDIA DeepStream 元数据与检测/跟踪框
- NVIDIA DeepStream 多目标跟踪器
- OpenAI GPT-6 Astra 模型与价格
- OpenAI GPT-5.6 Sol 模型与价格
- OpenAI GPT-5.6 Luna 模型与价格
- OpenAI 图片输入 token 计算器
- Remotion GitHub
- Remotion 当前授权与定价
- Revideo GitHub
- Revideo 生产渲染资源说明
- Revideo CLI Render Endpoint
- Editly GitHub
- Natron 命令行渲染文档
- OpenTimelineIO 官方说明
- Auto-Editor GitHub