b9dc5b163b617afead504cf850df531c8c7a1448
Lesson Highlights Generator
教学视频精华片段生成工具。输入课程视频 + PPT,自动提取精华片段,转录、纠错、生成字幕,批量烧录到视频中。
功能特点
- PPT 驱动提取:根据 PPT 知识点定位视频中的讲解片段
- 语音转录 + 纠错:Whisper 转录 + LLM 批量校正
- 双轨字幕:标题轨 + 内容轨
- CLI / GUI 双入口:共享同一套底层逻辑
快速开始
1. 配置 API
复制配置文件并填入 API Key:
cp config.ini.example config.ini
# 编辑 config.ini,填入 api_key
2. 安装依赖
pip install -r requirements.txt
3. 配置
编辑 config.py 中的视频路径、PPT路径、API Key 等。所有配置集中在一个文件。
4. 运行
完整流程(首次运行):
.\run.bat
快速烧录(仅修改字幕后重烧):
.\burn.bat
GUI(推荐):
.\start.bat
项目结构
lesson-highlights/
├── config.py # 统一配置(修改这里)
├── run.py # 完整流水线
├── burn_only.py # 快速烧录(跳过转录/字幕生成)
├── run.bat # 运行完整流程
├── burn.bat # 快速重烧字幕
├── src/
│ ├── main.py # GUI 入口
│ ├── gui.py # GUI(参数输入,调用底层)
│ ├── cli.py # CLI 入口
│ └── core/ # 共享底层
│ ├── ppt_parser.py # PPT 解析 + clips 生成
│ ├── pipeline.py # 视频处理流水线
│ ├── subtitle.py # 字幕生成
│ └── ...
├── config.ini # API 配置(不提交 git)
├── config.ini.example # 配置模板
└── docs/
├── USAGE.md # 使用指南
└── ...
工作流程
- PPT 解析:提取 PPT 文本和知识点
- Whisper 转录:将视频语音转成文本
- LLM 校正:批量校正转录错误
- 片段提取:根据 PPT 知识点定位视频片段
- 字幕烧录:生成双轨字幕并烧入视频
- 合并输出:拼接所有片段为最终视频
API 配置
编辑 config.ini:
[api]
api_host = "https://ark.cn-beijing.volces.com/api/coding/v3"
api_key = your_api_key_here
支持火山方舟(doubao-seed-2.0-lite)或兼容 OpenAI API 的后端。
输出
output/
├── generated_config.yaml # clips 配置(可手动修改后重新运行)
├── intermediates/ # 中间文件
│ ├── clip*.json # Whisper 转录结果
│ └── clip*.mp4 # 提取的视频片段
├── subs/ # 字幕文件
│ ├── v1_title.srt # 标题轨(可手动修改)
│ └── v1_content.srt # 正文字幕
├── concat_merged.mp4 # 合并视频
└── final.mp4 # 最终输出
系统要求
- Python 3.10+
- FFmpeg(已打包在
ffmpeg/目录) - PySide6(GUI)
- faster-whisper(转录,可选)
Description
Languages
Python
92.7%
Batchfile
5.9%
Shell
1.2%
PowerShell
0.2%