🎹 Piano Highlight Generator

钢琴课精华视频生成工具。自动从完整课程视频中提取精华片段,转录、纠错、生成字幕,批量烧录到视频中。

功能特点

  • 智能提取: 自动检测视频中的精彩片段
  • 语音转录: 支持 Whisper 多模型(tiny/base/small/medium/large
  • AI 纠错: LLM 自动纠正转录错误,优化标题
  • 双语字幕: 支持双轨字幕(标题轨 + 内容轨)
  • 状态持久化: 支持暂停/恢复,可中断继续
  • 手动编辑: 生成前可人工审核编辑标题和字幕内容

📋 系统要求

  • Windows 10/11 或 macOS 10.15+
  • Python 3.10+
  • FFmpeg(必须,添加到 PATH

🚀 快速开始

1. 安装

# 克隆项目
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

# 安装 FFmpegWindows - 使用 winget
winget install Gyan.FFmpeg

# 或 macOS
brew install ffmpeg

2. 运行

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

S
Description
No description provided
Readme 265 KiB
Languages
Python 92.7%
Batchfile 5.9%
Shell 1.2%
PowerShell 0.2%