Files
video/README.md
T
2026-04-25 14:10:09 +08:00

3.9 KiB
Raw Blame History

VidMarmot

VidMarmot — 为英语课本音频配画的 AI 工具。

给一篇课文文本 + 对应的朗读音频,VidMarmot 会自动拆分场景、生成配图、对齐语音时间轴,最终合成一个带字幕的视频。

为什么做这个?

老师总让我帮忙做课文视频。一次两次还好,做多了真的烦。

所以我就写了这个工具——把整个流程自动化了:放进去文本和音频,点几下按钮,视频就出来了。

主要用途

  • 英语课本课文 — 给每篇课文的朗读音频配上场景画面
  • 故事类文章 — 自动拆分场景,逐张生成配图
  • 教学演示 — 生成带字幕的场景切换视频
课文文本 + 朗读音频 → AI 拆分场景 → 逐场景生成配图 → 语音对齐时间轴 → 合成视频(含字幕)

功能

  • AI 场景划分 — 支持 Qwen / GLM / DeepSeek / 阿里云百炼 / OpenAI 兼容接口
  • AI 文生图 — 支持 Kolors / Qwen-Image 模型,逐张生成场景配图
  • 逐张审查 — 每张图生成后可以预览、确认、重新生成或跳过
  • 语音对齐 — 基于 Qwen3-ForcedAligner 的 ASR 强制对齐
  • 视频合成 — MoviePy 合成最终视频,自动添加字幕

预览

Pipeline Overview

快速开始

环境要求

  • Python 3.12+
  • Conda
  • NVIDIA GPU(本地 ASR 模型需要)

安装

# 创建环境
conda create -n VidMarmot python=3.12 -y
conda activate VidMarmot

# 安装依赖
pip install PyQt6 moviepy Pillow requests openai
pip install funasr modelscope torch torchaudio

# 下载 ASR 模型(约 1.2GB
python qwen_download.py

配置 API Key

编辑 config.py,在对应模型的 api_key 字段填入你的 Key。只需填你用到的服务即可。

服务 用途 Key 对应 免费额度
ModelScope LLM + 文生图 MODELSCOPE_API_KEY
硅基流动 LLM + 文生图 SILICONFLOW_API_KEY
阿里云百炼 LLM (Qwen3-235B) DASHSCOPE_API_KEY
DeepSeek LLM (V3/R1) DEEPSEEK_API_KEY
OpenAI 兼容 自定义 Router OPENAI_API_KEY -

运行

python gui.py

# 或 Windows 双击
run.bat

工作区结构

每个视频项目是一个文件夹:

workspace/my_lesson/
├── article.txt          # 课文文本
├── voice.mp3            # 朗读音频
├── scene_plan.json      # 场景计划(自动生成)
├── result.json          # ASR 对齐结果(自动生成)
├── scene/               # 生成的场景图
│   ├── scene_001.png
│   ├── scene_002.png
│   └── ...
└── output_video.mp4     # 最终视频(自动生成)

项目结构

├── gui.py              # PyQt6 GUI(主入口)
├── scene_plan.py       # AI 场景划分 + Prompt 工程
├── image_gen.py        # 文生图 API 调用
├── asr.py              # ASR 强制对齐
├── make_video.py       # 视频合成 + 字幕渲染
├── text_ai.py          # LLM API 客户端
├── config.py           # 配置管理(路径、API、模型)
├── qwen_download.py    # ASR 模型下载脚本
├── run.bat             # Windows 启动脚本
└── .gitignore

依赖

用途
PyQt6 GUI 框架
moviepy 视频合成
Pillow 图片处理 / 字幕渲染
requests HTTP API 调用
openai 兼容 OpenAI 格式的 LLM 客户端
funasr ASR 强制对齐
modelscope 模型加载
torch / torchaudio GPU 推理后端

Roadmap

  • 图生视频 — 用生成的场景图做图生视频,让每张静态图变成动态片段,最终拼接成真正的动态视频
  • 更多文生图模型支持
  • 批量处理多个课文
  • 打包为可执行文件(pyinstaller

License

MIT