原始内容
name: jf-open-pro-video-masking description: 杰峰设备视频遮挡技能(开发版)。支持一键遮蔽功能,开启后摄像头转至遮蔽位置并关闭视频预览和录像,保护隐私。 metadata: version: 1.0.0 author: JFTech category: privacy tags: - 杰峰 - 视频遮挡 - 一键遮蔽 - 隐私保护 - 云台遮蔽 triggers: - 开启遮蔽 - 关闭遮蔽 - 一键遮蔽 - 视频遮挡 - 隐私模式 prerequisites: - 配置必需的环境变量 - 设备需支持一键遮蔽功能 - 设备需已完成配网和绑定 - 设备需在线 region: - CN: api-cn.jftechws.com (中国大陆) - AS: api-as.jftechws.com (亚洲) - EU: api-eu.jftechws.com (欧洲) - NA: api-na.jftechws.com (北美洲)
jf-open-pro-video-masking - 杰峰设备视频遮挡技能(开发版)
技能描述
支持杰峰云台设备的一键遮蔽功能:
- 开启遮蔽 - 摄像头转至最下方然后转至最右侧,关闭视频预览和录像
- 关闭遮蔽 - 摄像头恢复到原监控位置,恢复正常预览和录像
- 状态查询 - 查询当前遮蔽状态
适用场景:
- 家庭隐私保护
- 会议室隐私模式
- 定时遮蔽计划
触发词
- 开启遮蔽 / 关闭遮蔽 / 一键遮蔽
- 视频遮挡 / 隐私模式 / 遮蔽模式
前置条件
硬件要求
- 云台设备 - 设备需支持 PTZ 功能
- 能力集验证 -
SystemFunction.SupportOneKeyMaskVideo为true
必需配置
- 签名算法 - 使用杰峰官方移位加密算法生成 signature
- 时间戳算法 - counter(7 位) + timeMillis(13 位),实时生成
- 设备绑定 - 设备需先绑定到开放平台账号
环境变量
| 变量名 | 说明 | 默认值 | 必需 |
|---|---|---|---|
JF_UUID |
开放平台用户 uuid | - | ✅ |
JF_APP_KEY |
开放平台应用 appKey | - | ✅ |
JF_APP_SECRET |
开放平台应用密钥 | - | ✅ |
JF_MOVE_CARD |
移动卡标识(用于签名) | 2 |
✅ |
JF_DEVICE_SN |
设备序列号 | - | ✅ |
JF_DEVICE_TOKEN |
设备接口访问令牌 | - | ✅ |
JF_ENDPOINT |
API 接入地址 | api-cn.jftechws.com |
❌ |
API 接口
| 功能 | 地址 | 方法 | 需要 Token | 需要在线 |
|---|---|---|---|---|
| 设置视频遮挡 | POST /gwp/v3/rtc/device/setconfig/{token} |
POST | ✅ | ✅ |
核心功能
一键遮蔽(OneKeyMaskVideo)
API: POST /gwp/v3/rtc/device/setconfig/{deviceToken}
Name: OPPTZControl
请求参数:
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
| Name | string | ✅ | 固定为 OPPTZControl |
| General.OneKeyMaskVideo | object[] | ✅ | 遮蔽配置数组 |
| └─ Enable | boolean | ✅ | true=开启遮蔽,false=关闭遮蔽 |
响应参数:
| 字段 | 类型 | 说明 |
|---|---|---|
| code | int | 平台状态码(2000=成功) |
| msg | string | 响应消息 |
| data | object | 响应数据 |
| ├─ Name | string | 方法名称 |
| ├─ Ret | int | 设备状态码(100=成功) |
| └─ SessionID | string | 会话 ID |
功能说明
开启遮蔽
当开启"一键遮蔽"后:
- 摄像头动作 - 往下转至最下方,然后转至最右侧
- 视频状态 - 关闭视频预览(无法查看实时画面)
- 录像状态 - 停止录像(不录制任何内容)
适用场景:
- 家庭成员在家时保护隐私
- 会议室敏感会议期间
- 夜间不需要监控时
关闭遮蔽
当关闭"一键遮蔽"后:
- 摄像头动作 - 自动恢复到原来的监控位置
- 视频状态 - 恢复正常视频预览
- 录像状态 - 恢复正常录像
适用场景:
- 家庭成员外出后恢复监控
- 会议结束后恢复监控
- 定时恢复监控计划
使用示例
环境准备
# 设置环境变量(使用占位符,请替换为实际值)
export JF_UUID="uuidxxxx"
export JF_APP_KEY="appkeyxxxx"
export JF_APP_SECRET="appsecretxxxx"
export JF_MOVE_CARD="2"
export JF_DEVICE_SN="devicesnxxxx"
export JF_DEVICE_TOKEN="devicetokenxxxx"
export JF_ENDPOINT="api-cn.jftechws.com"
1. 开启遮蔽
cd ~/.openclaw/workspace/skills/developer/jf-open-pro-video-masking/scripts
# 开启一键遮蔽
python3 video_masking.py --action enable
2. 关闭遮蔽
# 关闭一键遮蔽
python3 video_masking.py --action disable
3. 查询遮蔽状态
# 查询当前遮蔽状态
python3 video_masking.py --action status
4. 切换遮蔽状态
# 切换遮蔽状态(开→关 或 关→开)
python3 video_masking.py --action toggle
状态码
平台状态码
| code | 说明 | 处理建议 |
|---|---|---|
| 2000 | 成功 | - |
| 28007 | Header 参数错误 | 检查 uuid、appKey、timeMillis、signature |
| 40103 | 无效 Token | deviceToken 过期,重新获取 |
| 50000 | 服务器内部错误 | 联系杰峰技术支持 |
设备状态码(Ret)
| Ret | 说明 |
|---|---|
| 100 | 成功 |
注意事项
- 设备要求 - 设备需支持一键遮蔽功能(检查能力集)
- deviceToken 有效期 - 24 小时,过期需重新获取
- 设备在线要求 - 操作需要设备在线
- 遮蔽位置 - 遮蔽时摄像头转到最下方和最右侧
- 恢复位置 - 关闭遮蔽后自动恢复到原监控位置
- 视频录像 - 遮蔽期间无法预览也不录像
- 隐私保护 - 适用于家庭、会议室等隐私场景
相关文件
| 文件 | 说明 |
|---|---|
SKILL.md |
技能文档 |
scripts/video_masking.py |
Python 执行脚本 |
scripts/crypto.py |
签名/时间戳加密工具(复用) |