Initial commit: lesson-highlights generator
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
# 🎹 Piano Highlight Generator
|
||||
|
||||
钢琴课精华视频生成工具。自动从完整课程视频中提取精华片段,转录、纠错、生成字幕,批量烧录到视频中。
|
||||
|
||||
## ✨ 功能特点
|
||||
|
||||
- **智能提取**: 自动检测视频中的精彩片段
|
||||
- **语音转录**: 支持 Whisper 多模型(tiny/base/small/medium/large)
|
||||
- **AI 纠错**: LLM 自动纠正转录错误,优化标题
|
||||
- **双语字幕**: 支持双轨字幕(标题轨 + 内容轨)
|
||||
- **状态持久化**: 支持暂停/恢复,可中断继续
|
||||
- **手动编辑**: 生成前可人工审核编辑标题和字幕内容
|
||||
|
||||
## 📋 系统要求
|
||||
|
||||
- Windows 10/11 或 macOS 10.15+
|
||||
- Python 3.10+
|
||||
- FFmpeg(必须,添加到 PATH)
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
### 1. 安装
|
||||
|
||||
```bash
|
||||
# 克隆项目
|
||||
git clone <repo-url>
|
||||
cd piano-highlight-app
|
||||
|
||||
# 创建虚拟环境(推荐)
|
||||
python -m venv venv
|
||||
.\venv\Scripts\activate # Windows
|
||||
source venv/bin/activate # Linux/macOS
|
||||
|
||||
# 安装依赖
|
||||
pip install -r requirements.txt
|
||||
|
||||
# 安装 FFmpeg(Windows - 使用 winget)
|
||||
winget install Gyan.FFmpeg
|
||||
|
||||
# 或 macOS
|
||||
brew install ffmpeg
|
||||
```
|
||||
|
||||
### 2. 运行
|
||||
|
||||
```bash
|
||||
python src/main.py
|
||||
```
|
||||
|
||||
### 3. 配置
|
||||
|
||||
首次运行需要配置:
|
||||
1. **API 设置**: 选择 API 提供商(DeepSeek/硅基流动),输入 API Key
|
||||
2. **视频设置**: 选择输入视频、输出目录
|
||||
3. **转录设置**: 选择 Whisper 模型(推荐 medium)
|
||||
|
||||
### 4. 生成
|
||||
|
||||
1. 点击「开始处理」
|
||||
2. 等待各步骤完成
|
||||
3. **标题确认**: LLM 生成标题后,审核并编辑
|
||||
4. **字幕确认**: 查看字幕内容,可进一步编辑
|
||||
5. 等待烧录完成
|
||||
|
||||
## 📁 输出文件
|
||||
|
||||
```
|
||||
output/
|
||||
├── state.json # 处理状态
|
||||
├── clips/ # 提取的片段
|
||||
│ └── clip_001.mp4
|
||||
├── subtitles/ # 字幕文件
|
||||
│ ├── clip_001_title.srt # 标题轨
|
||||
│ └── clip_001_content.srt # 内容轨
|
||||
└── final/ # 最终输出
|
||||
└── clip_001_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!
|
||||
Reference in New Issue
Block a user