InsightCut 按需预览与成片导出修改方案

1. 背景与问题

InsightCut 当前在图片、配音和剪映草稿完成后,会继续执行一次完整 FFmpeg 视频合成,只有完整 MP4 生成后任务才标记为完成。用户进入预览编辑页后,如果修改图片、文案、配音或比例,原成片会失效;用户再点击“生成最终预览”时,又会执行一次完整渲染。

这会产生两个问题:

  1. 用户必须等待默认 MP4 合成结束,才能看到任务完成并开始后续操作。
  2. 对需要继续修改、只下载素材包或只使用剪映草稿的用户,默认生成的 MP4 可能完全不会被使用。

本地历史日志中,16 个真实任务的视频合成耗时为 5–190 秒,中位数约 38.5 秒、平均约 60 秒;在可计算完整总耗时的任务中,视频合成平均占总流程约 23%。因此,取消默认成片渲染可以直接缩短“素材生成完成到进入编辑”的等待时间。

2. 产品决策

2.1 采用两层预览

层级 用户看到的能力 是否生成 MP4 适用场景
即时预览 浏览器连续播放分镜图片、字幕和逐段音频 快速检查内容、顺序、配音和素材
高保真预览 完整展示最终动画、字幕样式、画布比例和编码效果 导出前确认最终效果

默认只提供即时预览,不在任务尾部自动生成完整视频。高保真预览由用户按需生成。

2.2 高保真预览与正式 MP4 共用一次渲染

2.3 默认任务完成边界

新任务完成以下内容后即可标记为 completed 并进入预览编辑页:

完整 MP4 不再属于默认任务完成条件,而属于后续独立导出任务。

3. 目标与非目标

3.1 目标

3.2 非目标

4. 目标用户与关键场景

  1. 用户生成任务后立即进入预览页,连续检查图片、文案、配音和顺序,再决定是否需要成片。
  2. 用户只下载分镜素材包,不等待也不生成 MP4。
  3. 用户只导入剪映草稿,不等待也不生成 MP4。
  4. 用户点击“生成高保真预览”确认动画效果,确认后下载同一份 MP4。
  5. 用户跳过高保真预览,直接点击“生成并下载 MP4”,等待一次渲染后下载。
  6. 用户生成高保真预览后替换图片或重新配音,系统提示预览已过期,并在再次导出时重新渲染。

5. 用户流程

5.1 默认生成流程

  1. 用户创建视频任务。
  2. 系统生成文案、图片提示词、图片和逐段配音。
  3. 系统保存分镜与当前素材并构建剪映草稿。
  4. 任务标记完成,不执行完整视频合成。
  5. 用户进入预览编辑页,即时预览自动可用。

5.2 即时预览流程

  1. 用户点击播放。
  2. 页面从当前分镜开始播放对应音频。
  3. 音频结束后自动进入下一分镜并更新图片、字幕和时间位置。
  4. 用户可暂停、拖动到指定分镜、上一段或下一段。
  5. 即时预览不创建服务器端视频文件。

5.3 高保真预览流程

  1. 用户点击“生成高保真预览”。
  2. 系统创建异步渲染任务并展示进度状态。
  3. 渲染完成后页面切换为完整视频播放器。
  4. 用户可以播放、暂停和拖动完整视频。
  5. 该视频记录当前素材与渲染配置快照,可直接用于正式下载。

5.4 MP4 导出流程

6. 功能需求

P0-1 默认不生成完整视频

P0-2 即时连续预览

P0-3 按需高保真预览

P0-4 单一渲染产物复用

P0-5 失效规则

以下任一变化后,当前高保真预览和 MP4 状态必须变为“已过期”:

旧文件可以保留用于清理或历史追踪,但默认播放与下载入口不能继续把它标记为当前成片。

P0-6 导出中心状态与操作

P1 建议后续补充

7. UX 状态

状态 预览页展示 导出中心展示
素材生成中 当前已保存素材或生成进度 导出操作按现有素材可用性决定
即时预览可用 内容预览,播放图片、字幕和音频 MP4 未生成
高保真预览生成中 进度提示,仍可编辑或使用即时预览 MP4 生成中,禁止重复提交
高保真预览可用 切换到完整视频播放器 MP4 可下载
高保真预览已过期 黄色提示,默认回到即时预览 MP4 已过期
渲染失败 显示错误并允许重试,即时预览仍可用 MP4 生成失败,素材包与草稿继续可用

移动端保持相同状态语义;即时预览播放器、生成按钮和导出按钮必须可单列显示,不依赖桌面悬停操作。

8. 数据、API 与技术约束

8.1 任务数据

8.2 渲染状态

建议统一现有最终预览与 MP4 状态,至少包含:

{
  "render": {
    "status": "missing | pending | processing | ready | stale | failed",
    "snapshot_key": "...",
    "video_path": "...",
    "video_url": "...",
    "created_at": "...",
    "error": null
  }
}

现有预览 manifest 可以继续作为基础,但媒体指纹需覆盖字幕样式、动画配置和渲染参数,而不只覆盖素材路径。

8.3 API 行为

8.4 清理规则

9. 验收标准

  1. 创建新任务后,任务目录和任务结果中不会自动出现正式 MP4,video_url 为空仍可正常完成。
  2. 图片和音频准备完成后,用户可立即进入预览页连续播放所有分镜。
  3. 未生成视频时,用户仍可下载分镜素材包和使用剪映草稿。
  4. 点击“生成高保真预览”只执行一次 FFmpeg,完成后可以在页面播放完整视频。
  5. 在高保真预览有效时点击“下载 MP4”,不会再次触发 FFmpeg。
  6. 没有高保真预览时点击“生成并下载 MP4”,只渲染一次并在完成后开始下载。
  7. 同一快照下同时触发预览与导出,不会出现两个并行 FFmpeg 任务。
  8. 修改任一分镜图片、音频、文案或视频比例后,旧视频立即显示为“已过期”。
  9. 渲染失败后即时预览、素材包、剪映草稿和已生成资产仍可使用。
  10. 旧任务已有 MP4 仍可正常查看和下载。

10. 成功指标

11. 风险、依赖与上线策略

11.1 风险

11.2 依赖

11.3 上线策略

  1. 先通过后端配置开关关闭新任务默认 MP4,保留快速回退能力。
  2. 验证新任务完成、任务恢复、旧任务兼容和三种导出方式。
  3. 观察任务完成耗时、按需渲染比例和失败率。
  4. 数据稳定后移除旧的默认成片流程和临时配置开关。

12. 当前结论与待确认项

已确认

非阻塞待确认