jf-open-pro-local-record

Polar Sponsor
爱发电 赞助
.NET 9.0

杰峰设备本地录像技能(开发版)支持TF卡/硬盘存储,提供录像日历查询、回放列表、回放下载、报警图片获取及主辅码流切换功能。

jf-open-pro-local-record - 杰峰设备本地录像技能(开发版)

功能概述

jf-open-pro-local-record - 杰峰设备本地录像技能(开发版)是一项面向实际任务的技能,主要用于支持杰峰设备本地录像管理功能,适用于搭载 TF 卡或硬盘存储的设备:;录像日历查询 - 查询指定月份哪些日期有录像;

核心要点

  • 录像回放列表 - 获取指定时间段的录像文件列表;
  • 录像回放地址 - 获取 FLV/HLS/RTSP/MP4 回放地址;
  • 录像下载 - 获取 MP4 格式录像下载地址;

使用与执行

本地报警图片 - 获。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

jf-open-pro-local-record - 杰峰设备本地录像技能(开发版)

技能描述

支持杰峰设备本地录像管理功能,适用于搭载 TF 卡或硬盘存储的设备:

  • 录像日历查询 - 查询指定月份哪些日期有录像
  • 录像回放列表 - 获取指定时间段的录像文件列表
  • 录像回放地址 - 获取 FLV/HLS/RTSP/MP4 回放地址
  • 录像下载 - 获取 MP4 格式录像下载地址
  • 本地报警图片 - 获取设备本地存储的报警图片
  • 主辅码流切换 - 切换本地录像的主码流(高清)或辅码流(标清)

适用场景:

  • 回看历史录像
  • 下载重要录像片段
  • 查看报警时的抓拍图片
  • 调整录像存储质量(高清/标清)

触发词

  • 查询录像日历 / 查询录像列表 / 录像回放
  • 下载录像 / 获取报警图片 / 切换码流
  • 本地录像 / 卡存录像 / TF 卡录像 / 硬盘录像

前置条件

硬件要求

  1. 设备支持卡存录像 - 设备需有 TF 卡或硬盘存储
  2. 录像已开启 - 设备已配置录像计划并正常录像

必需配置

  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_DEVICE_USERNAME 设备用户名 admin ❌
JF_DEVICE_PASSWORD 设备密码 - ✅
JF_ENDPOINT API 接入地址 api-cn.jftechws.com ❌

API 接口

功能 地址 方法 需要 Token 需要在线
录像日历 POST /gwp/v3/rtc/device/cardPlaybackCalendar/{token} POST ✅ ✅
录像列表 POST /gwp/v3/rtc/device/opdev/{token} POST ✅ ✅
回放地址 POST /gwp/v3/rtc/device/playbackUrl/{token} POST ✅ ✅
报警图片 POST /gwp/v3/rtc/device/getDeviceLocalPic/{token} POST ✅ ✅
切换码流 POST /gwp/v3/rtc/device/cardVideoSwitchStream/{token} POST ✅ ✅

核心功能

1. 录像日历查询(CardPlaybackCalendar)

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

请求参数:

参数 类型 必需 说明
Name string ✅ 固定为 OPSCalendar
OPSCalendar.Event string ✅ 录像类型(*=全部,A=外部报警,M=动检,H=手动等)
OPSCalendar.FileType string ✅ 文件类型(h264=视频,jpg=图片)
OPSCalendar.Year int ✅ 年份
OPSCalendar.Month int ✅ 月份(1-12)
OPSCalendar.Channel int ❌ 通道号(默认 0)

响应参数:

字段 类型 说明
CalendarList object[] 日历列表
├─ date string 日期(YYYY-MM-DD)
├─ is_exist int 是否存在录像(0=不存在,1=存在)

2. 录像回放列表(OPFileQuery)

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

请求参数:

参数 类型 必需 说明
Name string ✅ 固定为 OPFileQuery
OPFileQuery.BeginTime string ✅ 开始时间(yyyy-MM-dd HH:mm:ss)
OPFileQuery.EndTime string ✅ 结束时间(yyyy-MM-dd HH:mm:ss)
OPFileQuery.Channel int ✅ 通道号(0=第一通道)
OPFileQuery.Event string ✅ 录像类型(*=全部,R=常规,A=报警,M=动检,H=手动等)
OPFileQuery.StreamType string ✅ 码流类型(0x00000000=主码流,0x00000001=辅码流)
OPFileQuery.Type string ✅ 文件类型(h264=视频,jpg=图片)
OPFileQuery.DriverTypeMask string ✅ 固定为 0x0000FFFF

录像类型说明:

类型 代码 说明
全部 * 所有类型的录像
常规录像 R 没有报警时的录像(包含 AOV 录像)
外部报警 A IO 口报警等非视频类报警
动态检测 M 移动侦测、人形检测等视频类报警
手动录像 H 手动开启的录像
AOV 录像 V 低功耗全时录像
入侵 I 入侵检测录像
人脸 F 人脸识别录像
车牌 N 车牌识别录像
关键录像 K 关键录像

响应参数:

字段 类型 说明
OPFileQuery object[] 录像文件列表
├─ BeginTime string 开始时间
├─ EndTime string 结束时间
├─ FileName string 录像文件名
├─ FileLength int 文件大小(KB)

3. 录像回放/下载地址(PlaybackUrl)

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

请求参数:

参数 类型 必需 说明
channel int ✅ 通道号(0=第一通道)
streamType int ✅ 码流类型(0=高清主码流,1=标清辅码流)
protocol string ✅ 播放协议(flv/hls-ts/hls-fmp4/mp4/rtsp-sdp)
startTime string ✅ 回放开始时间
endTime string ✅ 回放结束时间
fileName string ✅ 录像文件名(从回放列表获取)
username string ✅ 设备登录用户名
password string ✅ 设备登录密码
download int ❌ 0=在线回放,1=录像下载(仅 protocol=mp4 时有效)
playPrioritize int ❌ 回放优先级(0-2=普通,8=优先播放,9=持续播放)

协议说明:

协议 值 说明
FLV flv 标准 FLV 封装(推荐用于 Web 播放)
FLV 增强 flv-enhanced FLV 增强封装(H.265 编码推荐)
HLS-TS hls-ts HLS 协议,TS 格式切片
HLS-FMP4 hls-fmp4 HLS 协议,FMP4 格式切片
MP4 mp4 HTTP 协议,MP4 格式(用于下载)
RTSP rtsp-sdp RTSP 标准协议

响应参数:

字段 类型 说明
url string 播放/下载地址(有效期 10 小时)
Ret int 设备响应状态码

⚠️ 注意:

  • URL 有效期为 10 小时
  • 同时只支持 一路回放或下载
  • 本地录像回放和下载按照流量计费

4. 本地报警图片(GetDeviceLocalPic)

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

请求参数:

参数 类型 必需 说明
startTime string ✅ 开始时间
endTime string ✅ 结束时间
fileName string ✅ 图片文件名(从录像列表获取)

响应参数:

字段 类型 说明
image string 图片地址 URL

5. 切换主辅码流(CardVideoSwitchStream)

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

请求参数:

参数 类型 必需 说明
stream int ✅ 码流类型(0=高清主码流,1=标清辅码流)

说明:

  • 切换后新录制的视频将使用新码流
  • 不影响已存储的录像文件

使用示例

环境准备

# 设置环境变量
export JF_UUID="uuidxxxx"
export JF_APP_KEY="appkeyxxxx"
export JF_APP_SECRET="appsecretxxxx"
export JF_MOVE_CARD=0
export JF_DEVICE_SN="snxxx1"
export JF_DEVICE_TOKEN="NTQ0NzQ3YmE3MXwyYzFk..."
export JF_DEVICE_USERNAME="admin"
export JF_DEVICE_PASSWORD="xxxx"
export JF_ENDPOINT="api-cn.jftechws.com"

1. 查询录像日历

cd ~/.openclaw/workspace/skills/developer/jf-open-pro-local-record/scripts

# 查询本月录像日历
python3 local_record.py --action get-calendar --year 2026 --month 5

# 查询指定月份
python3 local_record.py --action get-calendar --year 2026 --month 4

2. 查询录像列表

# 查询今天录像列表
python3 local_record.py --action get-record-list 
  --start "2026-05-07 00:00:00" 
  --end "2026-05-07 23:59:59"

# 查询报警录像
python3 local_record.py --action get-record-list 
  --start "2026-05-07 00:00:00" 
  --end "2026-05-07 23:59:59" 
  --event "AMRH"

3. 获取录像回放地址

# 获取 FLV 回放地址(Web 播放)
python3 local_record.py --action get-playback-url 
  --file-name "/idea0/2026-05-07/001/10.00.00-11.00.00[R][@12345][0].h264" 
  --start "2026-05-07 10:00:00" 
  --end "2026-05-07 11:00:00" 
  --protocol flv

# 获取 HLS 回放地址(移动端播放)
python3 local_record.py --action get-playback-url 
  --file-name "/idea0/2026-05-07/001/10.00.00-11.00.00[R][@12345][0].h264" 
  --start "2026-05-07 10:00:00" 
  --end "2026-05-07 11:00:00" 
  --protocol hls-ts

4. 下载录像

# 获取 MP4 下载地址
python3 local_record.py --action download-record 
  --file-name "/idea0/2026-05-07/001/10.00.00-11.00.00[R][@12345][0].h264" 
  --start "2026-05-07 10:00:00" 
  --end "2026-05-07 11:00:00"

5. 获取本地报警图片

# 获取报警图片地址
python3 local_record.py --action get-alarm-pic 
  --file-name "/idea1/2026-05-07/001/10.24.01-10.24.02[M][@48][0].jpg" 
  --start "2026-05-07 10:24:01" 
  --end "2026-05-07 10:24:02"

6. 切换主辅码流

# 切换到标清辅码流(节省存储空间)
python3 local_record.py --action switch-stream --stream 1

# 切换到高清主码流(更高画质)
python3 local_record.py --action switch-stream --stream 0

# 查询当前码流状态
python3 local_record.py --action get-stream-status

状态码

平台状态码

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

设备状态码(Ret)

Ret 说明
100 成功
200 成功(图片接口)

注意事项

  1. 设备要求 - 设备需支持卡存录像(TF 卡或硬盘)
  2. deviceToken 有效期 - 24 小时,过期需重新获取
  3. 设备在线要求 - 所有操作需要设备在线
  4. 回放 URL 有效期 - 10 小时,请及时使用
  5. 单路限制 - 同时只支持一路回放或下载
  6. 流量计费 - 本地录像回放和下载按照流量计费
  7. 时间格式 - 所有时间参数使用 yyyy-MM-dd HH:mm:ss 格式
  8. 文件名获取 - 录像文件名需从回放列表接口获取

相关文件

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

参考文档

  • 杰峰开放平台

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

0

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

0

12

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

2026.10.22

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习