一、需求
搭建一个专为影视解说打造的全自动视频解说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 Scene300Step8 自动选镜头
不用再搜。
直接:
Scene Database查:
Tony造战甲得到:
Scene233 96% 匹配自动插入。
Step9 节奏优化
例如:
高潮:
保留 100%对白:
保留30%风景:
删除重复:
删除Step10 AI配音
推荐:
CosyVoice2 Fish Speech GPT-SoVITS生成:
voice.wavStep11 自动字幕
直接根据:
script + voice生成:
srtStep12 自动剪辑
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个SceneClaude:
输出:
剧情树例如:
获得能力 ↓ 成长 ↓ 危机 ↓ 高潮 ↓ 结局甚至:
人物关系图⑤ 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.jsonOpenMontage:
直接读取。
我建议增加 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/ PaddleOCRmodels/ tts/ CosyVoice2models/ asr/ WhisperXmodels/ embedding/ bge-m3全部统一。
plugins
以后:
任何能力:
都是插件。
例如:
plugins/ PySceneDetect/ FFmpeg/ MoviePy/ Whisper/ PaddleOCR/ OpenMontage/以后:
升级:
直接:
git pull即可。
database
这里不要放 SQL。
而是:
统一管理。
例如:
database/ sqlite/ qdrant/ cache/SQLite:
管理:
项目 人物 Scene TimelineQdrant:
保存:
Scene Embedding以后:
Claude:
直接:
找Tony第一次飞Qdrant:
直接:
Scene233storage
这里放素材。
例如:
storage/ movie/ scene/ frame/ audio/ subtitle/ thumbnail/ output/例如:
movie/ IronMan.mp4自动:
生成:
scene/ Scene001.mp4再:
frame/ Scene001/ 0001.jpg最后:
output/ IronMan_Final.mp4projects
每个电影:
一个项目。
例如:
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.mdAgent:
只负责:
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,都不会影响整体架构。