
Video Transcriber
io.github.nhatvu148由 GitHub 帳號 nhatvu148 發布v0.10.6更新於 Oct 24, 2026
Transcribe videos from 1000+ platforms or local files offline, and search across every transcript
概覽
一個本機 MCP 伺服器,可從 1000 多個平台下載影片或讀取本機檔案,用 whisper.cpp 離線轉錄,並可搜尋已儲存的轉錄文字。
- 可以做什麼
- 轉錄來自網址(YouTube、Vimeo、TikTok 等 yt-dlp 支援的網站)或本機影片檔案的影片,可選擇模型大小與語言,並把 TXT、JSON、Markdown 三種轉錄結果寫入輸出目錄。
- 適用情境
- 當你希望助理把講座、會議、課程或社群影片轉成文字,又不願把音訊送到雲端服務,並想保留可搜尋的轉錄檔案時使用。
- 執行需求
- 以本機二進位檔執行(Homebrew、cargo install 或預先編譯版本),支援 macOS、Linux、Windows;需要 yt-dlp 與 ffmpeg,從原始碼建置還需 cmake 與 libclang,並需下載 whisper 模型。選用:OPENROUTER_API_KEY 用於語意轉錄搜尋,YT_DLP_COOKIES 或 YT_DLP_COOKIES_FROM_BROWSER 用於年齡限制或需登入的影片,REMOTE_WHISPER_URL 用於遠端轉錄,MCP_ALLOWED_HOSTS 用於 HTTP 傳輸。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Video Transcriber,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Video Transcriber MCP 🚀
High-performance video transcription MCP server using whisper.cpp (Rust)
[License: MIT OR Apache-2.0] [Rust] [crates.io]
A Model Context Protocol (MCP) server that transcribes videos from 1000+ platforms using whisper.cpp. Built with Rust for maximum performance and efficiency.
📦 Installation
Homebrew (macOS/Linux) - Recommended
The easiest way to install with all dependencies:
This automatically installs the binary along with required dependencies (cmake, yt-dlp, ffmpeg).
Cargo Install
If you have Rust installed:
Note: You'll need to manually install dependencies: yt-dlp, ffmpeg, cmake
Pre-built Binaries
Download from GitHub Releases:
Note: You'll need to manually install dependencies: yt-dlp, ffmpeg
Claude Code plugin
Installs the MCP server and a /transcribe skill in one step:
The plugin registers the MCP server for you, but it does not install the binary — run one of the install commands above first, so video-transcriber-mcp is on your PATH.
🎯 Why Rust?
This version uses whisper.cpp (C++ implementation with Rust bindings) instead of Python's OpenAI Whisper:
Real-world performance depends on your hardware, video length, and chosen model.
✨ Features
- 🚀 High performance transcription using whisper.cpp (C++ with Rust bindings)
- 🎥 Download from 1000+ platforms (YouTube, Vimeo, TikTok, Twitter, etc.)
- 📂 Transcribe local video files (mp4, avi, mov, mkv, etc.)
- 🎤 100% offline transcription (privacy-first)
- 🎛️ 5 model sizes (tiny, base, small, medium, large)
- 🌐 90+ languages supported
- 📝 Multiple output formats (TXT, JSON, Markdown)
- 🔌 MCP integration for Claude Code
- 🌐 Dual transport - stdio (local) and Streamable HTTP (remote)
- ⚡ Native binary - no Python or Node.js required
- 💾 Low memory footprint compared to Python implementations
⚡ Quick Start (Using Taskfile)
The fastest way to get started:
Available Commands:
See Taskfile.yml for all available tasks.
🌐 Transport Modes
The server supports two transport modes:
Stdio Transport (Default)
Standard I/O transport for local CLI usage with Claude Code. This is the default mode.
Streamable HTTP Transport
HTTP transport for remote access. Allows the MCP server to be accessed over the network.
Remote MCP Client Configuration:
For HTTP transport, configure your MCP client with the URL:
Benefits of HTTP Transport:
- No local installation required for clients
- Centralized server deployment
- Automatic updates (server-side)
- Better for team environments
- Compatible with serverless platforms
CLI Options
📦 Manual Build from Source
Prerequisites
- Rust (1.85+ for Rust 2024 edition)
- yt-dlp (for downloading videos)
- FFmpeg (for audio processing)
- clang/libclang (
whisper-rs-sysusesbindgento build whisper.cpp, which needslibclangat build time)
Build from Source
Download Whisper Models
Models are stored in ~/.cache/video-transcriber-mcp/models/
🚀 Quick Start
MCP Server (for Claude Code)
Add to ~/.claude/settings.json:
Option 1: If installed via GitHub Release or cargo install:
Option 2: If built from source:
Then use in Claude Code:
Basic transcription (uses base model by default):
Transcribe with specific model:
Transcribe local video file:
Transcribe in specific language:
📊 Performance
Expected Performance Characteristics
Based on whisper.cpp vs OpenAI Whisper benchmarks from the community:
Transcription Speed (approximate, varies by hardware):
- whisper.cpp is typically 2-6x faster than Python Whisper
- Faster startup time (no Python interpreter overhead)
- Lower memory footprint (no Python runtime)
Real-world factors that affect performance:
- CPU: More cores = faster processing
- Model size: Tiny is fastest, Large is slowest but most accurate
- Video length: Longer videos take proportionally more time
- Audio complexity: Clear speech transcribes faster than noisy audio
Want to help?
We're collecting real benchmark data! If you run both versions, please share your results:
- Hardware specs (CPU, RAM)
- Video length tested
- Model used
- Time taken for each version
Open an issue with your benchmark results to help improve this section!
🎛️ Model Comparison
🌍 Supported Platforms
Thanks to yt-dlp, this tool supports 1000+ video platforms including:
- Social Media: YouTube, TikTok, Twitter/X, Facebook, Instagram, Reddit
- Video Hosting: Vimeo, Dailymotion, Twitch
- Educational: Coursera, Udemy, Khan Academy, edX
- News: BBC, CNN, NBC, PBS
- And 1000+ more!
📝 Output Format
For each video, three files are generated in ~/Downloads/video-transcripts/:
Example Output
🔧 Configuration
Environment Variables
All environment variables are optional. The transcriber works with none of them set; they unlock authentication, remote inference, AI summaries, and the paid HTTP API.
💡 The transcript output directory is not an env var — pass
output_dirto thetranscribe_videotool (defaults to~/Downloads/video-transcripts). Output files are named<video_id>-<title>.{txt,json,md}.
Remote MCP access (--transport http)
The HTTP transport only answers requests whose Host header is on an
allowlist. It defaults to loopback (localhost, 127.0.0.1, ::1) as
protection against [DNS rebinding][dns-rebinding], which means a deployed
instance rejects its own public hostname with 403 until you name it:
Leave it unset for local use — the server logs which hosts it accepts at
startup, so a 403 from a remote client is easy to diagnose.
⚠️ This controls reachability, not authorization. Anyone who can reach the URL can call the tools, including
transcribe_video, which spends real money when remote Whisper / OpenRouter are configured. Put an authenticating proxy in front of a public deployment.
Downloading (yt-dlp cookies)
Needed only for age-restricted / members-only videos or YouTube's "Sign in to confirm you're not a bot" challenge.
Remote Whisper (offload transcription)
🧪 Development
Build
Project Structure
This crate is only the transcription pipeline and its MCP surface. The product
built on top of it — REST API, accounts, credits, payments, AI summaries and
diagrams — lives in a separate private crate that depends on this one as a
library, so cargo install video-transcriber-mcp gets you a transcription
server rather than somebody else's SaaS backend.
🤝 Contributing
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
🙏 Acknowledgments
- whisper.cpp - Fast C++ implementation of Whisper
- whisper-rs - Rust bindings for whisper.cpp
- yt-dlp - Video downloader for 1000+ platforms
- OpenAI Whisper - Original speech recognition model
- Model Context Protocol SDK - Rust SDK for MCP
🆚 Comparison with TypeScript Version
I built the original video-transcriber-mcp in TypeScript. Here's why I rewrote it in Rust:
The Rust version is production-ready and significantly more efficient!
🔗 Links
License
Licensed under either of
- MIT license (LICENSE-MIT)
- Apache License, Version 2.0 (LICENSE-APACHE)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Built with ❤️ in Rust for maximum performance
MCP registry ownership token — crates.io strips HTML comments, so this line has to stay visible:
mcp-name: io.github.nhatvu148/video-transcriber-mcp
來源:README.md,提交 eca03fd
工具
0版本歷史
1- v0.10.6最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分