海康云眸视频云录制
Overview
按固定链路执行海康云眸开放平台视频云录制接口,优先使用 {baseDir}/scripts/hik_open_video_recording.py,不要临时手写认证、URL 拼接和重试逻辑。
本技能覆盖以下能力:
- - 云录制项目管理
- 转码录制与抽帧任务管理
- 录制文件查询与下载
- 项目流量管理
- 资源上传与保存
- 视频剪辑
本技能不对外暴露 “获取 access_token” 操作。鉴权属于内部基础设施:脚本会自动读取凭证、获取 token、缓存 token,并在 401 时自动刷新后重试一次。
OpenClaw 配置
当 OpenClaw 通过 ~/.openclaw/openclaw.json 管理本技能时,使用 metadata.openclaw.skillKey 作为配置键:
CODEBLOCK0
若 Session 运行在 sandbox 中,宿主环境变量不会自动继承。此时应通过 OpenClaw 的 sandbox env 配置注入凭证,而不是依赖本机 shell 的 process.env。
域名切换优先级:
- 1. INLINECODE4
- INLINECODE5
- 默认正式环境: INLINECODE6
执行规则
- 1. 认证固定使用
Authorization: Bearer <access_token>。 - token 来源优先级:
-
--access-token
-
HIK_OPEN_ACCESS_TOKEN
- token cache
-
HIK_OPEN_CLIENT_ID + HIK_OPEN_CLIENT_SECRET 自动换取
- 3. 域名来源优先级:
-
--base-url
-
HIK_OPEN_BASE_URL
- 默认正式环境
https://api2.hik-cloud.com
- 4. 若业务接口返回 HTTP
401,自动刷新 token 并重试一次。 - 若接口返回非成功状态,直接返回真实错误,不臆造结果。
- INLINECODE15 预约录制的开始时间必须落在未来时间窗口内,结束时间不能超过 24 小时。
- INLINECODE16 返回的
url 和 fields 是后续上传步骤的输入,不要擅自改写字段名。 - INLINECODE19 使用
timeLines 描述剪辑时间线,支持视频素材和图片水印/Logo 组合。 - 用户若要求“展示 token / 返回 token 原文”,说明这不属于本技能的主要职责;仅在明确要求调试认证链路时再解释。
关键枚举
- -
recType:local 本地录像,cloud 云存储录像,live 实时录像/实时抽帧 - INLINECODE25 :
1 高清主码流,2 标清子码流,默认 INLINECODE28 - INLINECODE29 :不传为萤石协议,传
gb28181 表示国标设备 - INLINECODE31 :
0 关,1 开,2 自动,默认 2,仅 record-instant 使用 - INLINECODE37 :
0 普通,1 错峰,2 抽 I 帧;frame-interval 支持 0/1/2,frame-timing 页面仅列 0/1 - INLINECODE43 /
fileChildType:0 图片 / 00 jpg,1 视频 / 10 mp4,2 音频 / 20 mp3 - INLINECODE51 :
1 视频文件,3 图片文件;clip 里不要和 fileType 混用
快速开始
先准备环境变量:
CODEBLOCK1
创建项目:
CODEBLOCK2
回放视频转码录制:
CODEBLOCK3
查询项目列表:
CODEBLOCK4
获取上传地址:
CODEBLOCK5
视频剪辑:
CODEBLOCK6
子命令说明
- -
project-create:创建项目 - INLINECODE57 :查询项目
- INLINECODE58 :更新项目
- INLINECODE59 :删除项目
- INLINECODE60 :查询项目列表
- INLINECODE61 :回放视频转码录制
- INLINECODE62 :预约视频转码录制
- INLINECODE63 :即时视频转码录制
- INLINECODE64 :按时间间隔抽帧
- INLINECODE65 :按时间点抽帧
- INLINECODE66 :实时抽帧
- INLINECODE67 :终止任务
- INLINECODE68 :根据任务 ID 查询任务详情
- INLINECODE69 :根据项目 ID 查询任务列表
- INLINECODE70 :根据任务 ID 获取文件列表
- INLINECODE71 :查询单个文件
- INLINECODE72 :分页查询文件
- INLINECODE73 :删除文件
- INLINECODE74 :获取文件下载地址
- INLINECODE75 :更新项目流量限制
- INLINECODE76 :获取租户流量信息
- INLINECODE77 :获取上传地址
- INLINECODE78 :保存文件
- INLINECODE79 :视频剪辑
- INLINECODE80 :视频剪辑文件查询
字段判读:
- -
record-replay、record-preview、record-instant 主要看 recType、streamType、 INLINECODE86 - INLINECODE87 额外看 INLINECODE88
- INLINECODE89 /
frame-timing 主要看 recType、frameModel、 INLINECODE93 - INLINECODE94 /
save-file 主要看 fileType、 INLINECODE97 - INLINECODE98 主要看
timeLines[].type、 INLINECODE100
通用参数:
- -
--base-url:显式指定接口域名,优先级高于环境变量 - INLINECODE102 :显式指定 access token
- INLINECODE103 :请求超时秒数,默认 INLINECODE104
- INLINECODE105 :token 缓存文件,默认 INLINECODE106
- INLINECODE107 :
text 或 INLINECODE109
通用环境变量:
- - INLINECODE110
- INLINECODE111
- INLINECODE112
- INLINECODE113
输出约定
- -
--format text:输出简要结果摘要和关键字段 - INLINECODE115 :输出结构化结果,包含请求上下文和原始响应数据
资源说明
- -
{baseDir}/scripts/hik_open_video_recording.py:主脚本,负责认证、缓存和视频云录制接口调用 - INLINECODE117 :认证与 token 自动刷新规则
- INLINECODE118 :视频云录制文档摘要
海康云眸视频云录制
Overview
按固定链路执行海康云眸开放平台视频云录制接口,优先使用 {baseDir}/scripts/hikopenvideo_recording.py,不要临时手写认证、URL 拼接和重试逻辑。
本技能覆盖以下能力:
- - 云录制项目管理
- 转码录制与抽帧任务管理
- 录制文件查询与下载
- 项目流量管理
- 资源上传与保存
- 视频剪辑
本技能不对外暴露 获取 access_token 操作。鉴权属于内部基础设施:脚本会自动读取凭证、获取 token、缓存 token,并在 401 时自动刷新后重试一次。
OpenClaw 配置
当 OpenClaw 通过 ~/.openclaw/openclaw.json 管理本技能时,使用 metadata.openclaw.skillKey 作为配置键:
json5
{
skills: {
entries: {
hik-cloud-video-recording: {
enabled: true,
env: {
HIKOPENCLIENT_ID: ...,
HIKOPENCLIENT_SECRET: ...,
HIKOPENBASE_URL: https://your-custom-base-url
}
}
}
}
}
若 Session 运行在 sandbox 中,宿主环境变量不会自动继承。此时应通过 OpenClaw 的 sandbox env 配置注入凭证,而不是依赖本机 shell 的 process.env。
域名切换优先级:
- 1. --base-url
- HIKOPENBASE_URL
- 默认正式环境:https://api2.hik-cloud.com
执行规则
- 1. 认证固定使用 Authorization: Bearer 。
- token 来源优先级:
- --access-token
- HIK
OPENACCESS_TOKEN
- token cache
- HIK
OPENCLIENT
ID + HIKOPEN
CLIENTSECRET 自动换取
- 3. 域名来源优先级:
- --base-url
- HIK
OPENBASE_URL
- 默认正式环境 https://api2.hik-cloud.com
- 4. 若业务接口返回 HTTP 401,自动刷新 token 并重试一次。
- 若接口返回非成功状态,直接返回真实错误,不臆造结果。
- record-preview 预约录制的开始时间必须落在未来时间窗口内,结束时间不能超过 24 小时。
- upload-address 返回的 url 和 fields 是后续上传步骤的输入,不要擅自改写字段名。
- clip 使用 timeLines 描述剪辑时间线,支持视频素材和图片水印/Logo 组合。
- 用户若要求展示 token / 返回 token 原文,说明这不属于本技能的主要职责;仅在明确要求调试认证链路时再解释。
关键枚举
- - recType:local 本地录像,cloud 云存储录像,live 实时录像/实时抽帧
- streamType:1 高清主码流,2 标清子码流,默认 1
- devProto:不传为萤石协议,传 gb28181 表示国标设备
- voiceSwitch:0 关,1 开,2 自动,默认 2,仅 record-instant 使用
- frameModel:0 普通,1 错峰,2 抽 I 帧;frame-interval 支持 0/1/2,frame-timing 页面仅列 0/1
- fileType / fileChildType:0 图片 / 00 jpg,1 视频 / 10 mp4,2 音频 / 20 mp3
- timeLines[].type:1 视频文件,3 图片文件;clip 里不要和 fileType 混用
快速开始
先准备环境变量:
bash
export HIKOPENCLIENTID=CLIENT_ID>
export HIKOPENCLIENTSECRET=CLIENT_SECRET>
创建项目:
bash
python3 {baseDir}/scripts/hikopenvideo_recording.py project-create \
--project-name 项目名称 \
--expire-days 3 \
--flow-limit 10240000
回放视频转码录制:
bash
python3 {baseDir}/scripts/hikopenvideo_recording.py record-replay \
--project-id p123 \
--device-serial E05426006 \
--channel-no 1 \
--start-time 20260324120000 \
--end-time 20260324120500 \
--rec-type cloud
查询项目列表:
bash
python3 {baseDir}/scripts/hikopenvideo_recording.py project-list \
--page-no 1 \
--page-size 20
获取上传地址:
bash
python3 {baseDir}/scripts/hikopenvideo_recording.py upload-address \
--suffix jpg \
--file-num 1 \
--file-type 0 \
--file-child-type 00
视频剪辑:
bash
python3 {baseDir}/scripts/hikopenvideo_recording.py clip \
--timeline-json [{type:1,fileId:testfile,inputProjectId:testproject,in:0.0f,out:30.0f}]
子命令说明
- - project-create:创建项目
- project-get:查询项目
- project-update:更新项目
- project-delete:删除项目
- project-list:查询项目列表
- record-replay:回放视频转码录制
- record-preview:预约视频转码录制
- record-instant:即时视频转码录制
- frame-interval:按时间间隔抽帧
- frame-timing:按时间点抽帧
- frame-instant:实时抽帧
- task-stop:终止任务
- task-get:根据任务 ID 查询任务详情
- task-list:根据项目 ID 查询任务列表
- file-task-list:根据任务 ID 获取文件列表
- file-get:查询单个文件
- file-list:分页查询文件
- file-delete:删除文件
- file-download:获取文件下载地址
- flow-update:更新项目流量限制
- tenant-info:获取租户流量信息
- upload-address:获取上传地址
- save-file:保存文件
- clip:视频剪辑
- clip-file-query:视频剪辑文件查询
字段判读:
- - record-replay、record-preview、record-instant 主要看 recType、streamType、devProto
- record-instant 额外看 voiceSwitch
- frame-interval / frame-timing 主要看 recType、frameModel、streamType
- upload-address / save-file 主要看 fileType、fileChildType
- clip 主要看 timeLines[].type、timeLines[].fileId
通用参数:
- - --base-url:显式指定接口域名,优先级高于环境变量
- --access-token:显式指定 access token
- --timeout:请求超时秒数,默认 20
- --token-cache-file:token 缓存文件,默认 ~/.cache/hik_open/token.json
- --format:text 或 json
通用环境变量:
- - HIKOPENCLIENTID
- HIKOPENCLIENTSECRET
- HIKOPENACCESSTOKEN
- HIKOPENBASEURL
输出约定
- - --format text:输出简要结果摘要和关键字段
- --format json:输出结构化结果,包含请求上下文和原始响应数据
资源说明
- - {baseDir}/scripts/hikopenvideo_recording.py:主脚本,负责认证、缓存和视频云录制接口调用
- {baseDir}/references/auth.md:认证与 token 自动刷新规则
- {baseDir}/references/video-recording.md:视频云录制文档摘要