基于 Whisper 和 Ollama 构建的智能音视频转录系统
🎯 快速提取音视频内容,智能优化转录文本,支持多语言识别和AI增强处理
核心技术栈:
- OpenAI Whisper - 高精度语音识别
- Ollama - 本地大语言模型服务
- FunASR - 阿里达摩院语音识别引擎
- Flask - 轻量级Web框架
- 🎯 多格式支持: MP3、WAV、MP4、AVI、MOV等主流音视频格式
- 🤖 双引擎转录: Whisper + FunASR 双重保障,提升识别准确率
- 🧠 AI智能优化: 集成Ollama本地大模型,智能重新编排和翻译文本
- 🌍 多语言识别: 支持60+种语言,包括中英日韩等主流语言
- 📊 实时进度: 可视化转录进度,支持任务状态监控
- 💾 多格式输出: TXT、DOC、SRT字幕等多种格式导出
- 🔄 批量处理: 支持文件夹批量上传,提升工作效率
- 🎛️ 现代界面: 响应式Web设计,支持拖拽上传和移动端访问
- 📦 开箱即用: 包含预训练模型,一键启动无需额外配置
# 克隆项目
git clone https://github.com/Noisecho/AudioMind.git
cd AudioMind
# 一键启动(自动检查环境和依赖)
python start_optimized.py启动脚本会自动完成:
- ✅ Python环境检查(需要3.8+)
- ✅ 依赖包自动安装
- ✅ FFmpeg环境检测
- ✅ Ollama服务检查
- ✅ 目录结构创建
- ✅ Web服务启动
# 下载配置文件
curl -fsSL https://raw.githubusercontent.com/Noisecho/AudioMind/main/docker-compose.yml -o docker-compose.yml
# 启动服务
docker-compose up -d服务启动后,访问 http://localhost:5000
- Python: 3.8或更高版本
- FFmpeg: 用于处理视频文件
- Ollama: 用于文本优化和翻译(可选)
pip install -r requirements.txtWindows:
# 使用winget
winget install FFmpeg
# 或下载安装包
# 访问 https://ffmpeg.org/download.htmlmacOS:
brew install ffmpegLinux:
# Ubuntu/Debian
sudo apt update && sudo apt install ffmpeg
# CentOS/RHEL
sudo yum install ffmpeg访问 https://ollama.ai 下载安装Ollama
安装推荐模型:
# 安装轻量级模型
ollama pull llama3.2
# 或安装其他模型
ollama pull qwen2.5
ollama pull gemma2python app.py音视频转文本WebUI/
├── app.py # 主应用文件
├── config.py # 配置文件
├── start_optimized.py # 优化版启动脚本
├── requirements.txt # Python依赖
├── templates/
│ └── index.html # Web界面
├── uploads/ # 上传文件目录
├── results/ # 转录结果目录
├── models/ # Whisper模型存储目录
├── logs/ # 日志文件目录
└── static/ # 静态资源目录
启动应用后,在浏览器中访问:http://localhost:5000
- 交互式上传: 拖拽文件到上传区域或点击选择文件
- 批量处理: 选择文件夹进行批量上传
- Whisper模型: 选择合适的模型(推荐small或medium)
- 语言: 选择音频语言或使用自动识别
- LLM优化: 启用文本重新编排功能
- 输出格式: 选择TXT或DOC格式
点击"开始转录"按钮,系统会显示详细的进度信息:
- 25%: 模型加载完成
- 50%: 开始音频转录
- 70%: 转录完成,开始文本处理
- 80%: 文本重新编排(如果启用)
- 90%: 文本翻译(如果需要)
- 100%: 转录完成
转录完成后,可以直接下载结果文件或在界面中预览。
| 模型 | 大小 | 内存占用 | 速度 | 准确度 | 推荐用途 |
|---|---|---|---|---|---|
| tiny | 39MB | ~1GB | 最快 | 较低 | 快速测试 |
| base | 74MB | ~1GB | 快 | 一般 | 日常使用 |
| small | 244MB | ~2GB | 中等 | 良好 | 推荐中文 |
| medium | 769MB | ~5GB | 慢 | 很好 | 高质量需求 |
| large | 1550MB | ~10GB | 最慢 | 最好 | 专业用途 |
- Whisper模型:
./models/目录 - 上传文件:
./uploads/目录 - 转录结果:
./results/目录 - 日志文件:
./logs/目录
所有文件都保存在项目目录内,便于管理和备份。
Q: 提示"FFmpeg未安装" A: 请按照上述说明安装FFmpeg,或只使用音频文件(MP3、WAV等)
Q: Ollama服务连接失败 A: 确保Ollama服务正在运行,或在设置中禁用LLM功能
Q: 内存不足错误 A: 尝试使用更小的Whisper模型(tiny或base)
Q: 转录速度很慢 A: 使用更小的模型或确保有足够的系统资源
Q: 清空队列按钮不工作 A: 已在优化版中修复,确保使用最新版本
应用日志保存在 ./logs/app.log 文件中,可以查看详细的错误信息。
相比原版,优化版包含以下改进:
- 🏗️ 模块化配置: 统一的配置管理,便于维护
- 📝 完善日志: 详细的日志记录,便于调试
- 🔒 线程安全: 改进的模型加载机制
- 🛡️ 错误处理: 更健壮的错误处理和恢复
- 📊 进度优化: 更准确的进度显示
- 🧹 清理功能: 修复清空队列功能
- 📁 文件管理: 统一的文件存储位置
- 🚀 启动脚本: 自动化的环境检查和依赖安装
本项目基于MIT许可证开源。
欢迎提交Issue和Pull Request来改进这个项目!
享受使用音视频转文本WebUI! 🎉