基于 WhisperX 的高性能视频字幕生成工具 - 现代化前后端分离架构
一个视频转字幕工具,从简单的命令行脚本演进为现代化的Web应用程序。支持GPU加速、实时进度监控、多任务并发处理。
- 高精度转录:基于 WhisperX 的先进语音识别技术
- GPU 加速:支持 CUDA GPU 加速
- 智能分段:自动音频分段,优化长视频处理效果
- 多语言支持:自动语言检测,支持多种语言转录
- 词级时间戳:精确的词级时间对齐
- 现代化 Web UI:基于 Vue.js 的响应式界面
- 拖拽上传:支持多种视频格式的拖拽上传
- 实时进度:实时显示转录进度和任务状态
- 结果预览:在线预览(待开发)和下载 SRT 字幕文件
- 前后端分离:Vue.js + FastAPI 架构
- 异步处理:支持多任务并发处理
- 智能启动:一键启动器,自动处理依赖和环境
- 错误恢复:完善的错误处理和恢复机制
# 双击运行
一键启动.bat# 1. 安装依赖
pip install -r requirements.txt
cd frontend && npm install
# 2. 启动应用
python simple_launcher.py-
Python: 3.8+
-
Node.js: 16+
-
FFmpeg: 音频处理
-
内存: 建议 8GB+
-
NVIDIA GPU: 支持 CUDA 11.8+
-
显存: 建议 4GB+
-
驱动: 最新 NVIDIA 驱动,cuda118或以上,cuDNN
- FastAPI - 高性能 Web 框架
- WhisperX - 语音识别核心
- PyTorch - 深度学习框架
- Uvicorn - ASGI 服务器
- Vue.js 3 - 前端框架
- Vite - 构建工具
- Axios - HTTP 客户端
- Whisper - OpenAI 语音识别模型
- pyannote.audio - 说话人分离
- faster-whisper - 优化的 Whisper 实现
双击 一键启动.bat- 在 Web 界面中拖拽或选择视频文件
- 支持格式:MP4, AVI, MKV, MOV, WMV 等
- 模型选择: tiny, base, small, medium, large
- 语言设置: 自动检测或指定语言
- 质量设置: 根据需要调整精度和速度
- 点击开始按钮
- 实时监控进度
- 等待处理完成
- 下载 SRT 文件
# 在 backend/app/processor.py 中修改
JobSettings(
model="medium", # tiny, base, small, medium, large
compute_type="float16", # float16, float32, int8
device="cuda", # cuda, cpu
batch_size=16 # 批处理大小
)# 在启动器中修改
backend_port = 8000 # 后端端口
frontend_port = 5174 # 前端端口解决方案:
- 使用
一键启动.bat自动清理进程 - 手动检查端口占用:
netstat -ano | findstr :8000 - 重启应用
解决方案:
- 安装 Node.js (https://nodejs.org)
- 重启命令行窗口
- 验证安装:
npm --version
解决方案:
- 降低批处理大小:
batch_size=8 - 使用较小模型:
model="small"
遇到问题时使用调试版本:
python launcher_debug.py- v2.0.0 (2025-08-18) - 🚀 全面架构升级,前后端分离
- v1.1.0 (2025-06-18) - 🎬 初始版本,命令行界面
详细更新日志请查看 CHANGELOG.md
- Fork 项目
- 创建功能分支:
git checkout -b feature/AmazingFeature - 提交更改:
git commit -m 'Add some AmazingFeature' - 推送分支:
git push origin feature/AmazingFeature - 打开 Pull Request
本项目基于 MIT 协议开源 - 查看 LICENSE 文件了解详情
本工具仅供学习与研究使用,禁止任何形式的商业使用。 使用者需遵守相关法律法规,作者不对使用后果承担任何责任。
- OpenAI Whisper - 语音识别基础
- WhisperX - 优化的 Whisper 实现
- FastAPI - 现代 Web 框架
- Vue.js - 前端框架
- 所有开源库的贡献者们
⭐ 如果这个项目对你有帮助,请给个星标支持!