# 🎹 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 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!