Video Extraction Server について
Video Extraction Serverは、OpenAIのWhisperで動画や音声ファイルからテキストを抽出するMCPサーバーです。対応プラットフォームからのダウンロードと文字起こしを必要とするMCPクライアント向けです。
主な機能
- 01対応プラットフォームから動画をダウンロード
- 02動画から音声を抽出
- 03Whisperによる動画・音声の文字起こし
- 04複数言語の認識
- 05大容量ファイルの非同期処理
活用シーン
- 01対応動画プラットフォームの音声を文字起こし
- 02ローカル音声ファイルからテキストを抽出
- 03処理用の動画や音声をダウンロード
MCP 対応
MCPサーバーは、動画ダウンロード、音声抽出、動画の文字起こし、音声ファイルの文字起こしを行う4つのツールを公開します。Claude DesktopなどのMCPクライアントから接続できます。
詳細
MCP 動画・音声テキスト抽出サーバー
さまざまな動画プラットフォームや音声ファイルからテキストを抽出する機能を提供する MCP サーバーです。このサーバーは Model Context Protocol(MCP)を実装し、音声文字起こしサービスへの標準化されたアクセスを提供します。
対応プラットフォーム
このサービスは、以下を含むさまざまなプラットフォームからの動画ダウンロードと音声抽出に対応しています。
- YouTube
- Bilibili
- TikTok
- Twitter/X
- Vimeo
- Dailymotion
- SoundCloud
対応プラットフォームの完全な一覧については、yt-dlp の対応サイトをご覧ください。
コア技術
このプロジェクトでは、MCP ツールを通じた音声テキスト変換処理に OpenAI の Whisper モデルを利用しています。サーバーでは、次の4つの主要なツールを公開しています。
- 動画ダウンロード:対応プラットフォームから動画をダウンロードします
- 音声ダウンロード:対応プラットフォームの動画から音声を抽出します
- 動画テキスト抽出:動画をダウンロードして文字起こしし、テキストを抽出します
- 音声ファイルのテキスト抽出:音声ファイルからテキストを抽出します
MCP との統合
このサーバーは Model Context Protocol を使用して構築されており、次の機能を提供します。
- LLM にツールを公開する標準化された方法
- 動画コンテンツと音声ファイルへの安全なアクセス
- Claude Desktop などの MCP クライアントとの統合
機能
- Whisper に基づく高品質な音声認識
- 多言語のテキスト認識
- さまざまな音声形式に対応(mp3、wav、m4a など)
- MCP 準拠のツールインターフェース
- 大容量ファイルの非同期処理
技術スタック
- Python 3.10+
- Model Context Protocol(MCP)Python SDK
- yt-dlp(YouTube 動画ダウンロード)
- openai-whisper(コア音声テキスト変換エンジン)
- pydantic
システム要件
- FFmpeg(音声処理に必須)
- RAM 8GB 以上
- GPU アクセラレーションを推奨(NVIDIA GPU + CUDA)
- 十分なディスク容量(モデルのダウンロードと一時ファイル用)
初回実行時の重要なお知らせ
重要: 初回実行時、システムは Whisper のモデルファイル(約1GB)を自動的にダウンロードします。ネットワーク環境によっては、この処理に数分から数十分かかることがあります。モデルファイルはローカルにキャッシュされるため、次回以降の実行で再ダウンロードする必要はありません。
インストール
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 対応アプリケーション
MCP の詳細については、Model Context Protocol をご覧ください。
ドキュメント
このドキュメントの中国語版については、README_zh.md をご覧ください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。