Skip to main content

SceneFab - AI 影视解说视频创作工具,一键完成智能拆条 · 解说生成 · 配音合成

Project description

SceneFab

SceneFab · AI 影视解说视频创作工具

上传一部短剧 → AI 自动完成 25 集整季批量生产 → 一键导出抖音/B站/小红书 从「几天一条」变成「一天十条」,从「单平台发布」变成「一键多平台分发」。

License: MIT Python PySide6 Platform Version

在线文档 · 下载 v2.0.0 · 报告问题 · 功能建议


🎉 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
解说生成/配音/封面 3 步并行,整季 25 集 15 分钟出

📺 短剧整季批量

25-50 集一键导入
自动识别集数(EP01/第01集),断点续传,自动重试

🎬 8 平台智能适配

抖音/B站/小红书/西瓜/YouTube/TikTok/快手/剪映
一键导出多版本,AI 智能裁剪 + 平台封面

🔒 FFmpeg 安全加固

参数白名单 + 注入防护
消除 90%+ 命令注入面,审计日志全程记录

📝 LLM 流式输出

逐 token UI 推送
首字延迟 < 2s,实时看到解说稿生成过程

🎭 短剧 4 风格

悬疑/甜宠/复仇/逆袭
7 桥段识别(打脸/救场/心动/反转…)

📊 审计日志

SQLite 持久化
所有 LLM/FFmpeg 调用可追溯

🛠️ 统一 Worker 基类

PySide6/headless 双模式
取消/暂停/错误传播统一封装


它是什么?

SceneFab 是为自媒体解说创作者打造的 AI 影视解说视频一站式创作工具。上传一部电影或短剧,AI 自动理解视频语义、按情节拆条、生成第一人称解说稿、合成情感化配音、对齐字幕、最终输出带解说的完整视频。

核心能力(继承自 v1.x)

🎬 AI 语义拆条

Qwen2.5-VL 视觉理解
自动识别场景边界、人物动作、对话起止

🎭 情感峰值选段

视觉 × 音频双维评分
优先挑选叙事高潮片段

✍️ AI 解说稿生成

DeepSeek-V4 · 7+ 风格
第一人称视角,词级时间戳

🎙️ 一键配音合成

Edge-TTS · F5-TTS
50ms 精度字幕对齐,零样本音色克隆

💻 命令行原生

pip install 即用
完整 CLI + SKILL.md Agent 接入

🔒 完全本地

视频文件永不上传
全本地处理,素材隐私 100% 安全

快速开始

下载安装

平台 架构 文件
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!请遵循以下流程:

  1. Fork 本仓库
  2. 创建 feature 分支(git checkout -b feat/amazing-feature
  3. 提交改动(Conventional Commits 规范):
    feat: 新功能
    fix:  bug 修复
    docs: 文档更新
    style: 格式调整(无逻辑变化)
    refactor: 重构(无新功能/无 bug 修复)
    perf: 性能优化
    test: 测试
    chore: 构建/工具链
    
  4. 推送分支(git push origin feat/amazing-feature
  5. 创建 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

🚀 立即下载 v2.0.0 · 📖 阅读 ADR · 🤝 加入贡献

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

scenefab-2.0.0.tar.gz (672.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scenefab-2.0.0-py3-none-any.whl (713.8 kB view details)

Uploaded Python 3

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

Hashes for scenefab-2.0.0.tar.gz
Algorithm Hash digest
SHA256 ca19dc022c6acfdfb75dcca99576055e087486433271e1cbcdab19d8d25cbb51
MD5 9e872fc3343480c44bb9816debf54668
BLAKE2b-256 0a53a6e89542d209df9e2f3279b678b36bed4b65af96676182dfcd622238c5d1

See more details on using hashes here.

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

Hashes for scenefab-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d141ab25117a5bfb453f67c1bc78ee4fc52af778ae42ae02510992c711e81fd2
MD5 c99bccb64c8b2c485575d1f509e81981
BLAKE2b-256 3c7ccb5db0cd7fece77731d7e959e00c8b44a8866aaca7fb140c24632408f5a8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page