mcpField
V
Video Extraction Server

Video Extraction Server

github.com/SealinGp桌面应用1274 周前更新

关于 Video Extraction Server

Video Extraction Server 是一个使用 OpenAI 的 Whisper 从视频和音频文件提取文本的 MCP 服务,面向需要转写及下载功能的 MCP 客户端。它支持从多种平台下载视频和音频。

主要功能

  1. 01下载支持平台的视频
  2. 02从视频中提取音频
  3. 03使用 Whisper 转写视频和音频
  4. 04识别多种语言
  5. 05异步处理大型文件

适用场景

  1. 01转写支持平台视频中的音频
  2. 02提取本地音频文件的文本
  3. 03下载视频或音频以供处理

MCP 相关

MCP 服务提供视频下载、音频提取、视频转写和音频文件转写四种工具。Claude Desktop 等 MCP 客户端可连接使用。

详细介绍

MCP 视频与音频文本提取服务

一个 MCP 服务,可从各种视频平台和音频文件中提取文本。此服务实现了 Model Context Protocol(MCP),可标准化访问音频转录服务。

支持的平台

此服务支持从各种平台下载视频并提取音频,包括但不限于:

  • YouTube
  • Bilibili
  • TikTok
  • Instagram
  • Twitter/X
  • Facebook
  • Vimeo
  • Dailymotion
  • SoundCloud

完整的平台支持列表请参阅 yt-dlp 支持的网站。

核心技术

此项目通过 MCP 工具使用 OpenAI 的 Whisper 模型进行音频转文本处理。服务提供四种主要工具:

  1. 视频下载:从支持的平台下载视频
  2. 音频下载:从支持平台的视频中提取音频
  3. 视频文本提取:从视频中提取文本(下载并转录)
  4. 音频文件文本提取:从音频文件中提取文本
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 工具
  1. 视频下载:从支持的平台下载视频
  2. 音频下载:从支持平台的视频中提取音频
  3. 视频文本提取:从视频中提取文本(下载并转录)
  4. 音频文件文本提取:从音频文件中提取文本

配置

可通过环境变量配置此服务:

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:下载重试次数,默认值:10
  • FRAGMENT_RETRIES:片段下载重试次数,默认值:10
  • SOCKET_TIMEOUT:套接字超时时间(秒),默认值:30

性能优化提示

  1. GPU 加速:

    • 安装 CUDA 和 cuDNN
    • 确保已安装 GPU 版 PyTorch
  2. 调整模型大小:

    • tiny:速度最快,但准确率较低
    • base:速度和准确率较为均衡
    • large:准确率最高,但需要更多资源
  3. 使用 SSD 存储临时文件,以提升 I/O 性能

注意事项

  • 首次运行时需要下载 Whisper 模型(约 1GB)
  • 确保磁盘空间充足,以存储临时音频文件
  • 下载 YouTube 视频需要稳定的网络连接
  • 建议使用 GPU,以加快音频处理速度
  • 处理较长的视频可能需要较长时间

MCP 集成指南

此服务可与任何兼容 MCP 的客户端搭配使用,例如:

  • Claude Desktop
  • 自定义 MCP 客户端
  • 其他支持 MCP 的应用程序

如需了解更多信息,请访问 Model Context Protocol。

文档

如需查看本文档的中文版,请参阅 README_zh.md

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。