SceneFab - AI 影视解说视频创作工具,一键完成智能拆条 · 解说生成 · 配音合成
Project description
SceneFab · AI 影视解说视频创作工具
上传一部短剧 → AI 自动完成 25 集整季批量生产 → 一键导出抖音/B站/小红书 从「几天一条」变成「一天十条」,从「单平台发布」变成「一键多平台分发」。
🎉 v2.0 重大更新 — 短剧解说业务特化
SceneFab v2.0 是一次面向短剧解说业务的重大升级,专注批量生产、多平台分发、流水线性能与安全加固。
⚡ 性能提升(vs v1.1.0)
| 指标 | v1.1.0 | v2.0.0 | 提升 |
|---|---|---|---|
| 10min 视频处理 | ~70s | ~40s | ↓ 43% |
| 短剧整季 25 集 | ~29min | ~15min | ↓ 48% |
| LLM 首字延迟 | 20s | < 2s | ↓ 90% |
| FFmpeg 注入面 | 多处 | 0 | ↓ 100% |
🚀 v2.0 八大核心能力
⚡ DAG 并行流水线拓扑排序 + parallel_group |
📺 短剧整季批量25-50 集一键导入 |
🎬 8 平台智能适配抖音/B站/小红书/西瓜/YouTube/TikTok/快手/剪映 |
🔒 FFmpeg 安全加固参数白名单 + 注入防护 |
📝 LLM 流式输出逐 token UI 推送 |
🎭 短剧 4 风格悬疑/甜宠/复仇/逆袭 |
📊 审计日志SQLite 持久化 |
🛠️ 统一 Worker 基类PySide6/headless 双模式 |
它是什么?
SceneFab 是为自媒体解说创作者打造的 AI 影视解说视频一站式创作工具。上传一部电影或短剧,AI 自动理解视频语义、按情节拆条、生成第一人称解说稿、合成情感化配音、对齐字幕、最终输出带解说的完整视频。
核心能力(继承自 v1.x)
🎬 AI 语义拆条Qwen2.5-VL 视觉理解 |
🎭 情感峰值选段视觉 × 音频双维评分 |
✍️ AI 解说稿生成DeepSeek-V4 · 7+ 风格 |
🎙️ 一键配音合成Edge-TTS · F5-TTS |
💻 命令行原生pip install 即用 |
🔒 完全本地视频文件永不上传 |
快速开始
下载安装
| 平台 | 架构 | 文件 |
|---|---|---|
| Windows | x64 | SceneFab-2.0.0-win-x64.exe |
| macOS | Apple Silicon | SceneFab-2.0.0-mac-arm64.dmg |
| macOS | Intel | SceneFab-2.0.0-mac-x64.dmg |
| Linux | x64 | SceneFab-2.0.0-linux-x64.AppImage |
📦 也可从 PyPI / 源码安装:
# PyPI(推荐用户)
pip install scenefab>=2.0.0
# 源码(推荐开发者)
git clone https://github.com/Agions/scene-fab.git
cd scene-fab
pip install -e .
运行
# 启动 GUI
scenefab gui
# 短剧整季批量生产(v2.0 新增)
scenefab batch /path/to/series/ --preset short_drama_suspense --parallel 2
# 多平台一键导出(v2.0 新增)
scenefab export master.mp4 --platforms douyin,bilibili,xiaohongshu
# 单视频解说创作
scenefab commentary create-movie ./movie.mp4 --style 纪录片 --output ./output/
配置 AI(只需一个 Key)
# DeepSeek(解说生成主力)
export DEEPSEEK_API_KEY="sk-..."
# 可选:Qwen2.5-VL(视觉理解)
export QWEN_API_KEY="sk-..."
# 不配置也能用:Edge-TTS 配音、字幕对齐、视频合成等基础功能全本地可用
架构
SceneFab v2.0 采用 分层 + 模块化 架构,8 个 v2.0 新核心模块(scenefab.core.*)与 v1.x 服务层无缝集成:
┌────────────────────────────────────────────────────────────────────┐
│ 🎬 SceneFab v2.0 Architecture │
└────────────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────┐
│ UI 层 (PySide6 6.9 + Design Tokens) │
│ HomePage · 5-Step Wizard · MonitorPanel · Worker │
│ ↓ Signal/Slot │
└──────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────┐
│ v2.0 核心引擎 (scenefab.core.*) │
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌────────────┐ │
│ │ PipelineEngine │ │ BatchProcessor │ │ BaseWorker │ │
│ │ (DAG 并行) │ │ (批量+断点) │ │ (统一基类) │ │
│ └─────────────────┘ └─────────────────┘ └────────────┘ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌────────────┐ │
│ │ SafeFFmpegCmd │ │ AuditLogger │ │ShortDrama │ │
│ │ (白名单+审计) │ │ (SQLite 审计) │ │ Narrator │ │
│ └─────────────────┘ └─────────────────┘ └────────────┘ │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │PlatformAdapter │ │ StreamingLLM │ │
│ │ (8 平台适配) │ │ Worker (流式) │ │
│ └─────────────────┘ └─────────────────┘ │
└──────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────┐
│ v1.x Services (业务服务层) │
│ │
│ services/ai/ LLM / Vision / TTS / ASR 适配器 │
│ services/video/ FFmpeg / 帧提取 / 合成 / 缓存 │
│ services/audio/ 音频处理 / 字幕对齐 │
│ services/export/ MP4 / 剪映草稿 / 平台导出 │
│ services/orchestration/ 任务调度 / 项目管理 │
└──────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────┐
│ Models + Utils + Plugins (数据+工具) │
│ models/ 枚举 + 领域模型 │ utils/ 工具函数 │
│ interfaces/ 抽象接口 │ plugins/ 插件加载 │
└──────────────────────────────────────────────────────────┘
更详细的架构文档请见 在线文档 - 架构 与 ADR 决策记录。
技术栈
| 模块 | 模型 / 技术 | 说明 |
|---|---|---|
| v2.0 DAG 流水线 | ThreadPoolExecutor + 拓扑排序 | 短剧整季并行处理 ↓48% |
| v2.0 审计日志 | SQLite 3 | LLM/FFmpeg 调用全程追溯 |
| v2.0 FFmpeg 封装 | 参数白名单 + 危险字符检测 | 消除 90%+ 命令注入面 |
| 语义拆条 | Qwen2.5-VL | 视频帧逐帧理解,语义场景边界检测 |
| 解说生成 | DeepSeek-V4 | 第一人称视角,7+ 预设风格 + 短剧 4 风格 |
| 情感评分 | 视觉 + 音频双维 | 画面信息密度 + 语调变化 |
| 配音合成 | Edge-TTS · F5-TTS | Edge 主流低延迟,F5 零样本音色克隆 |
| 字幕对齐 | TTS Word-level Timing | 精确到每个字的起止时间,50ms 精度 |
| 视频合成 | FFmpeg | H.264/H.265 编码,本地处理 |
| 多平台导出 | v2.0 PlatformAdapter | 8 平台 (抖音/B站/小红书/西瓜/YouTube/TikTok/快手/剪映) |
| UI 框架 | PySide6 6.9 | Qt for Python,原生桌面体验 |
| 状态管理 | PyQt Signal/Slot | 跨组件解耦,事件驱动 |
短剧解说业务流
v2.0 为短剧(1-3 分钟/集,整季 25-50 集)业务做了深度优化:
┌─────────────────────────────────────────────────────────────┐
│ 短剧整季批量生产 (v2.0 Short Drama Mode) │
└─────────────────────────────────────────────────────────────┘
INPUT: /series/重生女王归来/
├── EP01.mp4 ─┐
├── EP02.mp4 ─┤
├── ... ├─→ 自动识别集数 + 剧情连贯性分析
└── EP25.mp4 ─┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ Phase 1: 全局预分析(一次性,整季共享) │
│ · 快速扫描 → 剧情时间线 │
│ · 主角团识别 → 角色关系图谱 │
│ · 提取高光时刻 → 高潮索引 │
└─────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ Phase 2: 并行批量处理(2-4 集并行) │
│ Worker 1: EP01 → EP03 → EP05 ... │
│ Worker 2: EP02 → EP04 → EP06 ... │
│ 每集:拆条→桥段识别→解说→配音→合成(v2.0 DAG 并行) │
└─────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ Phase 3: 整季后处理 + 多平台分发 │
│ · 统一封面风格(视觉一致性) │
│ · 整季剧情摘要 │
│ · 一键导出 8 平台版本(v2.0 PlatformAdapter) │
└─────────────────────────────────────────────────────────┘
│
▼
OUTPUT:
output/重生女王归来/
├── douyin/ # 抖音 9:16 竖屏
├── bilibili/ # B站 16:9 横屏
├── xiaohongshu/ # 小红书 3:4
├── xigua/ # 西瓜视频 16:9
├── youtube/ # YouTube 16:9
└── jianying/ # 剪映草稿 (可二次编辑)
文档
| 文档 | 说明 |
|---|---|
| 快速开始 | 5 分钟上手 |
| 功能详解 | 全部功能说明 |
| AI 工作流 | 5 步流水线详解 |
| 架构设计 | 模块划分 + 数据流 |
| ADR 决策记录 | 5 篇架构决策(v2.0) |
| 配置参考 | 环境变量与配置文件 |
| 疑难排查 | 常见问题 |
在线文档:https://agions.github.io/scene-fab/
路线图
✅ v2.0.0 (2026-06-04) — 当前版本
- DAG 并行流水线引擎(拓扑排序 + parallel_group + always_run)
- FFmpeg 安全封装(参数白名单 + 注入防护 + 审计集成)
- 操作审计日志(SQLite 持久化)
- 批量任务处理器(并行 + 断点续传 + 自动重试)
- 短剧解说特化(4 风格 + 7 桥段识别 + 整季批量)
- 多平台智能适配(8 平台 + 智能裁剪 + 平台封面)
- 统一 Worker 基类(PySide6/headless 双模式)
- LLM 流式输出(逐 token 推送 + 句子边界检测)
- 5 篇架构决策记录(ADR-001 ~ 005)
✅ v1.1.0 (2026-06-02) — 8-Phase 架构重构
- 8-Phase 架构重构(类型统一、兼容层清理、大文件拆分)
- 启用 ruff
UP(pyupgrade) 规则(1573 个 lint 错误清零) - 完全向后兼容 v1.0.x
🚧 进行中
- Web Dashboard(轻量级远程监控 + 任务管理)
- 插件市场(用户自定义 AI Provider / TTS 音色)
- 多语言 i18n(日 / 韩 / 英 / 西 4 语言界面)
🔮 未来规划
- 直播解说模式(实时视频流接入 + 低延迟 AI 解说)
- 智能字幕翻译(保留时序的多语言翻译)
- 云端协作(项目云存储 + 多人审稿)
- 移动端预览(iOS / Android 实时预览 App)
贡献
欢迎 PR / Issue / Discussion!请遵循以下流程:
- Fork 本仓库
- 创建 feature 分支(
git checkout -b feat/amazing-feature) - 提交改动(Conventional Commits 规范):
feat: 新功能 fix: bug 修复 docs: 文档更新 style: 格式调整(无逻辑变化) refactor: 重构(无新功能/无 bug 修复) perf: 性能优化 test: 测试 chore: 构建/工具链 - 推送分支(
git push origin feat/amazing-feature) - 创建 Pull Request
致谢
SceneFab 的诞生离不开以下开源项目:
- PySide6 — Qt for Python,桌面 UI 框架
- Qwen2.5-VL — 阿里通义千问视觉语言模型
- DeepSeek — 高性价比中文 LLM
- Edge-TTS — 微软 Edge 文本转语音
- F5-TTS — 零样本语音克隆
- FFmpeg — 视频处理瑞士军刀
- Ruff — 极速 Python linter
- orjson — 高性能 JSON 序列化
- pytest — 测试框架
许可证
MIT License · Copyright © 2025-2026 Agions
⭐ 如果 SceneFab 对你有帮助,请给一个 Star · 🐛 遇到问题请提交 Issue
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scenefab-2.0.0.tar.gz.
File metadata
- Download URL: scenefab-2.0.0.tar.gz
- Upload date:
- Size: 672.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca19dc022c6acfdfb75dcca99576055e087486433271e1cbcdab19d8d25cbb51
|
|
| MD5 |
9e872fc3343480c44bb9816debf54668
|
|
| BLAKE2b-256 |
0a53a6e89542d209df9e2f3279b678b36bed4b65af96676182dfcd622238c5d1
|
File details
Details for the file scenefab-2.0.0-py3-none-any.whl.
File metadata
- Download URL: scenefab-2.0.0-py3-none-any.whl
- Upload date:
- Size: 713.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d141ab25117a5bfb453f67c1bc78ee4fc52af778ae42ae02510992c711e81fd2
|
|
| MD5 |
c99bccb64c8b2c485575d1f509e81981
|
|
| BLAKE2b-256 |
3c7ccb5db0cd7fece77731d7e959e00c8b44a8866aaca7fb140c24632408f5a8
|