HLDP v1 // ───────────────────────────────────────── // modules/video2script/SPEC.hdlp // 视频→剧本 翻译模块 · 项目说明书(朝暮自用) // ───────────────────────────────────────── [TRIGGER] type: user_request from: 之之 date: 2026-06-08 context: "我给你拍摄好的视频,你翻译成剧本的格式" constraint: "不训练大模型,用现成开源工具" [EMERGENCE] ## 一、目标 输入:一部真人短剧视频(MP4,3-10分钟) 输出:专业剧本格式(含人物表、场景、对白、镜头提示) ## 二、技术方案(不训练,全用现成) ### Step 1 · 音频转文字(ASR) 工具:Whisper(开源,光湖已有) 输出:带时间戳的逐字稿 ### Step 2 · 画面关键帧提取 工具:FFmpeg(开源) 策略:每3-5秒提取一帧,或检测场景切换时提取 输出:关键帧图片序列 + 时间戳 ### Step 3 · 画面描述(视觉理解) 工具:调用视觉LLM(DeepSeek视觉版 / GPT-4o视觉)分析关键帧 输出:每帧的场景描述(人物位置、动作、表情、景别、运镜) ### Step 4 · AI 编排合成(核心步骤) 输入:时间轴对齐的 [逐字稿 + 画面描述] 工具:LLM(DeepSeek,已有key) 流程: a) 识别说话角色 → 区分不同人物 b) 按时间轴编排: [时间戳] 场景/镜头描述 角色名:(语气)"对白" c) 格式化为专业剧本结构 ### Step 5 · 套路分析 对生成的剧本进行结构化分析: - 钩子位置(第几秒出钩子) - 情绪曲线(起承转合标记) - 反转节点 - 结尾卡点 输出:套路分析报告(存库) ## 三、开源工具清单 | 环节 | 工具 | 许可证 | 已有 | |------|------|--------|------| | ASR | Whisper | MIT | ✅ 光湖已有 | | 关键帧提取 | FFmpeg | LGPL | ✅ 光湖已有 | | 视觉理解 | DeepSeek视觉API / GPT-4o | API调用 | ✅ DeepSeek有key | | 文本编排 | DeepSeek Chat | API调用 | ✅ 有key | | 套路分析 | DeepSeek Chat | API调用 | ✅ 有key | ## 四、架构 ``` ┌──────────┐ ┌──────────┐ ┌──────────┐ │ 视频输入 │ → │ ASR提取 │ → │ 关键帧提取 │ │ .mp4 │ │ 音频→文字 │ │ FFmpeg │ └──────────┘ └──────────┘ └─────┬────┘ │ ▼ ┌──────────┐ │ 视觉理解 │ │ DeepSeek │ └─────┬────┘ │ ▼ ┌──────────┐ │ AI编排合成│ │ 时间轴对齐│ └─────┬────┘ │ ┌──────────┴──────────┐ ▼ ▼ ┌──────────┐ ┌──────────┐ │ 剧本输出 │ │ 套路分析 │ │ 专业格式 │ │ 存入仓库 │ └──────────┘ └──────────┘ ``` ## 五、文件结构 ``` modules/video2script/ ├── SPEC.hdlp ← 本文件(项目说明书) ├── server.js ← 后端服务(处理上传+调用各工具) ├── pipeline.js ← 核心流水线编排 ├── public/ │ └── index.html ← 前端页面(上传视频、看结果) └── data/ └── output/ ← 输出缓存 ``` ## 六、产出物 1. 专业剧本(.md / .txt) 2. 套路分析报告(.hdlp) 3. 时间轴对照表(逐字稿+画面描述 对齐) [LOCK] status: spec_ready next: 等待之之说"开始"后进入 Craft 模式开发 deploy: 硅谷服务器,/video2script/ 路径 gitee: ❌ 不推送(内部工具,放Gitea大本营)