Video Screenshot MCP

Video Screenshot MCP

Enables extracting screenshots from video files at specific timestamps or intervals. Supports multiple video formats and output customization including resolution, quality, and format options.

Category
访问服务器

README

📸 Video Screenshot MCP

npm version License: MIT Node.js Version TypeScript MCP Compatible

一个基于 Model Context Protocol (MCP) 的视频截图服务,支持高质量的视频帧提取和批量截图功能。

✨ 特性

  • 🎯 精确截图: 支持毫秒级精度的视频帧提取
  • 📊 批量处理: 按时间间隔批量截取视频画面
  • 🔍 视频信息: 获取视频详细信息(时长、分辨率、帧率等)
  • 🖼️ 多格式支持: 支持 JPG、PNG、WebP 输出格式
  • ⚙️ 灵活配置: 可自定义输出质量、尺寸等参数
  • 文件验证: 智能验证视频文件有效性
  • 🚀 高性能: 基于 FFmpeg 的高效视频处理

📦 安装

作为 MCP 服务使用(推荐)

在您的 IDE 配置文件中添加以下配置:

{
  "mcpServers": {
    "video-screenshot": {
      "command": "npx",
      "args": ["@pickstar-2002/video-screenshot-mcp@latest"]
    }
  }
}

本地安装

npm install @pickstar-2002/video-screenshot-mcp

🚀 快速开始

在 IDE 中配置

Cursor / VS Code

settings.json 中添加:

{
  "mcp.servers": {
    "video-screenshot": {
      "command": "npx",
      "args": ["@pickstar-2002/video-screenshot-mcp@latest"]
    }
  }
}

Claude Desktop

claude_desktop_config.json 中添加:

{
  "mcpServers": {
    "video-screenshot": {
      "command": "npx",
      "args": ["@pickstar-2002/video-screenshot-mcp@latest"]
    }
  }
}

基本用法示例

配置完成后,您可以通过 AI 助手使用以下功能:

请帮我截取视频 /path/to/video.mp4 在第 30 秒的画面
请批量截取视频每 10 秒的画面,保存为 PNG 格式
请获取这个视频文件的详细信息

📖 API 参考

🔍 get_video_info

获取视频文件的详细信息。

参数:

  • videoPath (string): 视频文件路径

返回: 包含时长、分辨率、帧率、编码格式等信息的对象

📸 take_screenshot

在指定时间点截取视频单帧画面。

参数:

  • videoPath (string): 视频文件路径
  • timestamp (number): 截图时间点(秒)
  • outputPath (string): 输出文件路径
  • format (string, 可选): 输出格式 (jpg/png/webp),默认 jpg
  • quality (number, 可选): 图片质量 (1-100),默认 90
  • width (number, 可选): 输出宽度(像素)
  • height (number, 可选): 输出高度(像素)

📷 batch_screenshot

按固定时间间隔批量截取视频画面。

参数:

  • videoPath (string): 视频文件路径
  • interval (number): 截图时间间隔(秒)
  • startTime (number, 可选): 开始时间(秒),默认 0
  • endTime (number, 可选): 结束时间(秒),默认视频结束
  • maxCount (number, 可选): 最大截图数量
  • outputDir (string, 可选): 输出目录,默认 ./screenshots
  • prefix (string, 可选): 文件名前缀,默认 screenshot
  • format (string, 可选): 输出格式,默认 jpg
  • quality (number, 可选): 图片质量,默认 90
  • width (number, 可选): 输出宽度(像素)
  • height (number, 可选): 输出高度(像素)

✅ validate_video

验证视频文件是否有效且支持处理。

参数:

  • videoPath (string): 视频文件路径

返回: 验证结果和错误信息(如有)

🎯 使用场景

  • 📝 内容创作: 为视频制作缩略图和预览图
  • 🎬 视频分析: 提取关键帧进行内容分析
  • 📊 质量检测: 批量检查视频质量和内容
  • 🔍 素材管理: 为视频库生成预览图
  • 🎨 设计工作: 提取视频帧用于设计素材

🛠️ 疑难解答

❌ 常见问题

问题 1: Connection closed 错误

症状: 在使用 MCP 服务时出现连接关闭错误

解决方案(按推荐顺序):

  1. 🎯 首选方案: 确认使用了 @latest 标签

    {
      "command": "npx",
      "args": ["@pickstar-2002/video-screenshot-mcp@latest"]
    }
    
  2. 🔄 备用方案: 锁定到特定稳定版本

    {
      "command": "npx",
      "args": ["@pickstar-2002/video-screenshot-mcp@1.1.1"]
    }
    
  3. 🧹 终极方案: 清理 npx 缓存

    # 清理 npx 缓存
    npx clear-npx-cache
    
    # 或者手动删除缓存目录
    # Windows: %USERPROFILE%\.npm\_npx
    # macOS/Linux: ~/.npm/_npx
    

问题 2: FFmpeg 未找到

症状: 提示 FFmpeg 不可用或未安装

解决方案:

# Windows (使用 Chocolatey)
choco install ffmpeg

# macOS (使用 Homebrew)
brew install ffmpeg

# Ubuntu/Debian
sudo apt update && sudo apt install ffmpeg

# CentOS/RHEL
sudo yum install ffmpeg

问题 3: 权限错误

症状: 无法读取视频文件或写入截图

解决方案:

  • 确保视频文件路径正确且可访问
  • 检查输出目录的写入权限
  • 在 Windows 上可能需要以管理员身份运行

问题 4: 视频格式不支持

症状: 某些视频文件无法处理

解决方案:

  • 使用 validate_video 工具检查文件有效性
  • 支持的格式: MP4, AVI, MOV, MKV, WebM, FLV 等主流格式
  • 对于特殊格式,建议先转换为 MP4

📋 调试技巧

  1. 启用详细日志: 设置环境变量 DEBUG=video-screenshot:*
  2. 检查文件路径: 使用绝对路径避免相对路径问题
  3. 测试小文件: 先用小视频文件测试功能
  4. 查看错误信息: 仔细阅读错误消息中的具体提示

🔧 系统要求

  • Node.js: >= 18.0.0
  • FFmpeg: 需要系统安装 FFmpeg
  • 操作系统: Windows, macOS, Linux
  • 内存: 建议至少 512MB 可用内存

📄 许可证

本项目采用 MIT 许可证

🤝 贡献

欢迎提交 Issue 和 Pull Request!

开发环境设置

# 克隆仓库
git clone https://github.com/pickstar-2002/video-screenshot-mcp.git
cd video-screenshot-mcp

# 安装依赖
npm install

# 构建项目
npm run build

# 运行测试
npm test

📞 联系方式

如有问题或建议,欢迎联系:

微信: pickstar_loveXX


⭐ 如果这个项目对您有帮助,请给个 Star 支持一下!

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选