HTTP接口
实时预览通道截图
接口地址http(s)://{ip}:{port}/api/realplay_screenshot
POST请求,参数为JSON字符串,参数原型为{channeId:number},示例{channelId:1},其中channelId表示实时预览通道的编号。
返回值为JSON字符串,原型为{error?:string,data?:number[]},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示图片的字节数组,图片格式为.png。
实时预览通道录制视频
接口地址http(s)://{ip}:{port}/api/realplay_capture
POST请求,参数为JSON字符串,参数原型为{channelId:number,time:number},示例{channelId:1,time:15}。其中channelId表示实时预览通道的编号;time表示录制视频的时长,单位秒,取值范围[1,60]。
返回值为JSON字符串,原型为{error?:string,data?:number[]}。其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示视频文件的字节数组,视频格式为.flv,可以通过nodenvr.Player类播放flv视频文件。
获取实时预览通道列表
接口地址http(s)://{ip}:{port}/api/realplay_getlist
GET请求,无参数。
返回值为JSON字符串,原型为{ error?:string,data?:{}[]},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示通道对象列表数组,通道对象属性描述如下表所示。
属性 | 类型 | 说明 |
---|---|---|
id | number | 通道编号 |
enable | 0|1 | 通道状态(0=禁用,1=启用) |
mode | 0|1|2 | 通道模式(0=实时拉取,1=按需拉取,2=被动接收) |
name | string | 通道名称 |
source | string | 视频源地址,当mode=2时忽略该属性,需要RSA解密,参考【RSA加解密】 |
pushCount | number | 推流数量 |
fixTimespan | 0|1 | 修复时间戳,当mode=2时忽略该属性 |
audio | 0|1 | 音频(0=禁用,1=启用),当mode=2时忽略该属性 |
hls | 0|1 | HLS(0=禁用,1=启用) |
online | boolean | 是否在线(true=在线,false=离线) |
插入实时预览通道数据
接口地址http(s)://{ip}:{port}/api/realplay_insert
POST请求,参数为JSON字符串,参数对象的属性描述如下表所示。
属性 | 类型 | 说明 |
---|---|---|
enable | 0|1 | 通道状态(0=禁用,1=启用) |
mode | 0|1|2 | 通道模式(0=实时拉取,1=按需拉取,2=被动接收) |
name | string | 通道名称 |
source | string | 视频源地址,当mode=2时忽略该属性,需要RSA加密,参考【RSA加解密】 |
fixTimespan | 0|1 | 修复时间戳,当mode=2时忽略该属性 |
audio | 0|1 | 音频(0=禁用,1=启用),当mode=2时忽略该属性 |
hls | 0|1 | HLS(0=禁用,1=启用) |
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=成功,false=失败)。
修改实时预览通道数据
接口地址http(s)://{ip}:{port}/api/realplay_update
POST请求,参数为JSON字符串,参数对象的属性描述如下表所示。
属性 | 类型 | 说明 |
---|---|---|
id | number | 通道编号 |
enable | 0|1 | 通道状态(0=禁用,1=启用) |
mode | 0|1|2 | 通道模式(0=实时拉取,1=按需拉取,2=被动接收) |
name | string | 通道名称 |
source | string | 视频源地址,当mode=2时忽略该属性,需要RSA加密,参考【RSA加解密】 |
fixTimespan | 0|1 | 修复时间戳,当mode=2时忽略该属性 |
audio | 0|1 | 音频(0=禁用,1=启用),当mode=2时忽略该属性 |
hls | 0|1 | HLS(0=禁用,1=启用) |
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=成功,false=失败)。
删除实时预览通道
接口地址http(s)://{ip}:{port}/api/realplay_delete
POST请求,参数为JSON字符串,参数原型为{id:number},其中id表示实时预览通道编号。
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=成功,false=失败)。
插入实时预览推流
接口地址http(s)://{ip}:{port}/api/realplay_insertpush
POST请求,参数为JSON字符串,参数对象属性如下表所示。
属性 | 类型 | 说明 |
---|---|---|
id | number | 通道编号 |
target | string | 接收视频流的rtmp服务地址,必须为rtmp协议 |
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=成功,false=失败)。
删除实时预览推流
接口地址http(s)://{ip}:{port}/api/realplay_deletepush
POST请求,参数为JSON字符串,参数对象属性如下表所示。
属性 | 类型 | 说明 |
---|---|---|
id | number | 通道编号 |
target | string | 接收视频流的rtmp服务地址 |
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=成功,false=失败)。
获取实时预览通道推流列表
接口地址http(s)://{ip}:{port}/api/realplay_getpushlist
POST请求,参数为JSON字符串,参数原型为{id:number},其中id表示实时预览通道编号。
返回值为JSON字符串,原型为{ error?:string,data?:{}[] },其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示推流对象数组,对象属性如下表所示。
属性 | 类型 | 说明 |
---|---|---|
id | number | 通道编号 |
target | string | 接收视频流的rtmp服务地址 |
录像回放通道截图
接口地址http(s)://{ip}:{port}/api/playback_screenshot
POST请求,参数为JSON字符串,参数原型为{channelId:number,starttime:string,endtime:string}
示例:
{channelId:1,starttime:’ 20210721090000’,endtime:’20210721090030’ }
其中channelId表示录像回放通道的编号;starttime表示录像开始时间,endtime表示录像结束时间,时间格式为yyyyMMddHHmmss。
返回值为JSON字符串,原型为{error?:string,data?:number[]},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示图片的字节数组,图片格式为.png。
录像回放通道录制视频
接口地址http(s)://{ip}:{port}/api/playback_capture
POST请求,参数为JSON字符串,参数原型为:{channelId:number,starttime:string,endtime:string}
示例:
{channelId:1,starttime:’ 20210721090000’,endtime:’20210721090030’ }
其中channelId表示录像回放通道的编号;starttime表示录像开始时间,endtime表示录像结束时间,时间格式为yyyyMMddHHmmss,间隔时间不超过60秒。
返回值为JSON字符串,原型为{error?:string,data?:number[]}。其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示视频文件的字节数组,视频格式为.flv,可以通过nodenvr.Player类播放flv视频文件。
获取录像回放通道列表
接口地址http(s)://{ip}:{port}/api/playback_getlist
GET请求,无参数。
返回值为JSON字符串,原型为{ error?:string,data?:{}[]},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示通道对象列表数组,通道对象属性描述如下表所示。
属性 | 类型 | 说明 |
---|---|---|
id | number | 通道编号 |
enable | 0|1 | 通道状态(0=禁用,1=启用) |
mode | 0|1|2 | 通道模式(1=按需拉取,2=被动接收) |
name | string | 通道名称 |
source | string | 视频源地址,当mode=2时忽略该属性,需要RSA解密,参考【RSA加解密】 |
pushCount | number | 推流数量 |
fixTimespan | 0|1 | 修复时间戳,当mode=2时忽略该属性 |
audio | 0|1 | 音频(0=禁用,1=启用),当mode=2时忽略该属性 |
hls | 0|1 | HLS(0=禁用,1=启用) |
插入录像回放通道数据
接口地址http(s)://{ip}:{port}/api/playback_insert
POST请求,参数为JSON字符串,参数对象的属性描述如下表所示。
属性 | 类型 | 说明 |
---|---|---|
enable | 0|1 | 通道状态(0=禁用,1=启用) |
mode | 0|1|2 | 通道模式(1=按需拉取,2=被动接收) |
name | string | 通道名称 |
source | string | 视频源地址,当mode=2时忽略该属性,需要RSA加密,参考【RSA加解密】 |
fixTimespan | 0|1 | 修复时间戳,当mode=2时忽略该属性 |
audio | 0|1 | 音频(0=禁用,1=启用),当mode=2时忽略该属性 |
hls | 0|1 | HLS(0=禁用,1=启用) |
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=成功,false=失败)。
修改录像回放通道数据
接口地址http(s)://{ip}:{port}/api/playback_update
POST请求,参数为JSON字符串,参数对象的属性描述如下表所示。
属性 | 类型 | 说明 |
---|---|---|
id | number | 通道编号 |
enable | 0|1 | 通道状态(0=禁用,1=启用) |
mode | 0|1|2 | 通道模式(1=按需拉取,2=被动接收) |
name | string | 通道名称 |
source | string | 视频源地址,当mode=2时忽略该属性,需要RSA加密,参考【RSA加解密】 |
fixTimespan | 0|1 | 修复时间戳,当mode=2时忽略该属性 |
audio | 0|1 | 音频(0=禁用,1=启用),当mode=2时忽略该属性 |
hls | 0|1 | HLS(0=禁用,1=启用) |
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=成功,false=失败)。
删除录像回放通道
接口地址http(s)://{ip}:{port}/api/playback_delete
POST请求,参数为JSON字符串,参数原型为{id:number},其中id表示录像回放通道编号。
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=成功,false=失败)。
插入录像回放推流
接口地址http(s)://{ip}:{port}/api/playback_insertpush
POST请求,参数为JSON字符串,参数对象属性如下表所示。
属性 | 类型 | 说明 |
---|---|---|
id | number | 通道编号 |
target | string | 接收视频流的nodeNVR服务地址,必须为ws(s)协议,示例ws://192.168.10:9527/vod/1.flv |
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=成功,false=失败)。
删除录像回放推流
接口地址http(s)://{ip}:{port}/api/playback_deletepush
POST请求,参数为JSON字符串,参数对象属性如下表所示。
属性 | 类型 | 说明 |
---|---|---|
id | number | 通道编号 |
target | string | 接收视频流的nodeNVR服务地址 |
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=成功,false=失败)。
获取录像回放通道推流列表
接口地址http(s)://{ip}:{port}/api/playback_getpushlist
POST请求,参数为JSON字符串,参数原型为{id:number},其中id表示录像回放通道编号。
返回值为JSON字符串,原型为{ error?:string,data?:{}[] },其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示推流对象数组,对象属性如下表所示。
属性 | 类型 | 说明 |
---|---|---|
id | number | 通道编号 |
target | string | 接收视频流的nodeNVR服务地址 |
判断录像回放通道对应的NVR是否有人占用
此接口应在播放录像回放通道之前调用,用来判断是否有人占用NVR连接数(海康NVR对录像回放RTSP连接数限制的很死,只能同时1人访问)。注意:此接口不能获知NodeNVR之外的程序是否占用了NVR连接数,比如用VLC直接播放录像回放的RTSP地址。
接口地址http(s)://{ip}:{port}/api/playback_anyone
POST请求,参数为JSON字符串,参数原型为{channelId:number},其中channelId表示录像回放通道编号。
返回值为JSON字符串,原型为{ error?:string,data?:string[] },其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示当前正在播放的录像回放通道号(string类型)数组。当data数组的长度为0,表示当前无人占用NVR连接数,可以播放录像回放通道。
获取视频源地址转换代码
接口地址http(s)://{ip}:{port}/api/parseurl_get
GET请求,无参数。
返回值为JSON字符串,原型为{ error?:string,data?:string },其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示js代码。
恢复默认的视频源地址转换代码
接口地址http(s)://{ip}:{port}/api/parseurl_reset
GET请求,无参数。
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=成功,false=失败)。
修改视频源地址转换代码
接口地址http(s)://{ip}:{port}/api/parseurl_update
POST请求,参数为JSON字符串,参数原型为{newScript:string},其中newScript表示js代码。
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=成功,false=失败)。
获取运行监控性能数据
接口地址http(s)://{ip}:{port}/api/getperformancedata
GET请求,无参数。
返回值为JSON字符串,原型为{ error?:string,data?:{} },其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示性能数据对象,对象属性如下表所示。
属性 | 类型 | 说明 |
---|---|---|
cpuUsage | {totalUsage:number,processUsage:number} | CPU使用率,totalUsage表示CPU总使用率,processUsage表示流媒体占用的CPU |
memoryUsage | {totalUsed:number,totalUsage:number,processUsed:number,totalUsage:number} | 内存使用率,totalUsed表示已使用内存的总量(MB),totalUsage表示总的内存使用率,processUsed表示流媒体使用的内存量(MB),totalUsage表示流媒体使用的内存百分比。 |
networkBandWidth | {input:number,output:number} | input表示接收,output表示发送,单位Mbps |
serverInfo | {propertyName:string,propertyValue:string|number}[] | 表示服务概况属性-值键值对序列 |
获取软件授权信息
接口地址http(s)://{ip}:{port}/api/license_get
GET请求,无参数。
返回值为JSON字符串,原型为{ error?:string,data?:{} },其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示授权信息,对象属性如下表所示。
属性 | 类型 | 说明 |
---|---|---|
authorized | boolean | 是否已授权(true=已授权,false=未授权) |
machineId | string | 机器码 |
设置软件授权
接口地址http(s)://{ip}:{port}/api/license_set
POST请求,参数为JSON字符串,参数原型为{license:string},其中license表示授权码。
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示授权状态(true=已授权,false=未授权)。
批量更新通道参数
接口地址http(s)://{ip}:{port}/api/update_channels
此接口用于批量插入、修改实时预览通道和录像回放通道。如果不存在通道则插入,否则修改;实时预览通道与录像回放通道一一对应。
POST请求,参数为JSON字符串,参数原型为{}[],每个对象的属性如下表所示。
属性 | 类型 | 说明 |
---|---|---|
id | number | 通道编号 |
enable | 0|1 | 通道状态(0=禁用,1=启用) |
mode | 0|1|2 | 通道模式(0=实时拉取,1=按需拉取,2=被动接收) |
name | string | 通道名称 |
source | string | 实时预览视频源地址,当mode=2时忽略该属性,需要RSA加密,参考【RSA加解密】 |
playBackSource | string | 录像回放视频源地址,需要RSA加密,参考【RSA加解密】 |
fixTimespan | 0|1 | 修复时间戳,当mode=2时忽略该属性 |
audio | 0|1 | 音频(0=禁用,1=启用),当mode=2时忽略该属性 |
hls | 0|1 | HLS(0=禁用,1=启用) |
注意:playBackSource可以为空,为空表示不存在录像回放通道;当值为””并且mode为2时表示录像回放通道为被动接收模式。由于录像回放通道的通道模式只能为1或2,当mode的值为0时,录像回放通道的mode会被重置为1。
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=更新成功,false=更新失败)。
获取GB28181设备树列表
接口地址http(s)://{ip}:{port}/api/gb28181_device_catalog
GET请求,无参数。
返回值为JSON字符串,原型为{ error?:string,data?:{}[] },其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示GB28181设备树列表,设备对象属性如下表所示。
属性 | 类型 | 说明 |
---|---|---|
sipId | string | 设备信道ID |
host | string | 设备IP地址 |
port | number | 设备SIP端口号 |
manufacturer | string | 设备生产厂商 |
model | string | 设备型号 |
online | boolean | 设备在线状态(true=在线,false=离线) |
name | string | 设备名称,有些设备无值,以“无名”冠名 |
channels | {}[] | 设备通道列表,通道对象列表 |
通道对象属性如下表所示。
属性 | 类型 | 说明 |
---|---|---|
channelId | string | 通道信道ID |
name | string | 通道名称,有些通道无值,以“无名”冠名 |
online | boolean | 通道在线状态(true=在线,false=离线) |
注意
在线状态并非完全实时的,设备离线一段时间后,将从设备树列表中移除。
查询GB28181通道的录像文件列表
接口地址http(s)://{ip}:{port}/api/gb28181_query_record
POST请求,参数为JSON字符串,参数原型为{sipId:string,channelId:string,startTime:string,endTime:string},其中sipId表示设备信道ID,channelId表示通道信道ID,startTime表示开始时间,endTime表示结束时间。时间戳格式为yyyyMMddHHmmss,开始日期时间不能大于结束日期时间!
返回值为JSON字符串,原型为{ error?:string,data?:{}[] },其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示录像文件列表,录像文件对象属性如下表所示。
属性 | 类型 | 说明 |
---|---|---|
startTime | string | 录像开始时间,格式为yyyy-MM-dd HH:mm:ss |
endTime | string | 录像结束时间,格式为yyyy-MM-dd HH:mm:ss |
GB28181云台控制命令是否可用
接口地址http(s)://{ip}:{port}/api/gb28181_ptz_enable
POST请求,参数为JSON字符串,参数原型为{sipId:string},其中sipId表示设备信道ID。
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示云台控制命令可用状态,恒为true。
执行GB28181云台控制命令
接口地址http(s)://{ip}:{port}/api/gb28181_ptz
POST请求,参数为JSON字符串,参数原型为{sipId:string,channelId:string,cmdCode:number,timeout?:number},其中sipId表示设备信道ID,channelId表示设备通道的信道ID;cmdCode表示命令枚举,1:向右 2:向左 3:向下 4:向上 5:放大 6:缩小;timeout表示命令执行持续的时间,单位毫秒,可为空,默认值为50。
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示云台控制命令执行状态,恒为true。
获取onvif云台控制命令是否可用
接口地址http(s)://{ip}:{port}/api/onvif_ptz_enable
POST请求,参数为JSON字符串,参数原型为{hostName:string,userName:string,password:string,port:number},其中hostName表示IP相机的ip地址或域名;userName表示IP相机的用户名;password表示IP相机的密码,需要RSA加密,参考【RSA加解密】;port表示IP相机onvif协议的端口号。IP相机是否支持onvif协议、以及onvif协议端口号,可以通过接口6.29自动发现;也可以通过第三方工具如ONVIF Device Test Tool、ONVIF Device Manager等进行探测,自行百度下载。
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示云台控制命令可用状态,恒为true。
执行onvif云台控制命令
接口地址http(s)://{ip}:{port}/api/onvif_ptz
POST请求,参数为JSON字符串,参数原型为{ hostName:string,userName:string,password:string,port:number,cmdCode:number,timeout?:number},其中hostName表示IP相机的ip地址或域名;userName表示IP相机的用户名;password表示IP相机的密码,需要RSA加密,参考【RSA加解密】;port表示IP相机onvif协议的端口号;cmdCode表示命令枚举,1:向右 2:向左 3:向下 4:向上 5:放大 6:缩小;timeout表示命令执行持续的时间,单位毫秒,可为空,默认值为50。
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示云台控制命令执行状态,恒为true。
发现onvif设备
接口地址http(s)://{ip}:{port}/api/onvif_discovery
GET请求,无参数,可以直接在浏览器中打开该接口地址。此接口可以自动发现局域网内所有支持onvif协议的设备,接口执行时间大约为5秒。
返回值为JSON字符串,原型为{error?:string,data?:{hostname:string,port:string,path:string}[]},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示设备列表,其中hostName表示设备IP地址,port表示onvif协议端口号,path表示onvif协议路径。
海康安防平台 —— 插入平台记录
接口地址http(s)://{ip}:{port}/api/hkisc_insert
POST请求,参数为JSON字符串,参数对象的属性描述如下表所示。
属性 | 类型 | 说明 |
---|---|---|
appId | number | 平台编号,主键,必须唯一 |
enable | 0|1 | 平台启用(0=禁用,1=启用) |
appKey | string | 平台APPKey,需要RSA加密,参考【RSA加解密】 |
appSecret | string | 平台APPSecret,需要RSA加密,参考【RSA加解密】 |
ip | string | 平台IP地址 |
port | number | 平台端口号 |
isHttps | 0|1 | 是否HTTPS(0=否,1=是) |
streamType | 0|1 | 码流类型(0=主码流,1=子码流) |
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=成功,false=失败)。
海康安防平台 —— 修改平台记录
接口地址http(s)://{ip}:{port}/api/hkisc_update
POST请求,参数为JSON字符串,参数对象的属性描述如下表所示。
属性 | 类型 | 说明 |
---|---|---|
id | number | 平台编号,主键,必须唯一 |
enable | 0|1 | 平台启用(0=禁用,1=启用) |
appKey | string | 平台APPKey,需要RSA加密,参考【RSA加解密】 |
appSecret | string | 平台APPSecret,需要RSA加密,参考【RSA加解密】 |
ip | string | 平台IP地址 |
port | number | 平台端口号 |
isHttps | 0|1 | 是否HTTPS(0=否,1=是) |
streamType | 0|1 | 码流类型(0=主码流,1=子码流) |
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=成功,false=失败)。
海康安防平台 —— 删除平台记录
接口地址http(s)://{ip}:{port}/api/hkisc_delete
POST请求,参数为JSON字符串,参数原型为{appId:number},其中appId表示平台编号。
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=成功,false=失败)。
海康安防平台 —— 获取所有平台列表
接口地址http(s)://{ip}:{port}/api/hkisc_getlist
HTTP请求,无参数。
返回值为JSON字符串,原型为{ error?:string,data?:{}[]},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示视频监控点对象列表数组,视频监控点对象属性描述如下表所示。
属性 | 类型 | 说明 |
---|---|---|
appId | number | 监控点所属海康安防平台的编号 |
enable | 0|1 | 平台启用,0=禁用,1=启用 |
appKey | string | 平台APPKey,需要RSA解密,参考【RSA加解密】 |
appSecret | string | 平台APPSecret,需要RSA解密,参考【RSA加解密】 |
ip | string | 平台IP地址 |
port | number | 平台端口号 |
isHttps | 0|1 | 是否HTTPS,0=否,1=是 |
streamType | 0|1 | 码流类型(0=主码流,1=子码流) |
海康安防平台 —— 获取视频监控点列表
接口地址http(s)://{ip}:{port}/api/hkisc_getcameras
POST请求,参数为JSON字符串,参数原型为{appId?:number},其中appId表示平台编号;appId可以不设置,有值表示获取指定平台的视频监控点列表,无值表示获取所有平台的视频监控点列表。
返回值为JSON字符串,原型为{ error?:string,data?:{}[]},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示视频监控点对象列表数组,视频监控点对象属性描述如下表所示。
属性 | 类型 | 说明 |
---|---|---|
cameraIndexCode | string | 视频监控点唯一标识 |
cameraName | string | 视频监控点名称 |
cameraType | 0|1|2|3 | 视频监控点类型,0=枪机,1=半球,2=球机,3=云台枪机 |
appId | number | 监控点所属海康安防平台的编号 |
ip | string | 监控点所属海康安防平台的IP地址 |
海康安防平台 —— 云台控制
接口地址http(s)://{ip}:{port}/api/hkisc_ptz
POST请求,参数为JSON字符串,参数原型为{cameraIndexCode:string,cmd:string,action:0|1},其中cameraIndexCode表示视频监控点唯一标识;cmd表示云台操作命令,是一个枚举字符串,LEFT=左转、RIGHT=右转、UP=上转、DOWN=下转、ZOOM_IN=焦距变大、ZOOM_OUT=焦距变小;action表示动作,0=开始、1=停止。注意:并不是所有视频监控点都支持云台操作,应该根据视频监控点的cameraType来判断,0=枪机,1=半球,2=球机,3=云台枪机,只有球机和云台枪机支持云台操作。
返回值为JSON字符串,原型为{ error?:string,data?:boolean},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示执行状态(true=成功,false=失败)。
海康安防平台 —— 实时预览截图
接口地址http(s)://{ip}:{port}/api/hkisc_screenshot
POST请求,参数为JSON字符串,参数原型为{cameraIndexCode:string},示例{cameraIndexCode:"3146dbf1123a4edc8d38e0afda47b1e0"},其中cameraIndexCode表示视频监控点唯一标识。
返回值为JSON字符串,原型为{error?:string,data?:number[]},其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示图片的字节数组,图片格式为.png。
海康安防平台 —— 实时预览录制视频
接口地址http(s)://{ip}:{port}/api/hkisc_capture
POST请求,参数为JSON字符串,参数原型为{cameraIndexCode:string,time:number},示例{cameraIndexCode:"3146dbf1123a4edc8d38e0afda47b1e0",time:15}。其中cameraIndexCode表示视频监控点唯一标识;time表示录制视频的时长,单位秒,取值范围[1,60]。
返回值为JSON字符串,原型为{error?:string,data?:number[]}。其中error表示错误信息,拿到结果后应首先判断error属性是否为空。data表示视频文件的字节数组,视频格式为.flv,可以通过nodenvr.Player类播放flv视频文件。