forge-film
首个开源 CPM 多模型影视生成引擎,将多场景 AI 视频流水线自动化编排
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
首个开源 CPM 多模型影视生成引擎,将多场景 AI 视频流水线自动化编排
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
F-R-L/forge-film 是目前开源生态中唯一将关键路径法(CPM)调度与多模型语义路由深度结合的 AI 影视生成引擎。它由独立开发者 F-R-L 创建,采用 MIT 许可证,主分支为 main,目前版本为 0.1.0(Alpha 阶段)。
图1:Forge 项目横幅
2024 年起,Sora、Kling、Runway Gen-3、CogVideoX 等文生视频模型陆续开放,AI 生成单段视频的能力已相当成熟。然而,制作一个完整的多场景短片——比如一段 6 场戏的侦探故事——在实际操作中仍然极其繁琐:
场景 A 走 Kling,场景 B 走 CogVideoX,场景 C 走 Seedance——三个平台来回登录,手动下载帧。不同模型的色彩风格差异巨大,直接拼接会产生明显的色调跳变。8 场戏的短片,仅在各平台之间来回操作就能耗掉大半天。
Forge 正是为解决这个「最后一公里」问题而生的。 它将整条多场景 AI 影视制作流水线自动化:故事文本 -> DAG 依赖图 -> 多模型并行生成 -> 跨模型色彩校准 -> 最终视频拼接,一条命令搞定。
1. 故事 -> DAG:LLM 驱动的场景图编译
用户只需提供一段纯文本故事(如 examples/detective.txt),Forge 内置的 VisionCompiler 调用 GPT-4o/Claude/DeepSeek 将其编译为场景依赖图(Scene Graph)。每个节点代表一个场景,边代表叙事依赖关系(如「侦探发现地下室」依赖「侦探找到钥匙」)。
这一步骤的本质是将叙事逻辑转化为可计算的调度约束。代码中,compiler/vision_compiler.py 负责调用 LLM 解析,compiler/schema.py 定义了 Scene、ProductionPlan、Asset 等 Pydantic 数据模型。
2. CPM 并行调度:将拓扑序变为关键路径最优
图2:场景 DAG 依赖图示意
传统的 AI 生成流水线是串行的:等场景 A 生成完,再生成场景 B。Forge 的核心创新在于引入关键路径法(Critical Path Method)——在 DAG 中找出最长依赖链(如 S1->S2->S4->S6),将其设为最高优先级;同时识别出可并行执行的无依赖节点(如 S1 和 S3 在 t=0 同时启动)。
以 6 场戏侦探故事为例:关键路径为 S1 -> S2 -> S4 -> S6。使用 4 个 worker 时,估算总耗时从 30 分钟(串行)降至 20 分钟,加速比随场景独立性而扩展。Scheduler 实现(scheduler/scheduler.py)基于 Python asyncio + heapq 优先级队列,支持 N 个 worker 并发执行,单场景失败自动重试(指数退避,最多 2 次)。
3. 跨模型色彩校准:消除拼接断层
图3:跨模型色彩连续性校准流程
这是 Forge 最有技术含量的细节之一。当场景 B(CogVideoX)紧随场景 A(Kling)时,两者色彩风格迥异——直接拼接会产生明显的色调跳变。
continuity/color_calibration.py 中的 ColorCalibrator 自动执行:提取场景 A 的最后一帧 -> 对该帧做 BGR 三通道直方图匹配 -> 将校正后的帧作为场景 B 的 i2v(图生视频)种子图传入。效果是跨模型边界实现平滑过渡,无需任何手动调色。代码支持两种校准方法:histogram(默认,快速)和 mean_std(简化退路),若 opencv 或 numpy 不可用则静默回退。
图4:Forge 系统架构
Forge 的架构遵循严格的依赖倒置原则,所有视频后端都继承 BasePipeline 抽象类,只需实现 generate() 方法,新增一个后端只需约 50 行代码。Router 通过 forge.yaml 中的 routing 字段将场景类型(dialogue/action/landscape)映射到具体后端。
| 模块 | 职责 | 关键文件 |
|---|---|---|
| ForgeConfig | 统一配置管理(forge.yaml + .env) | config.py |
| VisionCompiler | 故事 -> DAG 编译(LLM 驱动) | compiler/vision_compiler.py |
| ForgeScheduler | CPM 并行调度 + 重试机制 | scheduler/scheduler.py |
| PipelineRouter | 场景类型 -> 后端路由 | generation/router.py |
| BasePipeline | 视频后端抽象接口 | generation/base.py |
| ColorCalibrator | 跨模型直方图校准 | continuity/color_calibration.py |
| StreamAssembler | ffmpeg 视频拼接 | assembler/stream_assembler.py |
Forge 同时提供 Gradio Web UI 和命令行两种交互方式。
图5:Gradio Web UI 界面
# 规划阶段:查看 DAG 和路由方案(不实际生成)
forge plan examples/detective.txt --scenes 6
# 执行阶段:并行生成
forge run examples/detective.txt --workers 4
安装方式: pip install forge-film,或从源码 pip install -e . 安装。
硬件需求(分两种模式):
| 模式 | GPU | 显存 | 内存 | 磁盘 |
|---|---|---|---|---|
| 云端 API(Kling/Seedance) | 不需要 | N/A | 4GB | 2GB |
| 本地后端(CogVideoX/Wan) | 需要 | 8GB+ | 4GB | 5GB |
不支持 Docker 一键部署:项目无 Dockerfile 和 docker-compose.yml,部署文档依赖手动配置环境变量(OPENAI_API_KEY、KLING_API_KEY 等)。Python 版本要求 3.11+,必须预装 ffmpeg。
v0.1.0 Alpha:Roadmap 中 Seedance 后端、Wan 2.x 后端尚未实现,生产环境使用需谨慎。
API 成本:Kling/Seedance 按秒计费,大规模使用成本不可忽视。CogVideoX 本地后端虽免费但需要 GPU。
VLM 校验默认关闭:可能增加跨场景内容漂移风险。
图6:并行调度性能基准测试