Product Research · Video Infrastructure

Crab AI
视频剪辑功能对接调研

从模板系统、自动动效定位到异步渲染,给出适合餐厅短视频的最小可行技术路线。

更新:2026-09-06场景:餐厅短视频状态:决策建议
OwnershipCrab AI 调度,独立 Video Tool 执行
MVP Engine模板 JSON + FFmpeg + librosa
Delivery Gate预览确认后再高清渲染

Crab AI 视频剪辑功能对接调研

日期:2026-09-06
目标:判断视频剪辑功能应如何作为独立工具接入 Crab AI,并选择适合餐厅短视频模板的开源技术路线。

一、直接结论

  1. 视频能力应归 Crab AI 调度,不应继续做成 Hera 内部的孤立功能。 Crab AI 负责理解用户意图、读取店铺/品牌/素材上下文、选择模板、发起任务和返回结果;真正的视频分析与渲染放在独立的 Video Tool Service
  2. 第一版不要做 AE,也不要做通用视频编辑器。 只完成一个可反复使用的餐厅快剪闭环:上传 8–12 条素材 → 选择一个固定模板/BGM → 自动卡点和替换素材 → 低清预览 → 用户确认 → 高清导出。
  3. 推荐首版底座:自有模板 JSON + FFmpeg;节拍分析使用 librosa。 这条路线依赖少、资源相对可控,也最容易封装成 Crab AI 的异步工具。
  4. 如果团队必须要“设计人员可视化制作模板,再由 API 批量渲染”,优先做 OpenShot 小型验证。 OpenShot Desktop 与 Cloud API 使用同一项目格式,可在桌面做模板、在服务端替换素材并导出;但 Cloud API 是商业授权,且官方建议每个 worker 配置 8GB、最好 16GB 内存,并按单任务排队运行。
  5. Remotion 适合作为第二阶段动效层,不建议未经压测直接成为整个剪辑后端。 它的 React 组件生态、文字动效和预览体验最好,但服务端渲染会运行浏览器/渲染进程,并且商用自动化产品需核对授权成本。
  6. Natron 虽然最像 AE/Nuke,但不适合作为餐厅快剪主引擎。 它适合节点合成、抠像、复杂特效和渲染农场;普通的裁切、卡点、转场、推拉运镜交给 FFmpeg/MLT 更简单。

二、目前能确认与不能确认的 Crab AI 状态

已确认

  • 先前产品截图中可见 AssetsVideoAI BrainAI 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 生成整条视频,也不需要让大模型逐帧输出坐标。更稳的实现是把“剪辑”“动效选择”“空间定位”“最终合成”拆开:

  1. 设计人员先制作并审核透明背景的动效组件;每个组件同时保存结构化元数据,例如持续时间、允许出现的候选区域、尺寸范围、是否跟随主体、能否遮挡人物/菜品、进出场规则。
  2. 对剪好的每个镜头检测人脸、人物、主要物体、字幕、Logo 和画面安全区,生成一张“不可遮挡区域图”。
  3. 对左上、右上、顶部中央、下三分之一等有限候选位置打分,优先选择遮挡最少、边距足够、连续镜头中位置最稳定的区域。普通贴纸和文字包装不需要大模型。
  4. 如果动效需要指向或跟随人物、菜品,检测器只负责找到目标框,跟踪器负责在后续帧维持同一目标 ID;坐标经过平滑后再交给渲染器。NVIDIA DeepStream 的 tracker 可提供跨帧目标 ID 和跟踪框。
  5. 只有“这一段发生了什么、该配哪个动效”这类语义判断,才抽取少量关键帧或联系表交给视觉模型。模型返回动效类别、主体和置信度,不直接控制逐帧位置。
  6. 最后由 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

状态必须区分:queuedanalyzingrenderingneeds_inputpreview_readycompletedfailedcancelled

失败结果不能只返回“生成失败”,必须带结构化错误,例如:

  • ASSET_TOO_SHORT
  • UNSUPPORTED_CODEC
  • MISSING_LICENSED_MUSIC
  • INSUFFICIENT_SLOTS
  • RENDER_TIMEOUT
  • WORKER_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 一个模板:

  1. 三家不同餐厅、每家至少一组真实素材都能生成。
  2. Crab AI 能创建任务、查进度、收到预览、发起高清导出。
  3. 不需要开发人员逐镜头改代码。
  4. 缺素材、素材过短、无授权音乐、编码异常时有明确提示。
  5. 同一输入与模板可以重复得到一致结果。
  6. 预览未经确认不会进入高清渲染,也不会自动发布。
  7. 记录每次任务的模板版本、素材 ID、音乐许可证、渲染版本和资源消耗。

九、需要 Ethan 回答的 10 个问题

  1. Crab AI 主仓库和当前部署环境在哪里?
  2. Agent 使用什么 tool calling / MCP / function calling 协议?
  3. 现有工具是同步还是异步?有没有 jobId + polling/webhook 模式?
  4. Assets 中的文件是否已经有稳定的对象存储 URL 和权限签名?
  5. Video 页面当前完成到什么程度?是否只有 UI?
  6. 是否已有队列、worker、重试、超时和取消机制?
  7. 多客户/多门店的数据权限如何隔离?
  8. Crab AI 是否能展示视频预览并接收“确认高清导出”动作?
  9. Hera 第一版代码、模板和测试素材在哪里?哪些要迁移,哪些应废弃?
  10. “CheckCut”的准确链接是什么,Crab AI 之前具体以什么方式嵌入或调用它?

十、需要 Gary 定义的范围

Gary 不需要先决定技术栈,只需给出以下产品答案:

  • 第一位真实用户是谁:内部运营人员、Agency 员工,还是餐厅老板?
  • 第一类视频是什么:菜品快剪、口播切片、活动广告,还是长视频转短视频?
  • 用户提供什么:原始素材、照片、文案、BGM,还是只给一句话?
  • 第一个模板的目标时长、比例、发布平台和参考样片是什么?
  • 是否必须卡音乐节拍?是否需要保留原声/配音?
  • 什么结果算成功:节省制作时间、一次通过率、模板复用率,还是发布后的线索?

在这些问题没有确定前,不应开发通用模板市场、完整时间线 UI、AI 自动选题、自动发布或 AE 级合成器。

十一、建议会议结论

建议会议只做三个决定:

  1. 定死 food-fastcut-v1 的输入、输出和参考视频;
  2. Ethan 在 Crab AI 提供 4 个工具接口和素材/任务能力;
  3. 视频开发者用 FFmpeg JSON 路线完成独立服务,并同时用 OpenShot 做一个不超过两天的可视化模板 PoC,拿实际资源数据比较后再决定是否引入。

主要资料