🎬 Video MCP
🚀 基于MCP协议的高性能视频格式转换工具
✨ 特性
- 🎯 多格式支持 - 支持MP4、AVI、MOV、WMV、MKV、WEBM、M4V等主流视频格式
- ⚡ 高性能转换 - 基于FFmpeg引擎,转换速度快,质量可靠
- 🔧 灵活配置 - 支持自定义分辨率、码率、帧率等参数
- 📦 批量处理 - 支持批量视频转换,提高工作效率
- 🛡️ 类型安全 - 完整的TypeScript类型定义
- 🔌 MCP协议 - 基于Model Context Protocol,易于集成
📋 系统要求
- Node.js >= 16.0.0
- FFmpeg (需要安装并添加到系统PATH)
🚀 快速开始
安装
npm install -g video-mcp
基本使用
# 启动MCP服务器
video-mcp
# 或使用npx
npx video-mcp
🛠️ 支持的格式
| 格式 | 扩展名 | 描述 |
|---|---|---|
| MP4 | .mp4 | 最常用的视频格式 |
| AVI | .avi | 经典的视频容器格式 |
| MOV | .mov | Apple QuickTime格式 |
| WMV | .wmv | Windows Media Video |
| MKV | .mkv | 开源的多媒体容器 |
| WEBM | .webm | Web优化的视频格式 |
| M4V | .m4v | iTunes兼容格式 |
🔧 MCP工具
convert_video
转换视频文件格式
参数:
inputPath(string) - 输入视频文件路径outputFormat(string) - 目标输出格式outputPath(string, 可选) - 输出文件路径quality(string, 可选) - 质量预设: low/medium/high/ultraresolution(string, 可选) - 分辨率,如 "1920x1080"videoBitrate(number, 可选) - 视频码率 (kbps)audioBitrate(number, 可选) - 音频码率 (kbps)frameRate(number, 可选) - 帧率 (fps)overwrite(boolean, 可选) - 是否覆盖已存在文件
get_video_info
获取视频文件详细信息
参数:
filePath(string) - 视频文件路径
batch_convert
批量转换视频文件
参数:
inputFiles(string[]) - 输入文件列表outputFormat(string) - 目标格式outputDir(string) - 输出目录quality(string, 可选) - 质量预设overwrite(boolean, 可选) - 是否覆盖已存在文件
📖 使用示例
基本转换
{
"tool": "convert_video",
"arguments": {
"inputPath": "/path/to/input.mp4",
"outputFormat": "avi"
}
}
高质量转换
{
"tool": "convert_video",
"arguments": {
"inputPath": "/path/to/input.mp4",
"outputFormat": "mkv",
"quality": "high",
"resolution": "1920x1080",
"videoBitrate": 5000,
"audioBitrate": 192
}
}
批量转换
{
"tool": "batch_convert",
"arguments": {
"inputFiles": ["/path/to/video1.mp4", "/path/to/video2.avi"],
"outputFormat": "webm",
"outputDir": "/path/to/output",
"quality": "medium"
}
}
🔧 开发
环境设置
# 克隆仓库
git clone https://github.com/your-username/video-mcp.git
cd video-mcp
# 安装依赖
npm install
# 构建项目
npm run build
# 开发模式
npm run dev
项目结构
src/
├── types/ # TypeScript类型定义
├── services/ # 核心服务
├── tools/ # MCP工具实现
└── index.ts # 入口文件
🤝 贡献
欢迎提交Issue和Pull Request!
- Fork 项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开Pull Request
📄 许可证
本项目基于 MIT 许可证开源。
🙏 致谢
- FFmpeg - 强大的多媒体处理框架
- Model Context Protocol - 优秀的协议标准
如果这个项目对您有帮助,请给它一个 ⭐️