Clean up: remove junk files, update docs

- Delete: build scripts, old docs (README_BUILD, design.md, proposal.md, etc.)
- Update README.md and docs/ARCHITECTURE.md to reflect new architecture
- Keep run_lesson1.bat/py, start.bat, config.ini
This commit is contained in:
hmo
2026-05-03 03:30:24 +08:00
parent 9e62247a60
commit cf5004cf6a
12 changed files with 139 additions and 1791 deletions
+73 -77
View File
@@ -1,105 +1,101 @@
# 🎹 Piano Highlight Generator
# Lesson Highlights Generator
钢琴课精华视频生成工具。自动从完整课程视频中提取精华片段,转录、纠错、生成字幕,批量烧录到视频中。
教学视频精华片段生成工具。输入课程视频 + PPT,自动提取精华片段,转录、纠错、生成字幕,批量烧录到视频中。
## 功能特点
## 功能特点
- **智能提取**: 自动检测视频中的精彩片段
- **语音转录**: 支持 Whisper 多模型(tiny/base/small/medium/large
- **AI 纠错**: LLM 自动纠正转录错误,优化标题
- **双语字幕**: 支持双轨字幕(标题轨 + 内容轨)
- **状态持久化**: 支持暂停/恢复,可中断继续
- **手动编辑**: 生成前可人工审核编辑标题和字幕内容
- **PPT 驱动提取**:根据 PPT 知识点定位视频中的讲解片段
- **语音转录 + 纠错**Whisper 转录 + LLM 批量校正
- **双轨字幕**:标题轨 + 内容轨
- **CLI / GUI 双入口**:共享同一套底层逻辑
## 📋 系统要求
## 快速开始
- Windows 10/11 或 macOS 10.15+
- Python 3.10+
- FFmpeg(必须,添加到 PATH
### 1. 配置 API
## 🚀 快速开始
### 1. 安装
复制配置文件并填入 API Key
```bash
# 克隆项目
git clone <repo-url>
cd piano-highlight-app
cp config.ini.example config.ini
# 编辑 config.ini,填入 api_key
```
# 创建虚拟环境(推荐)
python -m venv venv
.\venv\Scripts\activate # Windows
source venv/bin/activate # Linux/macOS
### 2. 安装依赖
# 安装依赖
```bash
pip install -r requirements.txt
# 安装 FFmpegWindows - 使用 winget
winget install Gyan.FFmpeg
# 或 macOS
brew install ffmpeg
```
### 2. 运行
### 3. 运行
**GUI(推荐):**
```bash
python src/main.py
.\start.bat
```
### 3. 配置
**CLI**
```bash
.\run_lesson1.bat
```
首次运行需要配置
1. **API 设置**: 选择 API 提供商(DeepSeek/硅基流动),输入 API Key
2. **视频设置**: 选择输入视频、输出目录
3. **转录设置**: 选择 Whisper 模型(推荐 medium
或通用方式
```bash
python src/cli.py --video video.mp4 --ppt presentation.pptx --output ./output
```
### 4. 生成
## 项目结构
1. 点击「开始处理」
2. 等待各步骤完成
3. **标题确认**: LLM 生成标题后,审核并编辑
4. **字幕确认**: 查看字幕内容,可进一步编辑
5. 等待烧录完成
```
lesson-highlights/
├── 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 # 配置模板
├── start.bat # 启动 GUI
└── run_lesson1.bat # CLI 示例
```
## 📁 输出文件
## 工作流程
1. **PPT 解析**:提取 PPT 文本和知识点
2. **Whisper 转录**:将视频语音转成文本
3. **LLM 校正**:批量校正转录错误
4. **片段提取**:根据 PPT 知识点定位视频片段
5. **字幕烧录**:生成双轨字幕并烧入视频
6. **合并输出**:拼接所有片段为最终视频
## API 配置
编辑 `config.ini`
```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/
├── state.json # 处理状态
├── clips/ # 提取的片段
│ └── clip_001.mp4
├── generated_config.yaml # 生成的 clips 配置
├── clips/ # 提取的片段视频
├── subtitles/ # 字幕文件
│ ├── clip_001_title.srt # 标题轨
│ └── clip_001_content.srt # 内容轨
└── final/ # 最终输出
└── clip_001_final.mp4
└── final.mp4 # 最终输出
```
## 🔧 流水线步骤
## 系统要求
1. **extract** - 片段提取
2. **transcribe** - 语音转录
3. **title_correct** - 标题生成与纠错
4. **generate_subtitles** - 字幕生成
5. **merge** - 片段合并
6. **burn** - 字幕烧录
## ⚠️ 常见问题
### Q: 提示 "FFmpeg not found"
A: 确保 FFmpeg 已安装并添加到系统 PATH。重启终端后重试。
### Q: API 调用失败
A: 检查 API Key 是否正确,网络是否正常,或切换 API 提供商。
### Q: 磁盘空间不足
A: 清理输出目录或更换到空间更大的磁盘。
## 📄 许可证
MIT License
## 🤝 贡献
欢迎提交 Issue 和 Pull Request
- Python 3.10+
- FFmpeg(已打包在 `ffmpeg/` 目录)
- PySide6GUI
- faster-whisper(转录,可选)