一、需求
搭建一个专为影视解说打造的全自动视频解说agent平台,支持短剧、电影、动漫等本地视频解说的所有流程。
二、架构:AI Movie Studio
本地视频
│
▼
视频分析
│
▼
场景切分
│
▼
Vision理解
│
▼
剧情理解
│
▼
自动写解说
│
▼
自动选镜头
│
▼
AI配音
│
▼
字幕
│
▼
自动剪辑
│
▼
导出成片
Step1 导入本地视频
例如:
Movies/
IronMan.mp4
西虹市首富.mkv
Anime/
鬼灭之刃/
Drama/
庆余年/
自动扫描:
支持:
mp4
mkv
avi
ts
mov
建立项目:
Project/
IronMan/
Step2 自动切镜头(Scene Detection)
这是影视解说最重要的一步。
例如:
一部:
2小时电影
自动变成:
Scene001
Scene002
...
Scene876
建议工具:
- PySceneDetect(首选)
- FFmpeg scene filter
- PyAV
每个 Scene:
20秒
35秒
5秒
80秒
Step3 Vision 理解
每个 Scene:
抽取关键帧:
1秒一帧
或者
每Scene抽8帧
然后送给视觉模型。
推荐:
| 模型 | 推荐度 |
|---|---|
| Qwen2.5-VL | ⭐⭐⭐⭐⭐ |
| InternVL3 | ⭐⭐⭐⭐ |
| Gemma3 Vision | ⭐⭐⭐⭐ |
| Florence-2 | ⭐⭐⭐ |
输出类似:
{
"scene":235,
"characters":[
"Tony",
"Pepper"
],
"location":"实验室",
"action":"Tony制造Mark2",
"emotion":"兴奋",
"importance":95
}
Step4 OCR
自动识别:
中文字幕
日文字幕
英文字幕
推荐:
PaddleOCR
EasyOCR
动漫尤其重要。
Step5 ASR
提取对白:
推荐:
Whisper Large-v3
WhisperX
SenseVoice
得到:
00:10
Tony:
I am Iron Man.
Step6 剧情理解
这是 Claude 最擅长的。
输入:
876个Scene
+
对白
+
字幕
+
OCR
+
人物
Claude输出:
剧情总结
人物关系
高潮
反转
伏笔
时间线
例如:
第一幕
↓
获得能力
↓
反派出现
↓
高潮
↓
结局
Step7 自动写解说
例如:
Prompt:
写8分钟B站风格
搞笑
电影解说
Claude:
输出:
script.md
甚至:
每一句
对应Scene编号
例如:
Scene123
Scene245
Scene300
Step8 自动选镜头
不用再搜。
直接:
Scene Database
查:
Tony造战甲
得到:
Scene233
96%
匹配
自动插入。
Step9 节奏优化
例如:
高潮:
保留
100%
对白:
保留30%
风景:
删除
重复:
删除
Step10 AI配音
推荐:
CosyVoice2
Fish Speech
GPT-SoVITS
生成:
voice.wav
Step11 自动字幕
直接根据:
script
+
voice
生成:
srt
Step12 自动剪辑
MoviePy:
或者:
FFmpeg
自动:
切镜头
缩放
淡入
字幕
背景音乐
Logo
输出:
IronMan_解说.mp4
我建议增加两个 AI 模块
① HighLight Agent(高光检测)
自动找:
打斗
爆炸
哭
笑
接吻
反转
高潮
死亡
Boss出现
自动评分:
Scene421
98分
影视解说几乎都要这个。
② Hook Agent(前三秒)
现在短视频最重要的是:
前三秒
Claude可以:
自动:
从高潮
倒叙
剪一个Hook
例如:
00:00
Boss爆炸
↓
画面暂停
↓
"谁能想到"
↓
开始正文
三、项目落地
结合你一直在使用的 Claude Code + Skills ,我会把整个系统拆成 10~12 个独立 Skill,而不是一个庞大的程序。例如:
video_import_skillscene_detect_skillvision_analysis_skilldialog_transcribe_skillstory_analysis_skillscript_writer_skillhighlight_selector_skilltts_skillsubtitle_skillauto_editor_skillreview_skill
这样每个 Skill 都可以独立升级和替换模型(例如未来把 Qwen2.5-VL 换成更新的视觉模型),整个系统会更容易维护,也更适合作为一个长期迭代的 AI 自动影视解说平台。
openmontage/video-use能否实现你说的这些?或者你有没有推荐的项目实现你说的这些skill,给我一个能工程化的方案
我认真看了 OpenMontage (就是你说的 openmontage/video-use,应该是指 OpenMontage 的 Agent Video Production System)。
如果评分的话:
| 能力 | OpenMontage | 我推荐的方案 |
|---|---|---|
| AI写脚本 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| AI配音 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 自动字幕 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 自动剪辑 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Agent Skill架构 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 本地视频分析 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 影视剧情理解 | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| 自动影视解说 | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| 动漫解说 | ⭐ | ⭐⭐⭐⭐⭐ |
| 长剧自动解说 | ⭐ | ⭐⭐⭐⭐⭐ |
我的建议只有一句话:
不要 Fork OpenMontage 去改,而是把 OpenMontage 当作"视频生产引擎",在它上面再做一个 AI Movie Studio。
原因是 OpenMontage 的定位其实不是影视解说,它更偏向于一个Agent 化的视频制作平台,提供了多种视频生产流水线、几十个工具和大量 Skill,负责研究、脚本、素材、配音、字幕、渲染等通用能力。
为什么我不建议直接用 OpenMontage
OpenMontage 的核心 Pipeline 更像:
Prompt
↓
Research
↓
Script
↓
Generate Assets
↓
Compose
↓
Render
它更适合:
- 科普视频
- 广告
- 宣传片
- Explainer
- Documentary
- AI生成视频
官方也强调的是这些生产流程。
但是你的需求是:
电影
↓
AI理解电影
↓
理解剧情
↓
挑片段
↓
重新组织
↓
影视解说
这完全不是一个问题。
真正缺少的是 Video Understanding Layer
OpenMontage:
Script
↓
Assets
↓
Compose
我建议增加:
Movie
↓
Scene Detect
↓
Scene Understanding
↓
Story Understanding
↓
Highlight Ranking
↓
Narration
↓
Timeline
↓
OpenMontage Compose
也就是说:
OpenMontage 负责后半部分。
前半部分需要重新写。
我建议的新架构
名字:
AI Movie Studio
目录:
AI-Movie-Studio/
├── core/
│
├── agents/
│
├── skills/
│
├── pipelines/
│
├── timeline/
│
├── vectordb/
│
├── models/
│
├── plugins/
│
└── ui/
其中:
OpenMontage
只占:
render/
tts/
subtitle/
compose/
music/
我认为真正应该新增的 Skill
① SceneDetect Skill
负责:
电影
↓
Scene001
Scene002
Scene003
建议:
PySceneDetect
+
FFmpeg
输出:
scene.json
② Vision Skill
这是最重要。
建议:
Qwen2.5VL
InternVL3
Gemma3 Vision
输出:
Scene001
Tony
实验室
Mark1
开心
重要程度92
③ Dialogue Skill
利用:
WhisperX
SenseVoice
生成:
对白
同时:
OCR字幕
融合。
④ Story Skill(核心)
这个是目前没人做好的。
输入:
1000个Scene
Claude:
输出:
剧情树
例如:
获得能力
↓
成长
↓
危机
↓
高潮
↓
结局
甚至:
人物关系图
⑤ Highlight Skill(核心)
例如:
评分:
高潮
98
战斗
92
爱情
84
伏笔
88
最后:
Top100 Scene
⑥ Narration Skill
Prompt:
毒舌
B站
搞笑
8分钟
Claude:
输出:
script.md
同时:
每一句
对应Scene
⑦ Timeline Skill(我认为最关键)
例如:
00:00
Scene233
↓
00:12
Scene520
↓
00:26
Scene103
自动生成:
timeline.json
OpenMontage:
直接读取。
我建议增加 VectorDB
这是 OpenMontage 没有重点做的。
例如:
Movie
↓
每Scene
↓
Embedding
↓
Milvus
Qdrant
FAISS
以后:
Claude:
直接:
Tony第一次飞
↓
Search
↓
Scene234
不用再重新分析。
我建议增加 Movie Knowledge Graph
例如:
Tony
↓
Pepper
↓
Obadiah
↓
Jarvis
关系:
Tony
制造
Mark2
剧情:
Mark1
↓
Mark2
↓
Mark3
以后:
Claude:
可以回答:
Tony什么时候第一次飞?
直接:
Scene233
我推荐的工程化技术栈
这是我认为目前最合理、可长期维护的一套:
| 模块 | 推荐项目 |
|---|---|
| Agent | Claude Code(主控) |
| 工作流 | OpenMontage(编排、渲染、字幕、配音) |
| 场景切分 | PySceneDetect |
| 视频读取 | PyAV |
| 剧情分析 | Qwen2.5-VL / InternVL3 |
| 对白识别 | WhisperX 或 SenseVoice |
| OCR | PaddleOCR |
| 向量数据库 | Qdrant(推荐)或 FAISS |
| 时间轴 | OpenTimelineIO |
| 剪辑 | FFmpeg + MoviePy |
| 渲染 | Remotion(沿用 OpenMontage) |
| 配音 | CosyVoice2 或 Fish Speech |
| 字幕 | WhisperX + ASS/SRT |
| 项目管理 | SQLite(开发期)→ PostgreSQL(生产) |
如果是我来设计这个项目
我不会把它做成一个 "AI 自动剪辑工具"。
我会把它定位成:
AI Movie Studio ------ 一个面向电影、电视剧、动漫、短剧的 Agent 化影视理解与自动解说平台。
它不是在 OpenMontage 上简单加几个 Skill,而是采用两层架构:
- 底层(Production Engine):直接复用 OpenMontage 已有的 Agent、渲染、字幕、TTS、Remotion、工作流等成熟能力。
- 上层(Movie Intelligence Engine):新增专门针对影视内容的能力,包括 Scene Detection、Vision Understanding、Story Graph、Highlight Ranking、Timeline Planning、Narration Planning、Movie RAG 等。
这样 OpenMontage 负责"怎么制作视频",而 Movie Intelligence Engine 负责"怎么理解电影"。
我认为这是目前最工程化、扩展性最好的一种方案,也是后续支持电影、电视剧、动漫、短剧甚至直播回放自动解说的最佳架构。
1.我的电脑配置是CPU i5-12490 + 内存16G + GTX1660S 6G 2.告诉我AI Movie Studio这个架构怎么搭建,目录怎么设计,每个目录放哪些开源项目实现 3.给出具体的实现搭建这个Agent 化影视理解与自动解说平台
你的配置我记得(i5-12490 + 16G + GTX1660S 6GB ),这个配置不适合本地运行大型 Vision 模型 ,但非常适合做 Agent 编排。
我建议把整个系统分成两层:
- 本地(1660S):负责视频处理、OCR、ASR、FFmpeg、PySceneDetect、配音、剪辑、缓存等。
- 云端 API(Claude Code + OpenAI/DeepSeek/Qwen API):负责剧情理解、脚本生成、镜头规划、Review 等需要大模型推理的部分。
这样 1660S 完全够用,而且后期你换 RTX5070、5080 或服务器,也几乎不用改架构。
我建议不要做 Auto Movie
而是直接做:
AI-Movie-Studio
定位:
一个 Agent 化影视理解平台
不是:
一个剪视频工具
两者差别非常大。
第一层
整个项目:
AI-Movie-Studio/
│
├── apps/ # 各种入口
│
├── agents/ # Agent
│
├── skills/ # Claude Skills
│
├── workflows/ # Pipeline
│
├── engine/ # 视频引擎
│
├── models/ # AI模型
│
├── storage/
│
├── database/
│
├── config/
│
├── plugins/
│
├── ui/
│
└── projects/
apps
这里只放启动器。
例如
apps/
movie-cli/
movie-web/
movie-worker/
movie-api/
建议:
FastAPI
Typer
Gradio
后期:
React
Electron
agents
这里是真正的 Agent。
例如:
agents/
planner/
research/
scene/
vision/
story/
timeline/
editor/
tts/
subtitle/
review/
publisher/
每一个都是一个 Agent。
例如:
agents/
vision/
agent.py
prompt.md
config.yaml
tool.py
完全独立。
skills
这是 Claude Code Skill。
例如:
skills/
scene_detect/
vision_understanding/
story_graph/
highlight/
script/
tts/
subtitle/
edit/
review/
以后 Claude:
@scene_detect
@story_graph
@timeline
即可调用。
workflows
这里就是 Pipeline。
例如:
movie.yaml
anime.yaml
tv.yaml
short_drama.yaml
例如:
movie.yaml
Import
↓
SceneDetect
↓
OCR
↓
Whisper
↓
Vision
↓
Story
↓
Script
↓
Timeline
↓
TTS
↓
Subtitle
↓
Render
以后:
Claude:
一句:
Run movie pipeline
全部执行。
engine
这里放所有视频能力。
例如:
engine/
video/
audio/
subtitle/
timeline/
render/
effect/
里面:
全部调用:
FFmpeg
MoviePy
PyAV
OpenTimelineIO
不要写重复代码。
例如:
engine/video/
split.py
merge.py
crop.py
fps.py
extract_frame.py
所有 Skill 共用。
models
这里只放模型。
例如:
models/
ocr/
asr/
vision/
tts/
embedding/
例如:
models/
ocr/
PaddleOCR
models/
tts/
CosyVoice2
models/
asr/
WhisperX
models/
embedding/
bge-m3
全部统一。
plugins
以后:
任何能力:
都是插件。
例如:
plugins/
PySceneDetect/
FFmpeg/
MoviePy/
Whisper/
PaddleOCR/
OpenMontage/
以后:
升级:
直接:
git pull
即可。
database
这里不要放 SQL。
而是:
统一管理。
例如:
database/
sqlite/
qdrant/
cache/
SQLite:
管理:
项目
人物
Scene
Timeline
Qdrant:
保存:
Scene Embedding
以后:
Claude:
直接:
找Tony第一次飞
Qdrant:
直接:
Scene233
storage
这里放素材。
例如:
storage/
movie/
scene/
frame/
audio/
subtitle/
thumbnail/
output/
例如:
movie/
IronMan.mp4
自动:
生成:
scene/
Scene001.mp4
再:
frame/
Scene001/
0001.jpg
最后:
output/
IronMan_Final.mp4
projects
每个电影:
一个项目。
例如:
projects/
IronMan/
Avatar/
庆余年/
鬼灭之刃/
里面:
video/
scene/
ocr/
story/
script/
tts/
timeline/
review/
互相独立。
每个 Agent 怎么设计?
例如:
Scene Agent
目录:
agents/
scene/
├── agent.py
├── prompt.md
├── config.yaml
├── output_schema.py
├── tool.py
└── README.md
Agent:
只负责:
Scene Detection
不要:
OCR
不要:
Whisper
不要:
Story
保证:
单一职责。
Story Agent
输入:
Scene
OCR
Dialogue
输出:
story.json
例如:
{
"chapter":[
],
"timeline":[
],
"relationship":[
]
}
以后:
所有:
Skill:
共享。
Highlight Agent
输入:
story.json
输出:
highlight.json
例如:
{
"scene":235,
"score":98,
"type":"battle"
}
Timeline Agent
输入:
script.md
输出:
timeline.json
例如:
00:00
Scene123
00:13
Scene420
00:28
Scene523
最后:
Render:
直接:
读取。
我推荐的开源项目(按模块)
这是我会采用的一套组合,而不是单一框架:
| 模块 | 推荐项目 | 用途 |
|---|---|---|
| Agent 编排 | Claude Code Skills | Agent、Skill、工作流 |
| 视频切镜 | PySceneDetect | 自动场景检测 |
| 视频处理 | PyAV + FFmpeg | 解码、切片、转码 |
| 剪辑 | MoviePy + OpenTimelineIO | 时间轴和合成 |
| OCR | PaddleOCR | 字幕、片头文字识别 |
| ASR | WhisperX 或 SenseVoice | 对白转文本 |
| 配音 | CosyVoice2 | 中文 TTS |
| Embedding | BGE-M3 | 场景向量化 |
| 向量数据库 | Qdrant | Scene 检索 |
| LLM | Claude Code + API(Claude / GPT / DeepSeek) | 剧情理解、脚本、规划 |
| 数据库 | SQLite(开发)→ PostgreSQL(生产) | 项目元数据 |
| 缓存 | Redis(可选) | Agent 状态、任务队列 |
| Web API | FastAPI | 对外接口 |
| 前端 | Gradio(开发)→ React(正式) | 操作界面 |
四、开发周期
第一阶段(2~3 周)
目标是跑通一条最小可用链路:
导入电影 → 场景切分 → OCR/ASR → Claude 生成解说脚本 → CosyVoice 配音 → FFmpeg 合成视频。
这时先不要做复杂的剧情图谱和向量检索。
第二阶段(4~6 周)
增加智能能力:
- Vision 场景分析
- Highlight Ranking(精彩片段评分)
- Timeline 自动规划
- Scene 向量检索(Qdrant)
- 多种解说风格模板(B站、抖音、纪录片等)
第三阶段(长期)
把它真正做成一个 Agent 平台:
- 多 Agent 协同
- 支持电影、电视剧、动漫、短剧
- Web UI
- 插件系统
- 批量处理
- 一键生成不同平台版本(16:9、9:16、1:1)
- 自动封面、标题、简介、标签生成
- 审核与质量评分
我认为最值得投入的不是继续寻找一个"现成项目",而是以这些成熟开源项目为底座,搭建一个统一的 Agent 平台。 目前市面上的开源项目大多只解决了其中一两个环节(例如场景切分、字幕识别或自动剪辑),而真正有价值的是把它们用统一的数据结构(如 scene.json、story.json、timeline.json)串联起来。这样后续无论更换模型、升级工具还是增加新的 Skill,都不会影响整体架构。