OBSBOT摄像头MCP服务器
MCP(模型上下文协议)服务器,用于PTZ摄像机控制,具有万向架定位、快照和AI视觉分析集成功能。
专为OBSBOT Tiny SE设计,但可与任何支持v4l2控制的UVC PTZ相机配合使用。
特性
- 全万向节控制:具有安全限制的平移、倾斜、缩放
- 实时位置反馈:人类可读的指示
- 相机快照:高分辨率捕捉
- 视觉分析:用于视觉语言模型的LM Studio集成
- 区域扫描:水平、垂直、网格和全景图案
- 自主搜索:用于系统勘探的Shell脚本
- Python库:直接控制自定义应用程序
需求
系统
- 支持v4l2的Linux
- Node.js 18+(用于MCP服务器)
- Python 3.8+(用于Python库)
包裹
# Ubuntu/Debian
sudo apt install v4l-utils ffmpeg python3-opencv
# Fedora
sudo dnf install v4l-utils ffmpeg python3-opencv可选的
- LM 工作室 用于视觉分析
- 视觉语言模型(如Qwen2.5-VL、LLaVA)
安装
MCP服务器
cd obsbot-camera-mcp
npm installPython库
pip install opencv-python配置
环境变量
export OBSBOT_DEVICE="/dev/video0" # Camera device
export OBSBOT_OUTPUT_DIR="/tmp/obsbot" # Capture directory
export LM_STUDIO_URL="http://localhost:1234/v1/chat/completions"
export OBSBOT_VL_MODEL="qwen2.5-vl-7b-instruct"Claude桌面配置
添加到 ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"obsbot": {
"command": "node",
"args": ["/path/to/obsbot-camera-mcp/src/obsbot-mcp-server.mjs"],
"env": {
"OBSBOT_DEVICE": "/dev/video0"
}
}
}
}用法
MCP服务器工具
get_gimbal_position
获取当前的平移、倾斜、缩放以及可读的方向。
control_gimbal
将万向节移动到绝对位置。
- 潘:-468000(右)至468000(左)
- 倾斜角度:-324000(向下)至324000(向上)
- 变焦:0(广角)至12(远摄)
中心摄像机
返回中立位置(0,0,0)。
小睡
使用可选的LM Studio分析捕获图像。
{
"analyzeWithLM": true,
"customPrompt": "Describe what you see"
}查看并分析
在一次操作中移动相机并拍摄分析快照。
扫描区域
系统多位置扫描。
{
"pattern": "horizontal", // or vertical, grid, panoramic
"steps": 5
}check_system_status
验证相机和LM Studio的可用性。
Python库
from python.obsbot_control import OBSBOTController
camera = OBSBOTController()
camera.connect()
# Move to position
camera.set_position(pan=200000, tilt=100000, zoom=2)
# Use presets
camera.preset_position("left")
camera.preset_position("center")
# Capture
camera.save_frame("snapshot.jpg")
# Scan
results = camera.scan_horizontal(steps=5, capture=True)
camera.disconnect()Shell 脚本
# Basic search
./scripts/autonomous_scan.sh "find the window"
# Grid pattern with verbose output
./scripts/autonomous_scan.sh --pattern grid --verbose "locate books"
# Quick scan
./scripts/autonomous_scan.sh --pattern quick "identify objects"相机兼容性
测试方法:
- OBSBOT微型SE
- OBSBOT会议
应与任何支持以下功能的UVC PTZ摄像机配合使用:
pan_absolute控制tilt_absolute控制zoom_absolute控制
检查相机的控制:
v4l2-ctl -d /dev/video0 --list-ctrls万向节方向
v4l2控件值映射到方向:
- 潘:正=左,负=右
- 倾斜:正=向上,负=向下
- 变焦:较高=远摄(放大)
故障排除
未找到摄像头
v4l2-ctl --list-devices
ls -la /dev/video*权限不足
sudo usermod -a -G video $USER
# Logout and login again控件不工作
# Check available controls
v4l2-ctl -d /dev/video0 --list-ctrls
# Test manual control
v4l2-ctl -d /dev/video0 --set-ctrl=pan_absolute=100000许可证
MIT许可证-请参阅许可证文件
相关项目
- sam角度检测 -基于SAM的角度测量
- openwebui人因管 -用于Open WebUI的Anthropic API管道
