360 Secure SkillHub
360 安全技能中心

jf-open-pro-cloud-record

面向杰峰开放平台的云存储查询技能(开发版):通过 Python 脚本调用 getVideoList、getVideoUrl、getDeviceAlarmList 三个接口,按时间段查询云存视频列表、获取 m3u8 回放或 MP4 下载地址(有效期 24 小时)以及云存报警消息;需配置 appKey、密钥、设备序列号与设备令牌等环境变量,且设备已开通云存储套餐。

jftech
热度 46.05
最近更新 2026-07-30 21:03:05
分类:搜索依赖:代码执行 / 第三方 API应用场景:数据处理 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add jf-open-pro-cloud-record
Metadata
name
jf-open-pro-cloud-record
description
杰峰设备云存储技能(开发版)。支持云存视频列表查询、云存视频回放/下载、云存报警消息查询等功能。设备需开通云存储套餐。
metadata
{"version":"1.0.0","author":"JFTech","category":"video","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-cloud-record - 杰峰设备云存储技能(开发版)

技能描述

支持杰峰设备云存储视频管理功能:

  • 云存视频列表 - 查询指定时间段的云存视频列表
  • 云存视频回放 - 获取云存视频回放地址(HLS 在线播放)
  • 云存视频下载 - 获取云存视频下载地址(MP4 文件)
  • 云存报警消息 - 查询云存报警消息列表

⚠️ 前提条件: 设备需开通云存储套餐

触发词

  • 查询云存视频 / 云存回放 / 云录像下载
  • 云存报警 / 云存消息列表 / 云存视频列表

前置条件

必需配置

  1. 签名算法 - 使用杰峰官方移位加密算法生成 signature
  2. 时间戳算法 - counter(7 位) + timeMillis(13 位),实时生成
  3. 云存储套餐 - 设备需开通云存储服务

环境变量

变量名 说明 默认值 必需
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 接口

功能 地址 方法
获取云存视频列表 POST /gwp/v3/rtc/device/getVideoList/{token} POST
获取云存回放地址 POST /gwp/v3/rtc/device/getVideoUrl/{token} POST
获取云存报警消息 POST /gwp/v3/rtc/device/getDeviceAlarmList/{token} POST

核心功能

1. 云存视频列表(Video List)

API: POST /gwp/v3/rtc/device/getVideoList/{deviceToken}

请求参数:

参数 类型 必需 说明
startTime string ✅ 开始时间(yyyy-MM-dd HH:mm:ss)
stopTime string ✅ 结束时间(yyyy-MM-dd HH:mm:ss)
sn string ✅ 设备序列号
channel int ❌ 通道号(默认 0)
pageStart int ❌ 起始页(默认 1)
pageSize int ❌ 每页数量(1-200,默认 200)
events string[] ❌ 报警类型过滤

响应参数:

字段 类型 说明
VideoArray object[] 视频列表
├─ StartTime string 录像开始时间
├─ StopTime string 录像结束时间
├─ IndexFile string 录像文件名(.m3u8)
├─ PicFlag int 是否有缩略图(1=有,0=无)
├─ VideoSize int 视频大小(字节)
├─ thumbURL string 缩略图 URL
├─ events string[] 报警类型
└─ videoId string 视频 ID

2. 云存视频回放/下载(Video URL)

API: POST /gwp/v3/rtc/device/getVideoUrl/{deviceToken}

请求参数:

参数 类型 必需 说明
videoId string ❌ 视频 ID(精准查询)
startTime string ❌ 开始时间(条件查询)
stopTime string ❌ 结束时间(条件查询)
channel int ❌ 通道号(默认 0)
fileFormat string ❌ 格式(m3u8=在线播放,MP4=下载)
multiVideo string ❌ 多目设备标识(1=多目)

响应参数:

字段 类型 说明
url string 视频地址(有效期 24 小时)

3. 云存报警消息(Alarm List)

API: POST /gwp/v3/rtc/device/getDeviceAlarmList/{deviceToken}

请求参数:

参数 类型 必需 说明
startTime string ✅ 开始时间(yyyy-MM-dd HH:mm:ss)
endTime string ✅ 结束时间(yyyy-MM-dd HH:mm:ss)
pageNum int ❌ 页数(默认 1)
pageSize int ❌ 每页数量(1-100,默认 10)
alarmEvent string ❌ 报警类型

使用示例

环境准备

# 设置环境变量(使用占位符,请替换为实际值)
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-cloud-record/scripts

# 查询今天云存视频
python3 cloud_record.py --action get-video-list \
  --start "2026-05-07 00:00:00" \
  --stop "2026-05-07 23:59:59"

# 查询报警视频(人体检测)
python3 cloud_record.py --action get-video-list \
  --start "2026-05-07 00:00:00" \
  --stop "2026-05-07 23:59:59" \
  --event "HumanDetect"

2. 获取云存回放地址

# 获取回放地址(在线播放)
python3 cloud_record.py --action get-video-url \
  --video-id "videoIdxxxx" \
  --format m3u8

# 获取下载地址(MP4)
python3 cloud_record.py --action get-video-url \
  --video-id "videoIdxxxx" \
  --format MP4

3. 查询云存报警消息

# 查询今天报警消息
python3 cloud_record.py --action get-alarm-list \
  --start "2026-05-07 00:00:00" \
  --end "2026-05-07 23:59:59"

# 查询人体检测报警
python3 cloud_record.py --action get-alarm-list \
  --start "2026-05-07 00:00:00" \
  --end "2026-05-07 23:59:59" \
  --event "appEventHumanDetectAlarm"

报警类型参考

报警类型 说明
HumanDetect 人形检测
VehicleDetect 车辆检测
PetDetect 宠物检测
MotionDetect 移动侦测
appEventHumanDetectAlarm 人体检测报警

状态码

平台状态码

code 说明 处理建议
2000 成功 -
28007 Header 参数错误 检查 uuid、appKey、timeMillis、signature
40103 无效 Token deviceToken 过期,重新获取
50000 服务器内部错误 联系杰峰技术支持

注意事项

  1. 云存储套餐 - 设备需开通云存储服务才能使用
  2. URL 有效期 - 回放/下载地址有效期24 小时
  3. 流量计费 - MP4 下载按文件大小消耗流量计费
  4. 分页限制 - 视频列表每页最大 200 条
  5. 时间格式 - 所有时间参数使用 yyyy-MM-dd HH:mm:ss 格式

相关文件

文件 说明
SKILL.md 技能文档
scripts/cloud_record.py Python 执行脚本
scripts/crypto.py 签名/时间戳加密工具(复用)

参考文档