基于AI的爆款结构迁移引擎 样例视频上传
2026/7/23 22:05:17 网站建设 项目流程

01 — 样例视频上传


1. 功能定义与核心意义

功能定义

样例视频上传是「爆款结构迁移引擎」工作流的第一步。用户将需要作为模板参考的爆款短视频上传至系统,后端自动完成视频基础信息的全面解析,为后续的结构分析和模板提取提供数据基础。

核心意义

  • 全流程起点:没有样例视频,后续的结构拆解、缺口识别、SVT 生成均无法执行。本模块是整个平台的"燃料入口"
  • 降低创作门槛:用户无需手动描述视频的帧率、时长、分段结构——上传视频后系统自动完成所有基础分析
  • 桥接样例与目标:被分析的样例视频成为「成功标杆」,系统提取其结构特征后,可迁移到任意新主题上

解决的问题

痛点本模块的解决方案
不知道爆款视频的成功因素自动提取 fps / 时长 / 分辨率 / 镜头切分点,为 LLM 结构分析提供量化数据
人工描述视频太慢拖拽上传即可,3 秒内完成全部基础信息提取
手动计算时间分段不准OpenCV 逐帧分析镜头变化,精确到帧级的镜头切换点检测

2. 详细操作步骤

前置条件

  • 后端服务已启动(python main.py,运行于http://localhost:8000
  • 已通过浏览器打开frontend/index.html
  • 准备一个 MP4 / MOV 格式的样例视频文件

操作步骤

Step 1:进入上传区域

在页面左侧「第一步:上传样例视频」区域,可以看到一个虚线框的上传区域。

Step 2:上传文件(两种方式任选其一)

  • 方式 A — 拖拽上传:将视频文件从文件管理器拖入虚线框中
  • 方式 B — 点击选择:点击虚线框区域,在弹出的文件选择对话框中选中视频文件

Step 3:等待分析完成

上传后,上传区域下方会出现「正在分析视频基础信息...」的加载提示。系统后端自动执行:

  1. 保存文件至uploads/目录(以{UUID}_{原文件名}命名)
  2. OpenCV 解析视频基础信息(fps、总帧数、时长、分辨率)
  3. 按时间轴均匀提取 10 张关键帧
  4. 逐帧进行直方图比对,检测镜头切换点
  5. 生成预估的脚本三段时间分配建议(Hook/Body/CTA)

Step 4:确认结果

分析完成后弹窗提示「视频基础信息分析完成!」,同时页面右侧的「第二步:爆款结构分析」和「素材缺口识别」区域会自动显示。

预期结果

操作预期
上传成功弹窗提示分析完成,currentTaskIdcurrentSampleData设置完成
结构分析区域显示structure-resultgap-section区域的hidden类被移除
上传失败弹窗提示「上传失败:{错误详情}」

返回数据结构

{ "task_id": "uuid-string", "filename": "sample.mp4", "sample_data": { "basic_info": { "fps": 30.0, "duration": 15.5, "total_frames": 465, "resolution": "1920x1080", "width": 1920, "height": 1080 }, "key_frames": ["data:image/jpeg;base64,...", "..."], "shot_changes": [3.0, 6.2, 9.8, 12.1], "estimated_script": { "hook_suggestion": "0-3.0s", "body_suggestion": "3.0-12.4s", "cta_suggestion": "12.4-15.5s" } }, "status": "processed" }

3. 使用场景说明

场景描述
竞品分析竞品发布热销视频 → 上传 → 提取结构 → 迁移到自有产品
多品类复用一个「零食种草」爆款结构 → 上传 → 提取 → 复用至「化妆品」「数码产品」
内容团队标准化团队将历史爆款集中上传分析,沉淀出一套标准化的视频结构模板库
新手上手新手创作者不知道如何设计视频结构,找一个行业对标视频上传即可获得结构参考

适用条件

  • 视频时长建议:5 秒 ~ 5 分钟(过长可能导致处理时间增加和 LLM token 超限)
  • 支持格式:MP4、MOV、AVI 等 OpenCV 支持的视频格式
  • 文件大小限制:最大 500MB(MAX_FILE_SIZE配置项)
  • 需要 OpenCV 视频编解码器支持(通常 Windows/macOS/Linux 预装即可)

4. 参数配置说明

参数位置默认值说明
MAX_FILE_SIZEbackend/config.py500MB最大上传文件大小
num_framesvideo_processor.extract_key_frames()10提取的关键帧数量
thresholdvideo_processor.detect_shot_changes()30.0镜头检测的直方图差异阈值(越高越不敏感)
UPLOAD_DIRbackend/config.pyuploads/上传文件存储目录

5. 注意事项与限制

注意事项

  1. 文件保留:上传的视频文件会持久存储在服务器的uploads/目录中,如长期运行需定期清理
  2. task_id 生命周期:每次上传生成唯一task_id,前端在后续步骤中必须携带此 ID;刷新页面后task_id丢失,需重新上传
  3. 前后端分离部署:前端通过const API_BASE = 'http://localhost:8000/api'连接后端;若后端部署在其他地址,需修改此项
  4. CORS 配置:后端已配置allow_origins=["*"],允许任意来源的前端访问

功能限制

  • 不支持实时流:仅支持上传完整的视频文件,不支持直播流或在线 URL
  • 无视频转码:系统不转换视频编码,仅读取元数据和帧数据
  • 基础分析为主:关键帧提取和镜头检测基于直方图差异,不涉及 AI 内容理解(AI 分析在第二步由 LLM 完成)
  • 大文件风险:超大视频(>2GB)可能在关键帧提取阶段消耗大量内存,建议先剪辑压缩

6. 常见问题解答

Q1:上传后显示"处理失败",怎么办?

A:可能原因包括:

  • 视频文件损坏或编码格式不兼容 → 尝试用视频转码工具转为标准 MP4(H.264 编码)
  • 视频时长为 0(如单帧图片伪装视频)→ 检查文件完整性
  • OpenCV 版本问题 → 确认opencv-python版本 ≥ 4.8

Q2:上传后没有显示第二步区域?

A:检查浏览器控制台是否有 JavaScript 报错。确认后端服务正常运行(访问http://localhost:8000/是否能返回 JSON)。

Q3:能否不上传视频,直接手动输入视频信息?

A:当前版本不支持手动输入。视频信息解析依赖 OpenCV 库,无法从空数据中生成。未来可考虑增加纯文本描述入口。

Q4:上传的样例视频会被如何使用?

A:仅用于当前会话的结构分析,不会被分享或用于训练模型。上传的视频存储在本地服务器uploads/目录。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询