视频转录器MCP服务器
](https://www.npmjs.com/package/video-transcriber-mcp) 
一种模型上下文协议(MCP)服务器,用于转录来自 1000+平台 使用OpenAI的Whisper模型。使用TypeScript构建以确保类型安全,并可通过npx轻松安装。
✨ 最新动态
- 🌍 多平台支持:现在通过yt-dlp支持1000多个视频平台(YouTube、Vimeo、TikTok、Twitter/X、Facebook、Instagram、Twitch、教育网站等)
- 💻 交叉平台的:适用于macOS、Linux和Windows
- 🎛️ 可配置的Whisper型号:从小型、基础型、小型、中型或大型型号中选择
- 🌐 语言支持:以90多种语言转录或使用自动检测
- 🔄 自动检索:网络故障通过指数回退自动处理
- 🎯 平台检测:自动检测视频平台
- 📋 列出支持的网站:查看所有1000多个支持平台的新工具
- ⚡ 改进了错误处理:更具体和有用的错误消息
- 🔒 更好的文件名处理:改进了净化,保留了更多字符
⚠️ 法律声明
此工具仅用于教育、可访问性和研究目的。
在使用此工具之前,请理解:
- 大多数平台的服务条款通常禁止下载内容
- 你有责任 确保您的使用符合适用法律
- 此工具主要用于:
- ✅ 您自己的内容 - ✅ 创建无障碍功能(聋人/听力障碍者字幕) - ✅ 教育和研究目的(如允许) - ✅ 您有明确权限下载的内容
请阅读 法律.md 在使用此工具之前,请参阅详细的法律信息。
我们不鼓励或支持违反任何平台的服务条款或侵犯版权。负责任和合乎道德地使用。
特性
- 🎥 从1000多个视频平台下载音频(由yt-dlp提供支持)
- 📂 转录本地视频文件\*\*(mp4、avi、mov、mkv等)
- 🎤 使用OpenAI Whisper进行转录(本地,不需要API密钥)
- 🎛️ 可配置的Whisper型号(微型、基础型、小型、中型、大型)
- 🌐 支持90多种语言,具有自动检测功能
- 📝 生成多种格式的成绩单(TXT、JSON、Markdown)
- 📚 列出并阅读以前的成绩单作为MCP资源
- 🔌 与Claude Code或任何MCP客户端无缝集成
- ⚡ TypeScript+npx易于安装
- 🔒 TypeScript的完全类型安全
- 🔍 自动依赖性检查
- 🔄 网络故障的自动重试逻辑
- 🎯 平台检测(显示您正在从哪个平台转录)
支持的平台
多亏了yt-dlp,这个工具支持 1000+视频平台 包括:
- 社交媒体:YouTube、TikTok、推特/X、脸书、Instagram、Reddit、领英
- 视频托管:Vimeo、Dailymotion、Twitch
- 教育的:Coursera、Udemy、可汗学院、领英学习、edX
- 新闻:英国广播公司、美国有线电视新闻网、美国全国广播公司、英国公共广播公司
- 会议/技术:YouTube(技术讲座)、Vimeo(会议)
- 还有很多,更多!
跑 list_supported_sites 工具查看1000+支持平台的完整列表。
先决条件
macOS
brew install yt-dlp # Video downloader (supports 1000+ sites)
brew install openai-whisper # Whisper transcription
brew install ffmpeg # Audio processingLinux
# Ubuntu/Debian
sudo apt update
sudo apt install ffmpeg
pip install yt-dlp openai-whisper
# Fedora/RHEL
sudo dnf install ffmpeg
pip install yt-dlp openai-whisper
# Arch Linux
sudo pacman -S ffmpeg
pip install yt-dlp openai-whisper视窗
选项1:使用pip(推荐)
# Install Python from python.org first
pip install yt-dlp openai-whisper
# Install ffmpeg using Chocolatey
choco install ffmpeg
# Or download ffmpeg from: https://ffmpeg.org/download.html选项2:使用翼子板
winget install yt-dlp.yt-dlp
winget install Gyan.FFmpeg
pip install openai-whisper验证安装(所有平台)
yt-dlp --version
whisper --version
ffmpeg -version快速开始
面向最终用户(使用npx)
添加到您的Claude代码配置中(~/.claude/settings.json):
{
"mcpServers": {
"video-transcriber": {
"command": "npx",
"args": ["-y", "video-transcriber-mcp"]
}
}
}或者直接从GitHub使用:
{
"mcpServers": {
"video-transcriber": {
"command": "npx",
"args": [
"-y",
"github:nhatvu148/video-transcriber-mcp"
]
}
}
}就是这样!无需安装。npx将自动下载并运行该包。
促进地方发展
# Clone the repository
git clone https://github.com/nhatvu148/video-transcriber-mcp.git
cd video-transcriber-mcp
# Install dependencies
npm install
# or
bun install
# Build the project
npm run build
# Use in Claude Code with local path
{
"mcpServers": {
"video-transcriber": {
"command": "npx",
"args": ["-y", "/path/to/video-transcriber-mcp"]
}
}
}用法
来自克劳德代码
配置后,您可以在Claude Code中使用这些工具:
从任何平台转录视频
Please transcribe this YouTube video: https://www.youtube.com/watch?v=VIDEO_IDTranscribe this TikTok video: https://www.tiktok.com/@user/video/123456789Get the transcript from this Vimeo video with high accuracy: https://vimeo.com/123456789
(use model: large)Transcribe this Spanish tutorial video: https://youtube.com/watch?v=VIDEO_ID
(language: es)转录本地视频文件
Transcribe this local video file: /Users/myname/Videos/meeting.mp4Transcribe ~/Downloads/lecture.mov with high accuracy
(use model: medium)克劳德将使用 transcribe_video 该工具自动提供模型和语言的可选参数。
列出所有支持的平台
What platforms can you transcribe videos from?列出可用成绩单
List all my video transcripts检查相关性
Check if my video transcriber dependencies are installed阅读成绩单
Show me the transcript for [video name]编程式用法
如果安装该软件包:
npm install video-transcriber-mcp您可以通过编程方式导入和使用它:
import { transcribeVideo, checkDependencies, WhisperModel } from 'video-transcriber-mcp';
// Check dependencies
checkDependencies();
// Transcribe a video from URL with custom options
const result = await transcribeVideo({
url: 'https://www.youtube.com/watch?v=VIDEO_ID',
outputDir: '/path/to/output',
model: 'medium', // tiny, base, small, medium, large
language: 'en', // or 'auto' for auto-detection
onProgress: (progress) => console.log(progress)
});
// Or transcribe a local video file
const localResult = await transcribeVideo({
url: '/path/to/video.mp4', // Local file path instead of URL
outputDir: '/path/to/output',
model: 'base',
language: 'auto',
onProgress: (progress) => console.log(progress)
});
console.log('Title:', result.metadata.title);
console.log('Platform:', result.metadata.platform);
console.log('Files:', result.files);输出
成绩单保存到 ~/Downloads/video-transcripts/ 默认情况下。
对于每个视频,生成三个文件:
.txt-纯文本转录.json-带有时间戳和元数据的JSON.md-带视频元数据和格式化转录的Markdown
示例
~/Downloads/video-transcripts/
├── 7JBuA1GHAjQ-From-AI-skeptic-to-UNFAIR-advantage.txt
├── 7JBuA1GHAjQ-From-AI-skeptic-to-UNFAIR-advantage.json
└── 7JBuA1GHAjQ-From-AI-skeptic-to-UNFAIR-advantage.mdMCP工具
transcribe_video
将来自1000多个平台或本地视频文件的视频转录为文本。
参数:
url(必填):来自任何支持平台的视频URL或本地视频文件(mp4、avi、mov、mkv等)的路径output_dir(可选):输出目录路径model(可选):Whisper型号-“微型”、“基础”(默认)、“小型”、“中型”、“大型”language(可选):语言代码(ISO 639-1:“en”、“es”、“fr”等)或“auto”(默认)
型号比较:
| 型号 | 速度 | 精度 | 用例 |
|---|---|---|---|
| 微小 | ⚡⚡⚡⚡⚡ | ⭐⭐ | 快速草稿、测试 |
| 基础 | ⚡⚡⚡⚡ | ⭐⭐⭐ | 一般用途(默认) |
| 小 | ⚡⚡⚡ | ⭐⭐⭐⭐ | 更准确 |
| 中等 | ⚡⚡ | ⭐⭐⭐⭐⭐ | 高精度 |
| 大 | ⚡ | ⭐⭐⭐⭐⭐⭐ | 精度最高,速度较慢 |
list_transcripts
列出所有可用的转录本及其元数据。
参数:
output_dir(可选):要列出的目录
check_dependencies
验证是否安装了所有必需的依赖项。
list_supported_sites
列出所有1000+支持的视频平台。
配置示例
克劳德代码(推荐)
{
"mcpServers": {
"video-transcriber": {
"command": "npx",
"args": ["-y", "video-transcriber-mcp"]
}
}
}来自GitHub(最新)
{
"mcpServers": {
"video-transcriber": {
"command": "npx",
"args": ["-y", "github:nhatvu148/video-transcriber-mcp"]
}
}
}本地开发
{
"mcpServers": {
"video-transcriber": {
"command": "npx",
"args": ["-y", "/absolute/path/to/video-transcriber-mcp"]
}
}
}发展
设置
# Install dependencies
npm install
# Build the project
npm run build
# Type check
npm run check
# Development mode (requires Bun)
bun run dev
# Clean build artifacts
npm run clean项目结构
video-transcriber-mcp/
├── src/
│ ├── index.ts # MCP server implementation
│ └── transcriber.ts # Core transcription logic
├── dist/ # Built JavaScript (generated)
├── package.json # Package configuration
├── tsconfig.json # TypeScript configuration
├── LICENSE # MIT License
└── README.md # This file脚本
| 命令 | 描述 |
|---|---|
npm run build | 将TypeScript编译为JavaScript |
npm run dev | 热重载开发模式(Bun) |
npm run check | TypeScript类型检查 |
npm run clean | 删除dist/目录 |
npm run prepublishOnly | 预发布构建(自动) |
出版
# Build the project
npm run build
# Test locally first
npx . --help
# Publish to npm (bump version first)
npm version patch # or minor, major
npm publish
# Or publish from GitHub
# Push to GitHub and users can use:
# npx github:username/video-transcriber-mcp故障排除
未安装依赖项
看 先决条件 以上部分为平台特定的安装说明。
npx找不到包
确保包装是:
- 发布到npm,OR
- 在GitHub上提供正确的package.json
TypeScript错误
npm run check权限不足
构建过程会自动生成 dist/index.js 可通过 fix-shebang 脚本。
“不支持的URL”错误
yt-dlp可能不支持该平台。跑 list_supported_sites 查看所有支持的平台。
演出
| 视频长度 | 处理时间(基本型号) | 输出大小 |
|---|---|---|
| 5分钟 | ~1-2分钟 | ~5-10 KB |
| 10分钟 | ~2-4分钟 | ~10-20KB |
| 30分钟 | ~5-10分钟 | ~30-50 KB |
| 1小时 | ~10-20分钟 | ~60-100KB |
*时间是近似的,取决于CPU速度和型号选择*
高级配置
定制Whisper型号
在工具调用参数中指定:
{
"url": "https://youtube.com/watch?v=...",
"model": "large"
}自定义语言
指定语言代码:
{
"url": "https://youtube.com/watch?v=...",
"language": "es"
}自定义输出目录
在工具调用中指定:
{
"url": "https://youtube.com/watch?v=...",
"output_dir": "/custom/path"
}贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
MIT许可证-请参阅 许可证 详细信息文件
TypeScript与Rust版本
这是 TypeScript版本 -非常适合:
- ✅ 使用npx快速设置(无需安装)
- ✅ 熟悉Node.js生态系统
- ✅ 易于修改和扩展
- ✅ 有利于学习和原型制作
考虑一下 Rust版本 如果你需要:
- 🚀 更快的转录 (使用耳语.cpp)
- 💾 降低内存使用率
- ⚡ 本地性能
- 📦 独立二进制 (不需要Node.js)
两个版本都支持相同的MCP协议,并且与Claude Code的工作方式相同!
链接
致谢
- OpenAI Whisper用于转录
- yt-dlp用于多平台视频下载(1000+站点)
- 模型上下文协议SDK
- 克劳德Anthropic
______________________________________________________________________
由以下材料制成❤️ 对于MCP社区
