关于 Video Extraction Server
Video Extraction Server 是一个使用 OpenAI 的 Whisper 从视频和音频文件提取文本的 MCP 服务,面向需要转写及下载功能的 MCP 客户端。它支持从多种平台下载视频和音频。
主要功能
- 01下载支持平台的视频
- 02从视频中提取音频
- 03使用 Whisper 转写视频和音频
- 04识别多种语言
- 05异步处理大型文件
适用场景
- 01转写支持平台视频中的音频
- 02提取本地音频文件的文本
- 03下载视频或音频以供处理
MCP 相关
MCP 服务提供视频下载、音频提取、视频转写和音频文件转写四种工具。Claude Desktop 等 MCP 客户端可连接使用。
详细介绍
MCP 视频与音频文本提取服务
一个 MCP 服务,可从各种视频平台和音频文件中提取文本。此服务实现了 Model Context Protocol(MCP),可标准化访问音频转录服务。
支持的平台
此服务支持从各种平台下载视频并提取音频,包括但不限于:
- YouTube
- Bilibili
- TikTok
- Twitter/X
- Vimeo
- Dailymotion
- SoundCloud
完整的平台支持列表请参阅 yt-dlp 支持的网站。
核心技术
此项目通过 MCP 工具使用 OpenAI 的 Whisper 模型进行音频转文本处理。服务提供四种主要工具:
- 视频下载:从支持的平台下载视频
- 音频下载:从支持平台的视频中提取音频
- 视频文本提取:从视频中提取文本(下载并转录)
- 音频文件文本提取:从音频文件中提取文本
MCP 集成
此服务基于 Model Context Protocol 构建,可提供:
- 向大模型公开工具的标准化方式
- 安全访问视频内容和音频文件
- 与 Claude Desktop 等 MCP 客户端集成
功能
- 基于 Whisper 的高质量语音识别
- 多语言文本识别
- 支持多种音频格式(mp3、wav、m4a 等)
- 符合 MCP 规范的工具接口
- 支持大型文件的异步处理
技术栈
- Python 3.10+
- Model Context Protocol(MCP)Python SDK
- yt-dlp(YouTube 视频下载)
- openai-whisper(核心音频转文本引擎)
- pydantic
系统要求
- FFmpeg(音频处理所需)
- 最低 8 GB RAM
- 建议使用 GPU 加速(NVIDIA GPU + CUDA)
- 足够的磁盘空间(用于下载模型和存储临时文件)
首次运行重要提示
重要: 首次运行时,系统会自动下载 Whisper 模型文件(约 1 GB)。此过程可能需要几分钟到几十分钟,具体取决于网络状况。模型文件会缓存在本地,后续运行无需再次下载。
安装
使用 uv(推荐)
使用 uv 时无需进行特定安装。我们将使用 uvx 直接运行视频提取服务:
curl -LsSf https://astral.sh/uv/install.sh | sh
安装 FFmpeg
音频处理需要 FFmpeg。你可以通过多种方式安装:
# Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg
# Arch Linux
sudo pacman -S ffmpeg
# MacOS
brew install ffmpeg
# Windows (using Chocolatey)
choco install ffmpeg
# Windows (using Scoop)
scoop install ffmpeg
用法
配置 Claude/Cursor
添加到 Claude/Cursor 设置中:
"mcpServers": {
"video-extraction": {
"command": "uvx",
"args": ["mcp-video-extraction"]
}
}
可用的 MCP 工具
- 视频下载:从支持的平台下载视频
- 音频下载:从支持平台的视频中提取音频
- 视频文本提取:从视频中提取文本(下载并转录)
- 音频文件文本提取:从音频文件中提取文本
配置
可通过环境变量配置此服务:
Whisper 配置
WHISPER_MODEL:Whisper 模型大小(tiny/base/small/medium/large),默认值:'base'WHISPER_LANGUAGE:转录语言设置,默认值:'auto'
YouTube 下载配置
YOUTUBE_FORMAT:下载的视频格式,默认值:'bestaudio'AUDIO_FORMAT:提取的音频格式,默认值:'mp3'AUDIO_QUALITY:音频质量设置,默认值:'192'
存储配置
TEMP_DIR:临时文件存储位置,默认值:'/tmp/mcp-video'
下载设置
DOWNLOAD_RETRIES:下载重试次数,默认值:10FRAGMENT_RETRIES:片段下载重试次数,默认值:10SOCKET_TIMEOUT:套接字超时时间(秒),默认值:30
性能优化提示
-
GPU 加速:
- 安装 CUDA 和 cuDNN
- 确保已安装 GPU 版 PyTorch
-
调整模型大小:
- tiny:速度最快,但准确率较低
- base:速度和准确率较为均衡
- large:准确率最高,但需要更多资源
-
使用 SSD 存储临时文件,以提升 I/O 性能
注意事项
- 首次运行时需要下载 Whisper 模型(约 1GB)
- 确保磁盘空间充足,以存储临时音频文件
- 下载 YouTube 视频需要稳定的网络连接
- 建议使用 GPU,以加快音频处理速度
- 处理较长的视频可能需要较长时间
MCP 集成指南
此服务可与任何兼容 MCP 的客户端搭配使用,例如:
- Claude Desktop
- 自定义 MCP 客户端
- 其他支持 MCP 的应用程序
如需了解更多信息,请访问 Model Context Protocol。
文档
如需查看本文档的中文版,请参阅 README_zh.md
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。