核心功能
IP Camera Skill 是一款面向网络监控设备的综合控制工具,深度整合 RTSP 媒体流处理与 ONVIF 标准协议,提供从设备发现、参数配置到实时控制的完整工作流。
RTSP 能力(camera.sh):
- 快照捕获:抓取单帧保存为 JPG
- 定时录像:支持自定义时长录制 MP4 片段
- 流地址管理:自动构建主/子码流 URL
- 多机切换:通过
--cam参数指定目标设备
ONVIF PTZ 控制(ptz.py):
- 云台方向控制:8 向平移/俯仰 + 变焦(支持速度/时长精调)
- 绝对坐标定位:
goto x y z直接跳转指定视角 - 预置位系统:保存/调用/命名常用监控角度
- 自动发现:扫描局域网内 ONVIF Profile S/T 设备
兼容性:已验证 TP-Link Tapo/Vigi、Hikvision、Dahua、Reolink、Amcrest、Axis 等品牌,覆盖消费级与专业安防市场。
显著优点
1. 协议标准化:基于 ONVIF Profile S/T 官方规范,不依赖厂商私有 SDK
2. 自动化配置:stream-uri --save 自动探测并保存 RTSP 路径,免除手动查阅文档
3. 多机管理:JSON 配置 + 环境变量覆盖,适合批量部署场景
4. 生态集成:依赖 ffmpeg、jq 等标准工具,易于嵌入现有监控工作流
潜在局限
- 网络依赖:RTSP/ONVIF 均需同网段或路由可达,NAT 穿透需额外配置
- 并发限制:部分消费级摄像头限制同时 RTSP 连接数
- PTZ 支持差异:非所有机型支持完整 PTZ 功能(如固定枪机仅支持快照)
- 认证兼容性:特殊字符密码已做 URL 编码,但极端厂商自定义认证可能需调试
适合人群
- 家庭/小型办公用户:低成本搭建自动化监控抓拍系统
- 开发者:需要程序化控制摄像头集成至 Home Assistant、Node-RED 等平台
- 安防运维:批量巡检、预置位快速调试、RTSP 路径验证
常规风险
| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| 凭证泄露 | 密码明文存储于 `~/.config/ipcam/config.json` | 设置文件权限 600,或使用环境变量覆盖 |
| 未授权访问 | ONVIF 默认可能开启弱密码 | 首次配置后立即修改强密码,关闭不必要的 ONVIF 服务 |
| 网络暴露 | 摄像头直连公网易遭扫描攻击 | 严格限制 RTSP/ONVIF 端口在防火墙内网访问 |
| 依赖安全 | ffmpeg、onvif-zeep 等上游组件漏洞 | 保持系统包管理器更新,关注 CVE 通告 |