Integrations
Integrates with .env files for configuration management, allowing storage of API keys and other sensitive information.
Extracts audio from Bilibili videos and transcribes it to text, supporting speech-to-text conversion and speaker separation.
Uses Deepgram's speech-to-text API to transcribe audio extracted from videos, with particular effectiveness for Chinese content.
MCP Video Digest (视频内容提取总结)
项目简介
MCP Video Digest 是一个视频内容处理服务,,能够从 YouTube、Bilibili、TikTok、Twitter... 视频中提取音频并转换为文本。该服务支持多个转录服务提供商,包括 Deepgram、Gladia、Speechmatics 和 AssemblyAI,可以根据配置的 API 密钥灵活选择使用。(第一个MCP练手的项目,主要熟悉MCP的开发和运行流程)
功能特点
- 支持超过1000个网站上的流媒体内容下载和音频提取
- 多个转录服务提供商支持:
- Deepgram
- Gladia
- Speechmatics
- AssemblyAI
- 灵活的服务选择机制,根据可用的 API 密钥自动选择服务
- 异步处理设计,提高并发性能
- 完整的错误处理和日志记录
- 支持说话人分离
- × 支持本地模型cpu/gpu加速处理
目录结构
测试截图
安装说明
1. 安装 uv 或使用 python
如果还没有安装 uv,可以使用以下命令安装:
2. 克隆项目:
3. 创建并激活虚拟环境:
4. 安装依赖:
speechmatics 在使用requests调试的时候出现了各种问题(不是speechmatics的问题, 是我菜),所以使用了speechmatics sdk
配置说明
- 在项目根目录创建
.env
文件或者重命名.env.example
,配置所需的 API 密钥:注意:至少需要配置一个服务的 API 密钥Copy - 服务优先级顺序:
- Deepgram(推荐用于中文内容)
- Gladia
- Speechmatics
- AssemblyAI
使用方法
- 启动服务:或者使用调试模式:CopyCopy
- 调用服务:Copy
- 客户端SSE为示例
STDIO方式修改启动命令即可:未验证和测试 MCP文档
测试
运行测试脚本:
测试脚本会:
- 验证环境变量配置
- 测试 YouTube 下载功能
- 测试各个转录服务
- 测试完整的视频处理流程
开发指南
- 添加新的转录服务:
- 在
src/services/transcription/
目录下创建新的服务类 - 继承
BaseTranscriptionService
类 - 实现
transcribe
方法
- 在
- 自定义下载服务:
- 在
src/services/download/
目录下修改或添加新的下载器 - 继承或修改
YouTubeDownloader
类
- 在
依赖管理
- 使用
uv pip install package_name
安装新依赖 - 使用
uv pip freeze > requirements.txt
导出依赖列表 - 使用
pyproject.toml
管理依赖,uv.lock
锁定依赖版本
错误处理
服务会处理以下情况:
- API 密钥缺失或无效
- 视频下载失败
- 音频转录失败
- 网络连接问题
- 服务限制和配额
注意事项
- 确保有足够的磁盘空间用于临时文件
- 注意各服务提供商的 API 使用限制
- 建议使用 Python 3.11 或更高版本
- 临时文件会自动清理
- 使用 uv 可以获得更快的依赖安装速度和更好的依赖管理
- YouTube下载可能需要身份验证,可以复制cookie到根目录下cookies.txt 使用插件快速生成 或者使用cookies-from-browser等其他认证方式, yt-dlp
STT Key申请及免费额度
- Speechmatics 每月免费8小时 - 定价
- Gladia 每月免费10小时 - 定价
- AssemblyAI 共50$免费额度 - 定价
- Deepgram 共200$的免费额度 - 定价
内容仅供参考
许可证
采用 MIT 许可证。
This server cannot be installed
A service that extracts and transcribes audio content from videos across 1000+ streaming websites including YouTube, Bilibili, TikTok, and Twitter, supporting multiple transcription providers like Deepgram, Gladia, Speechmatics, and AssemblyAI.