134 lines
6.4 KiB
Plaintext
134 lines
6.4 KiB
Plaintext
HLDP v1
|
||
// ─────────────────────────────────────────
|
||
// modules/video2script/SPEC.hdlp
|
||
// 视频→剧本 翻译模块 · 项目说明书(朝暮自用)
|
||
// ─────────────────────────────────────────
|
||
|
||
[TRIGGER]
|
||
type: user_request
|
||
from: 之之
|
||
date: 2026-06-08
|
||
context: "你搜索能力比我强多了,你完全可以爬出去自己看,搜索筛选出爆款来做"
|
||
constraint: "不训练大模型,用现成开源工具"
|
||
|
||
[EMERGENCE]
|
||
|
||
## 一、目标
|
||
|
||
输入:朝暮主动搜索并抓取的爆款短剧视频(抖音/快手/小红书/B站等平台)
|
||
输出:专业剧本格式 + 套路分析报告
|
||
|
||
## 二、工作流程
|
||
|
||
### Phase A · 数据采集(朝暮主动)
|
||
工具:MediaCrawler(27.7k⭐ 开源)
|
||
策略:
|
||
- 搜索关键词:短剧热门标签、爆款剧名
|
||
- 筛选条件:点赞/播放量高、近7天发布
|
||
- 平台:抖音 + 快手 + 小红书(主流短剧分发平台)
|
||
输出:短剧视频文件 + 元数据(标题、播放量、点赞数)
|
||
|
||
### Phase B · 视频→剧本翻译
|
||
Step 1 · 音频转文字(ASR)
|
||
工具:Whisper(开源,光湖已有)
|
||
输出:带时间戳的逐字稿
|
||
|
||
Step 2 · 画面关键帧提取
|
||
工具:FFmpeg(开源)
|
||
策略:每3-5秒提取一帧,或检测场景切换时提取
|
||
输出:关键帧图片序列 + 时间戳
|
||
|
||
Step 3 · 画面描述(视觉理解)
|
||
工具:调用视觉LLM分析关键帧
|
||
输出:每帧的场景描述(人物位置、动作、表情、景别、运镜)
|
||
|
||
Step 4 · AI 编排合成(核心步骤)
|
||
输入:时间轴对齐的 [逐字稿 + 画面描述]
|
||
工具:LLM(DeepSeek,已有key)
|
||
流程:
|
||
a) 识别说话角色 → 区分不同人物
|
||
b) 按时间轴编排:
|
||
[时间戳] 场景/镜头描述
|
||
角色名:(语气)"对白"
|
||
c) 格式化为专业剧本结构
|
||
|
||
### Phase C · 套路分析(核心价值)
|
||
对生成的剧本进行结构化分析:
|
||
- 黄金3秒钩子分析(开头第一个镜头是什么)
|
||
- 情绪曲线(起承转合标记)
|
||
- 反转节点(位置+类型)
|
||
- 结尾卡点(在哪断章)
|
||
- 节奏分析(每场时长、对白密度)
|
||
输出:套路分析报告(存入仓库,下次生成直接调用)
|
||
|
||
### Phase D · 套路库沉淀
|
||
每次分析结果 → 格式化为结构化套路模板 → 存入仓库
|
||
下次写新剧本时:"追妻火葬场最近流行什么开头?" → 翻套路库
|
||
|
||
## 三、开源工具清单
|
||
|
||
| 环节 | 工具 | 许可证 | 已有 |
|
||
|------|------|--------|------|
|
||
| 数据采集 | MediaCrawler | 开源 | ❌ 需部署 |
|
||
| ASR | Whisper | MIT | ✅ 光湖已有 |
|
||
| 关键帧提取 | FFmpeg | LGPL | ✅ 光湖已有 |
|
||
| 视觉理解 | DeepSeek视觉API | API调用 | ✅ 有key |
|
||
| 文本编排 | DeepSeek Chat | API调用 | ✅ 有key |
|
||
| 套路分析 | DeepSeek Chat | API调用 | ✅ 有key |
|
||
|
||
## 四、架构
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────┐
|
||
│ Phase A · 朝暮主动搜索 │
|
||
│ MediaCrawler → 抖音/快手/小红书/B站 │
|
||
│ → 筛选爆款(播放量+点赞+发布时间) │
|
||
└─────────────────────┬───────────────────────────┘
|
||
↓ 视频文件
|
||
┌─────────────────────┴───────────────────────────┐
|
||
│ Phase B · 视频→剧本翻译 │
|
||
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
||
│ │ ASR提取 │ │关键帧提取│ │视觉理解 │ │
|
||
│ │ Whisper │ │ FFmpeg │ │DeepSeek │ │
|
||
│ └────┬────┘ └────┬────┘ └────┬────┘ │
|
||
│ └────────────┼────────────┘ │
|
||
│ ↓ 时间轴对齐 │
|
||
│ ┌──────────────┐ │
|
||
│ │ AI编排合成 │ │
|
||
│ │ 剧本输出 │ │
|
||
│ └──────┬───────┘ │
|
||
└─────────────────────┼───────────────────────────┘
|
||
↓ 剧本
|
||
┌─────────────────────┴───────────────────────────┐
|
||
│ Phase C · 套路分析 │
|
||
│ 钩子 → 情绪曲线 → 反转 → 卡点 → 节奏 │
|
||
│ → 套路分析报告 │
|
||
└─────────────────────┼───────────────────────────┘
|
||
↓ 结构化数据
|
||
┌─────────────────────┴───────────────────────────┐
|
||
│ Phase D · 套路库沉淀 │
|
||
│ 存入仓库 → 下次写剧本直接调用 │
|
||
└─────────────────────────────────────────────────┘
|
||
```
|
||
|
||
## 五、产出物
|
||
|
||
1. 专业剧本(.md)
|
||
2. 套路分析报告(.hdlp)
|
||
3. 爆款特征总结
|
||
4. 套路库(持续累积)
|
||
|
||
## 六、朝暮的主动策略
|
||
|
||
不只是"之之给什么我分析什么",而是:
|
||
- 定期扫描各平台新发爆款短剧
|
||
- 建立爆款指数:播放量×完播率×互动率 综合排名
|
||
- 同类题材横向对比:找出"这个题材的标配套路"
|
||
- 趋势追踪:这周流行什么开头、什么反转
|
||
|
||
[LOCK]
|
||
status: spec_updated
|
||
next: 安装MediaCrawler → 跑通一条完整链路 → 给之之看第一次产出
|
||
deploy: 硅谷服务器
|
||
gitee: ❌ 不推送(内部工具,放Gitea大本营)
|