NanGBS 接口文档

官网
  • 设备信息
    • 获取所有设备列表
    • 获取所有设备的所有通道列表
    • 获取设备的所有通道列表
    • 获取设备详细信息
    • 获取设备通道树
    • 获取设备通道树通道列表
    • 添加设备
    • 更新设备
    • 删除设备
    • 获取设备通道
    • 添加设备通道
    • 更新设备通道
    • 删除设备通道
    • 同步更新设备通道
    • 获取设备配置信息
    • 获取设备状态
    • 获取设备和通道统计信息
    • 设置设备订阅周期
    • 获取设备历史视频回放记录(时间间隔)
    • 获取设备历史视频回放记录(录像信息)
    • 检验设备历史视频回放是否存在
    • 订阅通道目录信息
    • 订阅通道报警信息
    • 订阅设备移动位置
    • 获取设备预置位信息
    • 获取设备看守位信息(v2022 新增)
    • 获取设备巡航轨迹列表信息(v2022 新增)
    • 获取设备巡航轨迹信息(v2022 新增)
    • 获取设备PTZ精准状态信息(v2022 新增)
    • 获取设备存储卡状态信息(v2022 新增)
    • 设置国密设备注册方向(GB35114)
    • 获取设备vkek信息(GB35114)
  • 设备控制
    • 设备配置
    • ptz云台控制(老接口)
    • ptz云台控制
    • ptz焦点光圈控制
    • ptz预置位控制
    • ptz巡航控制
    • ptz扫描控制
    • ptz雨刷控制
    • ptz补光灯控制
    • 回放控制
    • 录像控制
    • 拉框放大
    • 拉框缩小
    • 设备看守位控制
    • 布防和撤防
    • 强制关键帧
    • 报警复位
    • 远程启动
    • PTZ 精准位置控制(v2022 新增)
    • 存储卡格式化控制 (v2022 新增)
    • 目标跟踪控制 (v2022 新增)
    • 设备软件升级控制 (v2022 新增)
    • 视频签名控制(GB35114)
    • 视频加密控制(GB35114)
    • 语音对讲和广播
  • 设备回调
    • 设备状态信息回调
    • 设备报警信息回调
    • 设备移动位置信息回调
    • 设备PTZ信息回调
    • 视频状态回调
    • 分片录制视频回调
    • 视频截图回调
  • 级联
    • 添加平台级联
    • 删除平台级联
    • 获取指定级联
    • 更新平台级联
    • 开启或关闭平台级联
    • 获取所有级联列表
    • 添加级联共享通道
    • 删除级联共享通道
    • 获取级联共享通道列表
    • 推送全部共享通道到上级
  • 国密证书
    • 添加或者申请设备证书
    • 删除设备证书
    • 获取平台证书
    • 获取或者申请平台证书
  • 流
    • 创建取流
    • 通过url创建取流
    • 停止/删除流
    • 获取流总数
    • 分页获取所有流列表
    • 获取流信息
    • 获取取流状态
    • 获取流进度
    • 获取流的流量
    • 获取流地址
    • 获取语音地址
    • 获取流的所有客户端
    • 踢除指定流id的指定客户端
    • 开始/停止流云端录制
    • 开始/停止流云端录制(带录像计划)
    • 获取流录像信息
    • 流截图
  • 服务
    • 获取信令服务配置信息
    • 获取所有流媒体服务列表
    • 获取指定流媒体服务配置信息
    • 获取指定流媒体服务资源信息
    • 获取指定流媒体服务负载信息
    • 获取指定流媒体服务流量信息
    • 删除指定流媒体服务录像文件
    • 重启信令服务
    • 关闭信令服务
    • 重启指定流媒体服务
    • 关闭指定流媒体服务
  • 黑名单
    • 获取黑名单ip列表
    • 添加黑名单ip列表
    • 删除黑名单ip列表
    • 获取黑名单ua(用户代理)列表
    • 添加黑名单ua(用户代理)列表
    • 删除黑名单ua(用户代理)列表
  • onvif
    • 搜索设备
    • 删除设备
    • 导入设备账号信息
    • 删除设备账号信息
    • 获取所有设备信息
    • 获取设备信息
    • 获取设备信息
    • ptz控制
    • 截图设备
    • 重启设备
  • 非标
    • 设备心跳
    • 设备注册
    • 设备注销

nangbs-v3.5.0

设备信息

获取所有设备列表

基本信息

Path: /api/v1/gb/device/devices

Method: GET

接口描述:

offset 和 limit 如果都为0则获取所有的设备列表,如果都不填默认获取前 50 条数据。

请求参数

Query

参数名称 是否必须 示例 备注
deviceId 否 设备编号
sourceType 否 接入类型 ,国标(GB)还是非标(INGEST),默认GB
name 否 设备名称
manufacturer 否 设备厂家
model 否 设备型号
status 否 设备在线状态,ON 或者 OFF
offset 否 数据偏移量,默认0
limit 否 每页大小,默认50,最大500

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ suminteger非必须设备总数
├─ listobject []非必须分页设备列表

item 类型: object

├─ versionstring非必须国标协议版本

枚举: V1_0,V1_1,V2_0,V3_0

枚举备注: V1_0: GB-T 28181-2011 V1_1: GB-T 28181-2011 修改补充文件 V2_0: GB-T 28181-2016 V3_0: GB-T 28181-2022

├─ sourceTypestring必须GB接入类型 (国标还是非标)

枚举: GB,INGEST

枚举备注: GB: GB28181 / GB35114 INGEST: rtsp / rtmp / http (flv/hls/mp4 ...) ...

├─ deviceIdstring必须设备Id
├─ sipIpstring必须下级请求sipper的ip
├─ ipstring必须下级出口ip(NAT后)
├─ portinteger必须下级出口端口(NAT后)
├─ remoteIpstring必须下级ip
├─ remotePortinteger必须下级端口
├─ namestring非必须设备名称
├─ manufacturerstring非必须设备生产商
├─ modelstring非必须设备型号
├─ firmwarestring非必须设备固件版本
├─ channelinteger非必须视频输入通道数
├─ subCountinteger非必须子节点数
├─ subCountDeviceinteger非必须子设备通道数
├─ onlineSubCountinteger非必须在线子通道数
├─ customNamestring非必须自定义名称
├─ pwdstring非必须设备密码
├─ expiryinteger必须3600注册过期时间(秒)
├─ heartbeatIntervalinteger必须60心跳间隔(秒)
├─ heartbeatCountinteger必须3最大心跳重试次数
├─ downloadSpeedstring非必须设备支持的下载速度,如0.125/0.25/0.5/1/2/4
├─ resolutionstring非必须设备支持的分辨率,取值:1-QCIF 2-CIF 3-4CIF 4-D1 5-720P 6-1080P/I,如2/3/5
├─ transmitstring必须UDP信令传输协议

枚举: UDP,TCP

├─ mediaTransmitstring非必须流传输协议,如果为空,则默认使用信令服务的配置项

枚举: UDP,TCP

├─ smsIdstring非必须使用的流媒体id
├─ useGmboolean非必须是否使用国密35114
├─ signaturedboolean非必须是否35114签名
├─ encryptedboolean非必须是否35114加密
├─ lastRegisterTsnumber必须最后一次注册时间(毫秒),如 1594188879444
├─ lastAliveTsnumber必须最后一次保活时间(毫秒),如 1594188879444
├─ catalogIntervalinteger非必须0通道目录周期更新时间间隔(秒), <=0 表示平台不周期获取目录, 默认 3600 秒
├─ subscribeIntervalinteger非必须600 订阅周期(秒), <=0 表示平台不周期订阅, 否则最小 10, 默认 600 秒
├─ mobilePosIntervalinteger非必须0移动位置周期上报时间间隔(秒), <=0 表示平台不周期订阅, 否则最小 1, 默认 0
├─ alarmIntervalinteger非必须0报警订阅周期(秒), <=0 表示平台不周期订阅, 否则最小 1, 默认 0
├─ ptzPosIntervalinteger非必须0报警订阅周期(秒), <=0 表示平台不周期订阅, 否则最小 1, 默认 0
├─ catalogStatusstring非必须目录订阅状态

枚举: CLOSED,PROCESSING,OPENED

├─ mobilePosStatusstring非必须移动位置订阅状态

枚举: CLOSED,PROCESSING,OPENED

├─ alarmStatusstring非必须报警订阅状态

枚举: CLOSED,PROCESSING,OPENED

├─ ptzPosStatusstring非必须PTZ位置订阅状态

枚举: CLOSED,PROCESSING,OPENED

枚举备注:

├─ charsetstring非必须编码字符集

枚举: GB2312,UTF8,GB18030

├─ authboolean非必须true是否免密注册,默认true
├─ forbidboolean非必须是否禁止接入,默认false
├─ statusstring必须设备在线状态

枚举: ON,OFF

├─ lastGetCatalogTsnumber非必须最后一次更新目录时间(毫秒),如 1594188879444
├─ lastSubscribeCatalogTsnumber非必须最后一次订阅目录时间(毫秒),如 1594188879444
├─ lastSubscribeMobilePosTsnumber非必须最后一次订阅移动位置时间(毫秒),如 1594188879444
├─ lastSubscribeAlarmTsnumber非必须最后一次订阅报警时间(毫秒),如 1594188879444
├─ lastSubscribePtzPosTsnumber非必须最后一次订阅ptz时间(毫秒),如 1594188879444
├─ createTsnumber非必须创建时间
├─ updateTsnumber非必须更新时间
msgstring必须

获取所有设备的所有通道列表

基本信息

Path: /api/v1/gb/device/channels

Method: GET

接口描述:

offset 和 limit 如果都为0则获取所有的通道列表,如果都不填默认获取前 50 条数据。

请求参数

Query

参数名称 是否必须 示例 备注
deviceId 否 设备编号
channelId 否 通道编号
parentId 否 父设备ID
deviceName 否 设备名称
name 否 通道名称
manufacturer 否 厂家
civilCode 否 行政区划码
block 否 警区
status 否 通道在线状态,ON 或者 OFF
sourceType 否 接入类型 ,国标(GB)还是非标(INGEST),默认GB
type 否 通道类型,ALL、DEVICE、DIR
catalog 否 是否以目录形式获取,默认0
startTime 否 通道开始时间
endTime 否 通道结束时间
offset 否 数据偏移量,默认0
limit 否 每页大小,默认50,最大500

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ suminteger非必须通道总数
├─ listobject []非必须分页通道列表

item 类型: object

├─ deviceIdstring必须父设备/区域/系统ID
├─ channelIdstring必须设备/区域/系统编码
├─ namestring必须设备/区域/系统名称
├─ manufacturerstring必须当为设备时,设备厂商
├─ modelstring必须当为设备时,设备型号
├─ ownerstring必须当为设备时,设备归属
├─ civilCodestring必须行政区划码,取值为省级2位,市级4位,区县级6位,基层接入单位8位
├─ blockstring非必须警区,若设备属于某组织机构下,应在此字段填写相应组织机构代码(符合GA/T 380-2011)
├─ parentalinteger必须当为设备时,是否有子设备,1有,0没有
├─ parentIdstring必须父设备/区域/系统ID,直接上级编号
├─ safetyWayinteger非必须0信令安全模式

枚举: 0,2,3,4

枚举备注: 0: 不采用 2: S/MIME签名方式 3: S/MIME加密签名同时采用方式 4: 数字摘要方式

├─ registerWayinteger必须1注册方式

枚举: 1,2,3

枚举备注: 1: 符合IETFRFC3261标准的认证注册模式 2: 基于口令的双向认证注册模式 3: 基于数字证书的双向认证注册模式

├─ secrecyinteger必须0保密属性

枚举: 0,1

枚举备注: 0: 不涉密 1: 涉密

├─ streamNuminteger非必须设备支持的编码流数
├─ addressstring必须当为设备时,安装地址
├─ ipAddressstring非必须设备/区域/系统IP地址
├─ ipstring非必须设备/区域/系统IP地址
├─ portinteger非必须设备/区域/系统端口
├─ statusstring必须设备在线状态

枚举: ON,OFF

├─ longitudenumber非必须经度,浮点型
├─ latitudenumber非必须纬度,浮点型
├─ certNumstring非必须证书序列号(有证书的设备必选)
├─ certifiableinteger非必须0证书有效标识(有证书的设备必选)

枚举: 0,1

枚举备注: 0:无效 1:有效

├─ errCodeinteger非必须无效原因码(有证书且证书无效的设备必选)
├─ endTimestring非必须证书终止有效期(有证书的设备必选)
├─ passwordstring非必须设备口令
├─ charsetstring必须编码字符集

枚举: GB2312,UTF8,GB18030

├─ ptzTypeinteger非必须摄像机类型扩展,标识摄像机类型(当目录项为摄像机时可选)

枚举: 1,2,3,4,5,6,7

枚举备注: 1: 球机 2: 半球 3: 固定枪机 4: 遥控枪机 5: 遥控半球 6: 多目设备的全景/拼接通道 7: 多目设备的分隔通道

├─ positionTypeinteger非必须摄像机位置类型扩展(当目录项为摄像机时可选)

枚举: 1,2,3,4,5,6,7,8,9,10

枚举备注: 1: 省际检查站 2: 党政机关 3: 车站码头 4: 中心广场 5: 体育场馆 6: 商业中心 7: 宗教场所 8: 校园周边 9: 治安复杂区域 10: 交通干线

├─ roomTypeinteger非必须摄像机安装位置属性(当目录项为摄像机时可选,缺省为1)

枚举: 1,2

枚举备注: 1: 室外 2: 室内

├─ useTypeinteger非必须摄像机用途属性(当目录项为摄像机时可选)

枚举: 1,2,3

枚举备注: 1: 治安 2: 交通 3: 重点

├─ supplyLightTypeinteger非必须摄像机补光属性(当目录项为摄像机时可选,缺省为1)

枚举: 1,2,3,4,9

枚举备注: 1: 无补光 2: 红外补光 3: 白光补光 4: 激光补光 9: 其他

├─ directionTypeinteger非必须摄像机监视方位属性(当目录项为摄像机时且为固定摄像机或设置看守位摄像机时可选)

枚举: 1,2,3,4,5,6,7,8

枚举备注: 1: 东 2: 西 3: 南 4: 北 5: 东南 6: 东北 7: 西南 8: 西北

├─ resolutionstring非必须摄像机支持的分辨率(当目录项为摄像机时可选),可有多个分辨率值,各个取值间以“/”分隔
├─ businessGroupIdstring非必须虚拟组织所属的业务分组ID,业务分组根据特定的业务需求制定,一个业务分组包含一组特定的虚拟组织
├─ downloadSpeedstring非必须下载倍速范围(可选),各可选参数以“/”分隔,如设备支持1,2,4倍速下载则应写为“1/2/4”
├─ svcSpaceSupportModeinteger非必须空域编码能力

枚举: 0,1,2,3

枚举备注: 0: 不支持 1: 1级增强(1个增强层) 2: 2级增强(2个增强层) 3: 3级增强(3个增强层)

├─ svcTimeSupportModeinteger非必须时域编码能力

枚举: 0,1,2,3

枚举备注: 0: 不支持 1: 1级增强 2: 2级增强 3: 3级增强

├─ ssvcRatioSupportListstring非必须SSVC 增强层与基本层比例能力(可选),可多值,各个取值间以"/"分隔,如"4:3/2:1/4:1/6:1/8:1"等具体比例值一种或多种
├─ streamNumberListstring非必须摄像机支持的码流编号列表,用于实时点播时指定码流编号(可选),可多值,各个取值间以"/"分隔,如"0/1/2",表示支持主码流/子码流1/子码流2,以此类推
├─ photoelectricImagingTypestring非必须摄像机光电成像类型(当目录项为摄像机时可选),可多值,各个取值间以"/"分隔

枚举: 1,2,3,4,5,9

枚举备注: 1: 可见光成像 2: 热成像 3: 雷达成像 4: X光成像 5: 深度光场成像 9: 其他

├─ capturePositionTypestring非必须摄像机采集部位类型(当目录项为摄像机时可选)
├─ mobileDeviceTypeinteger非必须移动采集设备类型(仅移动采集设备适用,必选)

枚举: 1,2,3,4,5,9

枚举备注: 1: 移动机器人载摄像机 2: 执法记录仪 3: 移动单兵设备 4: 车载视频记录设备 5: 无人机载摄像机 9: 其他

├─ horizontalFieldAnglenumber非必须摄像机水平视场角(可选),[0,360]度,浮点型
├─ verticalFieldAnglenumber非必须摄像机竖直视场角(可选),[0,360]度,浮点型
├─ maxViewDistancenumber非必须摄像机可视距离(可选),单位米,浮点型
├─ grassrootsCodestring非必须基层组织编码(必选,非基层建设时为"000000")
├─ pointTypeinteger非必须监控点位类型(当为摄像机时必选)

枚举: 1,2,3,9

枚举备注: 1: 一类视频监控点 2: 二类视频监控点 3: 三类视频监控点 9: 其他点位

├─ pointCommonNamestring非必须点位俗称(可选),监控点位附近如有标志性建筑、场所或监控点位处于公众约定俗成的地点,可以填写标志性建筑名称和地点俗称
├─ macstring非必须设备MAC地址(可选),用“XX-XX-XX-XX-XX-XX”格式表达,XX表示2位十六进制数
├─ functionTypestring非必须摄像机卡口功能类型(当为摄像机时可选),可多值,各个取值间以"/"分隔

枚举: 01,02,03,04,05,99

枚举备注: 01: 人脸卡口 02: 人员卡口 03: 机动车卡口 04: 非机动车卡口 05: 物品卡口 99: 其他

├─ encodeTypestring非必须摄像机视频编码格式(可选),取值应符合SDP f字段规定
├─ installTimestring非必须摄像机安装使用时间,一类视频监控点必选;二类、三类可选
├─ managementUnitstring非必须摄像机所属管理单位名称(可选)
├─ contactInfostring非必须摄像机所属单位联系人的联系方式(电话号码,可多值,各个取值间以"/"分隔),一类视频监控点必选;二类、三类可选
├─ recordSaveDaysinteger非必须录像保存天数(可选),一类视频监控点必选;二类、三类可选
├─ industrialClassificationstring非必须国民经济行业分类代码(可选),代码见GB/T 4754第5章
├─ deviceNamestring非必须设备名称
├─ customNamestring非必须自定义名称
├─ channelTypestring非必须通道类型

枚举: 0,1,2,3,4,5

枚举备注: 0: 一般设备通道 1: 平台设备 2: 行政区划 3: 业务分组 4: 虚拟组织 5: 其他

├─ mediaTransmitstring必须流传输协议

枚举: UDP,TCP

├─ securityLevelCodestring非必须GB35114 标识安全前端设备的安全等级(A、B 或 C)

枚举: A,B,C

├─ isLocalboolean非必须GB35114是否本域设备,1表示本域,其他值或者无本条表示外域
├─ subCountinteger非必须子节点数, 大于0表示该通道为子目录
├─ subCountDeviceinteger非必须子设备通道
├─ onlineSubCountinteger非必须在线子节点数
├─ streamIdstring非必须流唯一编号,存在表示正在取实时流。目前没用到
├─ sourceTypestring必须接入类型 ,国标(GB)还是非标(INGEST),默认GB

枚举: GB,INGEST

枚举备注: 国标 非标

├─ ingestTypestring非必须非标接入协议类型

枚举: ONVIF,RTSP,RTMP,HLS,FLV,FILE

├─ usernamestring非必须用户名 (可供非标设备使用)
├─ streamUrlstring非必须流url (可供非标设备使用)
├─ onvifUrlstring非必须摄像机接入ONVIF地址
├─ streamLoopboolean非必须是否循环读取输入,对于非标自定义输入流有效
├─ createTsnumber非必须创建时间
├─ updateTsnumber非必须更新时间
msgstring必须

获取设备的所有通道列表

基本信息

Path: /api/v1/gb/device/{deviceId}/channels

Method: GET

接口描述:

offset 和 limit 如果都为0则获取所有的通道列表,如果都不填默认获取前 50 条数据。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId 平台(如nvr)设备id

Query

参数名称 是否必须 示例 备注
deviceId 否 设备编号
channelId 否 通道编号
name 否 通道名称
manufacturer 否 厂家
civilCode 否 行政区划码
block 否 警区
status 否 通道在线状态,ON 或者 OFF
sourceType 否 接入类型 ,国标(GB)还是非标(INGEST),默认GB
type 否 通道类型,ALL、DEVICE、DIR
catalog 否 是否以目录形式获取,默认0
startTime 否 通道开始时间
endTime 否 通道结束时间
update 否 是否强制刷新设备通道列表,0或1,默认0
offset 否 数据偏移量,默认0
limit 否 每页大小,默认50,最大500

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ suminteger非必须通道总数
├─ listobject []非必须分页通道列表

item 类型: object

├─ deviceIdstring必须父设备/区域/系统ID
├─ channelIdstring必须设备/区域/系统编码
├─ namestring必须设备/区域/系统名称
├─ manufacturerstring必须当为设备时,设备厂商
├─ modelstring必须当为设备时,设备型号
├─ ownerstring必须当为设备时,设备归属
├─ civilCodestring必须行政区划码,取值为省级2位,市级4位,区县级6位,基层接入单位8位
├─ blockstring非必须警区,若设备属于某组织机构下,应在此字段填写相应组织机构代码(符合GA/T 380-2011)
├─ parentalinteger必须当为设备时,是否有子设备,1有,0没有
├─ parentIdstring必须父设备/区域/系统ID,直接上级编号
├─ safetyWayinteger非必须0信令安全模式

枚举: 0,2,3,4

枚举备注: 0: 不采用 2: S/MIME签名方式 3: S/MIME加密签名同时采用方式 4: 数字摘要方式

├─ registerWayinteger必须1注册方式

枚举: 1,2,3

枚举备注: 1: 符合IETFRFC3261标准的认证注册模式 2: 基于口令的双向认证注册模式 3: 基于数字证书的双向认证注册模式

├─ secrecyinteger必须0保密属性

枚举: 0,1

枚举备注: 0: 不涉密 1: 涉密

├─ streamNuminteger非必须设备支持的编码流数
├─ addressstring必须当为设备时,安装地址
├─ ipAddressstring非必须设备/区域/系统IP地址
├─ ipstring非必须设备/区域/系统IP地址
├─ portinteger非必须设备/区域/系统端口
├─ statusstring必须设备在线状态

枚举: ON,OFF

├─ longitudenumber非必须经度,浮点型
├─ latitudenumber非必须纬度,浮点型
├─ certNumstring非必须证书序列号(有证书的设备必选)
├─ certifiableinteger非必须0证书有效标识(有证书的设备必选)

枚举: 0,1

枚举备注: 0:无效 1:有效

├─ errCodeinteger非必须无效原因码(有证书且证书无效的设备必选)
├─ endTimestring非必须证书终止有效期(有证书的设备必选)
├─ passwordstring非必须设备口令
├─ charsetstring必须编码字符集

枚举: GB2312,UTF8,GB18030

├─ ptzTypeinteger非必须摄像机类型扩展,标识摄像机类型(当目录项为摄像机时可选)

枚举: 1,2,3,4,5,6,7

枚举备注: 1: 球机 2: 半球 3: 固定枪机 4: 遥控枪机 5: 遥控半球 6: 多目设备的全景/拼接通道 7: 多目设备的分隔通道

├─ positionTypeinteger非必须摄像机位置类型扩展(当目录项为摄像机时可选)

枚举: 1,2,3,4,5,6,7,8,9,10

枚举备注: 1: 省际检查站 2: 党政机关 3: 车站码头 4: 中心广场 5: 体育场馆 6: 商业中心 7: 宗教场所 8: 校园周边 9: 治安复杂区域 10: 交通干线

├─ roomTypeinteger非必须摄像机安装位置属性(当目录项为摄像机时可选,缺省为1)

枚举: 1,2

枚举备注: 1: 室外 2: 室内

├─ useTypeinteger非必须摄像机用途属性(当目录项为摄像机时可选)

枚举: 1,2,3

枚举备注: 1: 治安 2: 交通 3: 重点

├─ supplyLightTypeinteger非必须摄像机补光属性(当目录项为摄像机时可选,缺省为1)

枚举: 1,2,3,4,9

枚举备注: 1: 无补光 2: 红外补光 3: 白光补光 4: 激光补光 9: 其他

├─ directionTypeinteger非必须摄像机监视方位属性(当目录项为摄像机时且为固定摄像机或设置看守位摄像机时可选)

枚举: 1,2,3,4,5,6,7,8

枚举备注: 1: 东 2: 西 3: 南 4: 北 5: 东南 6: 东北 7: 西南 8: 西北

├─ resolutionstring非必须摄像机支持的分辨率(当目录项为摄像机时可选),可有多个分辨率值,各个取值间以“/”分隔
├─ businessGroupIdstring非必须虚拟组织所属的业务分组ID,业务分组根据特定的业务需求制定,一个业务分组包含一组特定的虚拟组织
├─ downloadSpeedstring非必须下载倍速范围(可选),各可选参数以“/”分隔,如设备支持1,2,4倍速下载则应写为“1/2/4”
├─ svcSpaceSupportModeinteger非必须空域编码能力

枚举: 0,1,2,3

枚举备注: 0: 不支持 1: 1级增强(1个增强层) 2: 2级增强(2个增强层) 3: 3级增强(3个增强层)

├─ svcTimeSupportModeinteger非必须时域编码能力

枚举: 0,1,2,3

枚举备注: 0: 不支持 1: 1级增强 2: 2级增强 3: 3级增强

├─ ssvcRatioSupportListstring非必须SSVC 增强层与基本层比例能力(可选),可多值,各个取值间以"/"分隔,如"4:3/2:1/4:1/6:1/8:1"等具体比例值一种或多种
├─ streamNumberListstring非必须摄像机支持的码流编号列表,用于实时点播时指定码流编号(可选),可多值,各个取值间以"/"分隔,如"0/1/2",表示支持主码流/子码流1/子码流2,以此类推
├─ photoelectricImagingTypestring非必须摄像机光电成像类型(当目录项为摄像机时可选),可多值,各个取值间以"/"分隔

枚举: 1,2,3,4,5,9

枚举备注: 1: 可见光成像 2: 热成像 3: 雷达成像 4: X光成像 5: 深度光场成像 9: 其他

├─ capturePositionTypestring非必须摄像机采集部位类型(当目录项为摄像机时可选)
├─ mobileDeviceTypeinteger非必须移动采集设备类型(仅移动采集设备适用,必选)

枚举: 1,2,3,4,5,9

枚举备注: 1: 移动机器人载摄像机 2: 执法记录仪 3: 移动单兵设备 4: 车载视频记录设备 5: 无人机载摄像机 9: 其他

├─ horizontalFieldAnglenumber非必须摄像机水平视场角(可选),[0,360]度,double类型
├─ verticalFieldAnglenumber非必须摄像机竖直视场角(可选),[0,360]度,double类型
├─ maxViewDistancenumber非必须摄像机可视距离(可选),单位米,double类型
├─ grassrootsCodestring非必须基层组织编码(必选,非基层建设时为"000000")
├─ pointTypeinteger非必须监控点位类型(当为摄像机时必选)

枚举: 1,2,3,9

枚举备注: 1: 一类视频监控点 2: 二类视频监控点 3: 三类视频监控点 9: 其他点位

├─ pointCommonNamestring非必须点位俗称(可选),监控点位附近如有标志性建筑、场所或监控点位处于公众约定俗成的地点,可以填写标志性建筑名称和地点俗称
├─ macstring非必须设备MAC地址(可选),用“XX-XX-XX-XX-XX-XX”格式表达,XX表示2位十六进制数
├─ functionTypestring非必须摄像机卡口功能类型(当为摄像机时可选),可多值,各个取值间以"/"分隔

枚举: 01,02,03,04,05,99

枚举备注: 01: 人脸卡口 02: 人员卡口 03: 机动车卡口 04: 非机动车卡口 05: 物品卡口 99: 其他

├─ encodeTypestring非必须摄像机视频编码格式(可选),取值应符合SDP f字段规定
├─ installTimestring非必须摄像机安装使用时间,一类视频监控点必选;二类、三类可选
├─ managementUnitstring非必须摄像机所属管理单位名称(可选)
├─ contactInfostring非必须摄像机所属单位联系人的联系方式(电话号码,可多值,各个取值间以"/"分隔),一类视频监控点必选;二类、三类可选
├─ recordSaveDaysinteger非必须录像保存天数(可选),一类视频监控点必选;二类、三类可选
├─ industrialClassificationstring非必须国民经济行业分类代码(可选),代码见GB/T 4754第5章
├─ deviceNamestring非必须设备名称
├─ customNamestring非必须自定义名称
├─ channelTypestring非必须通道类型

枚举: 0,1,2,3,4,5

枚举备注: 0: 一般设备通道 1: 平台设备 2: 行政区划 3: 业务分组 4: 虚拟组织 5: 其他

├─ mediaTransmitstring必须流传输协议

枚举: UDP,TCP

├─ securityLevelCodestring非必须GB35114 标识安全前端设备的安全等级(A、B 或 C)

枚举: A,B,C

├─ isLocalboolean非必须GB35114是否本域设备,1表示本域,其他值或者无本条表示外域
├─ subCountinteger非必须子节点数, 大于0表示该通道为子目录
├─ subCountDeviceinteger非必须子设备通道
├─ onlineSubCountinteger非必须在线子节点数
├─ streamIdstring非必须流唯一编号,存在表示正在取实时流。目前没用到
├─ sourceTypestring必须接入类型 ,国标(GB)还是非标(INGEST),默认GB

枚举: GB,INGEST

枚举备注: 国标 非标

├─ ingestTypestring非必须非标接入协议类型

枚举: ONVIF,RTSP,RTMP,HLS,FLV,FILE

├─ usernamestring非必须用户名 (可供非标设备使用)
├─ streamUrlstring非必须流url (可供非标设备使用)
├─ onvifUrlstring非必须摄像机接入ONVIF地址
├─ streamLoopboolean非必须是否循环读取输入,对于非标自定义输入流有效
├─ createTsnumber非必须创建时间
├─ updateTsnumber非必须更新时间
msgstring必须

获取设备详细信息

基本信息

Path: /api/v1/gb/device/{deviceId}/info

Method: GET

接口描述:

请求参数

路径参数

参数名称 示例 备注
deviceId 平台(如nvr)设备id

Query

参数名称 是否必须 示例 备注
update 否 是否请求设备获取信息更新,默认0

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ versionstring非必须国标协议版本

枚举: V1_0,V1_1,V2_0,V3_0

枚举备注: V1_0: GB-T 28181-2011 V1_1: GB-T 28181-2011 修改补充文件 V2_0: GB-T 28181-2016 V3_0: GB-T 28181-2022

├─ sourceTypestring必须GB接入类型 (国标还是非标)

枚举: GB,INGEST

枚举备注: GB: GB28181 / GB35114 INGEST: rtsp / rtmp / http (flv/hls/mp4 ...) ...

├─ deviceIdstring必须设备Id
├─ sipIpstring必须下级请求sipper的ip
├─ ipstring必须下级出口ip(NAT后)
├─ portinteger必须下级出口端口(NAT后)
├─ remoteIpstring必须下级ip
├─ remotePortinteger必须下级端口
├─ namestring非必须设备名称
├─ manufacturerstring非必须设备生产商
├─ modelstring非必须设备型号
├─ firmwarestring非必须设备固件版本
├─ channelinteger非必须视频输入通道数
├─ subCountinteger非必须子节点数
├─ subCountDeviceinteger非必须子设备通道数
├─ onlineSubCountinteger非必须在线子通道数
├─ customNamestring非必须自定义名称
├─ pwdstring非必须设备密码
├─ expiryinteger必须3600注册过期时间(秒)
├─ heartbeatIntervalinteger必须60心跳间隔(秒)
├─ heartbeatCountinteger必须3最大心跳重试次数
├─ downloadSpeedstring非必须设备支持的下载速度,如0.125/0.25/0.5/1/2/4
├─ resolutionstring非必须设备支持的分辨率,取值:1-QCIF 2-CIF 3-4CIF 4-D1 5-720P 6-1080P/I,如2/3/5
├─ transmitstring必须UDP信令传输协议

枚举: UDP,TCP

├─ mediaTransmitstring非必须流传输协议,如果为空,则默认使用信令服务的配置项

枚举: UDP,TCP

├─ smsIdstring非必须使用的流媒体id
├─ useGmboolean非必须是否使用国密35114
├─ signaturedboolean非必须是否35114签名
├─ encryptedboolean非必须是否35114加密
├─ lastRegisterTsnumber必须最后一次注册时间(毫秒),如 1594188879444
├─ lastAliveTsnumber必须最后一次保活时间(毫秒),如 1594188879444
├─ catalogIntervalinteger非必须0通道目录周期更新时间间隔(秒), <=0 表示平台不周期获取目录, 默认 3600 秒
├─ subscribeIntervalinteger非必须600 订阅周期(秒), <=0 表示平台不周期订阅, 否则最小 10, 默认 600 秒
├─ mobilePosIntervalinteger非必须0移动位置周期上报时间间隔(秒), <=0 表示平台不周期订阅, 否则最小 1, 默认 0
├─ alarmIntervalinteger非必须0报警订阅周期(秒), <=0 表示平台不周期订阅, 否则最小 1, 默认 0
├─ ptzPosIntervalinteger非必须0报警订阅周期(秒), <=0 表示平台不周期订阅, 否则最小 1, 默认 0
├─ catalogStatusstring非必须目录订阅状态

枚举: CLOSED,PROCESSING,OPENED

├─ mobilePosStatusstring非必须移动位置订阅状态

枚举: CLOSED,PROCESSING,OPENED

├─ alarmStatusstring非必须报警订阅状态

枚举: CLOSED,PROCESSING,OPENED

├─ ptzPosStatusstring非必须PTZ位置订阅状态

枚举: CLOSED,PROCESSING,OPENED

├─ charsetstring非必须编码字符集

枚举: GB2312,UTF8,GB18030

├─ authboolean非必须true是否免密注册,默认true
├─ forbidboolean非必须是否禁止接入,默认false
├─ statusstring必须设备在线状态

枚举: ON,OFF

├─ lastGetCatalogTsnumber非必须最后一次更新目录时间(毫秒),如 1594188879444
├─ lastSubscribeCatalogTsnumber非必须最后一次订阅目录时间(毫秒),如 1594188879444
├─ lastSubscribeMobilePosTsnumber非必须最后一次订阅移动位置时间(毫秒),如 1594188879444
├─ lastSubscribeAlarmTsnumber非必须最后一次订阅报警时间(毫秒),如 1594188879444
├─ lastSubscribePtzPosTsnumber非必须最后一次订阅ptz时间(毫秒),如 1594188879444
├─ createTsnumber非必须创建时间
├─ updateTsnumber非必须更新时间
msgstring必须

获取设备通道树

基本信息

Path: /api/v1/gb/device/{deviceId}/tree

Method: GET

接口描述:

deviceId 和 parentId 都为 "0" 时代表获取根节点设备列表

请求参数

路径参数

参数名称 示例 备注
deviceId 设备ID

Query

参数名称 是否必须 示例 备注
parentId 否 父设备ID
sourceType 否 接入类型 ,国标(GB)还是非标(INGEST),默认GB
catalog 否 是否只获取目录
offset 否 数据偏移量,默认0
limit 否 每页大小,默认50,最大500

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ suminteger非必须通道总数
├─ listobject []非必须分页通道列表

item 类型: object

├─ deviceIdstring必须父设备/区域/系统ID
├─ channelIdstring必须设备/区域/系统编码
├─ namestring必须设备/区域/系统名称
├─ manufacturerstring必须当为设备时,设备厂商
├─ modelstring必须当为设备时,设备型号
├─ ownerstring必须当为设备时,设备归属
├─ civilCodestring必须行政区划码,取值为省级2位,市级4位,区县级6位,基层接入单位8位
├─ blockstring必须警区,若设备属于某组织机构下,应在此字段填写相应组织机构代码(符合GA/T 380-2011)
├─ parentalinteger必须当为设备时,是否有子设备,1有,0没有
├─ parentIdstring必须父设备/区域/系统ID,直接上级编号
├─ statusstring必须设备在线状态

枚举: ON,OFF

├─ longitudenumber必须经度,浮点型
├─ latitudenumber必须纬度,浮点型
├─ ptzTypeinteger必须摄像机类型扩展,标识摄像机类型(当目录项为摄像机时可选)

枚举: 1,2,3,4

枚举备注: 1: 球机 2: 半球 3: 固定枪机 4: 遥控枪机

├─ customNamestring必须自定义名称
├─ channelTypestring必须通道类型

枚举: 0,1,2,3,4,5

枚举备注: 0: 一般设备通道 1: 平台设备 2: 行政区划 3: 业务分组 4: 虚拟组织 5: 其他

├─ subCountinteger必须
├─ subCountDeviceinteger必须子设备通道
├─ onlineSubCountinteger必须在线子节点数
├─ customboolean必须是否是自定义通道
├─ parentboolean必须是否是父节点
msgstring必须

获取设备通道树通道列表

基本信息

Path: /api/v1/gb/device/{deviceId}/tree/channels

Method: GET

接口描述:

offset 和 limit 如果都为0则获取所有的通道列表,如果都不填默认获取前 50 条数据。
如果 parentId 为0表示直接获取设备通道列表。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId 平台(如nvr)设备id

Query

参数名称 是否必须 示例 备注
deviceId 否 设备编号
channelId 否 通道编号
parentId 否 父设备ID
deviceName 否 设备名称
name 否 通道名称
manufacturer 否 厂家
civilCode 否 行政区划码
block 否 警区
status 否 通道在线状态,ON 或者 OFF
sourceType 否 接入类型 ,国标(GB)还是非标(INGEST),默认GB
type 否 通道类型,ALL、DEVICE、DIR
offset 否 数据偏移量,默认0
limit 否 每页大小,默认50,最大500

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ suminteger非必须通道总数
├─ listobject []非必须分页通道列表

item 类型: object

├─ deviceIdstring必须父设备/区域/系统ID
├─ channelIdstring必须设备/区域/系统编码
├─ namestring必须设备/区域/系统名称
├─ manufacturerstring必须当为设备时,设备厂商
├─ modelstring必须当为设备时,设备型号
├─ ownerstring必须当为设备时,设备归属
├─ civilCodestring必须行政区划码,取值为省级2位,市级4位,区县级6位,基层接入单位8位
├─ blockstring非必须警区,若设备属于某组织机构下,应在此字段填写相应组织机构代码(符合GA/T 380-2011)
├─ parentalinteger必须当为设备时,是否有子设备,1有,0没有
├─ parentIdstring必须父设备/区域/系统ID,直接上级编号
├─ safetyWayinteger非必须0信令安全模式

枚举: 0,2,3,4

枚举备注: 0: 不采用 2: S/MIME签名方式 3: S/MIME加密签名同时采用方式 4: 数字摘要方式

├─ registerWayinteger必须1注册方式

枚举: 1,2,3

枚举备注: 1: 符合IETFRFC3261标准的认证注册模式 2: 基于口令的双向认证注册模式 3: 基于数字证书的双向认证注册模式

├─ secrecyinteger必须0保密属性

枚举: 0,1

枚举备注: 0: 不涉密 1: 涉密

├─ streamNuminteger非必须设备支持的编码流数
├─ addressstring必须当为设备时,安装地址
├─ ipAddressstring非必须设备/区域/系统IP地址
├─ ipstring非必须设备/区域/系统IP地址
├─ portinteger非必须设备/区域/系统端口
├─ statusstring必须设备在线状态

枚举: ON,OFF

├─ longitudenumber非必须经度,浮点型
├─ latitudenumber非必须纬度,浮点型
├─ certNumstring非必须证书序列号(有证书的设备必选)
├─ certifiableinteger非必须0证书有效标识(有证书的设备必选)

枚举: 0,1

枚举备注: 0:无效 1:有效

├─ errCodeinteger非必须无效原因码(有证书且证书无效的设备必选)
├─ endTimestring非必须证书终止有效期(有证书的设备必选)
├─ passwordstring非必须设备口令
├─ charsetstring必须编码字符集

枚举: GB2312,UTF8,GB18030

├─ ptzTypeinteger非必须摄像机类型扩展,标识摄像机类型(当目录项为摄像机时可选)

枚举: 1,2,3,4

枚举备注: 1: 球机 2: 半球 3: 固定枪机 4: 遥控枪机

├─ positionTypeinteger非必须摄像机位置类型扩展(当目录项为摄像机时可选)

枚举: 1,2,3,4,5,6,7,8,9,10

枚举备注: 1: 省际检查站 2: 党政机关 3: 车站码头 4: 中心广场 5: 体育场馆 6: 商业中心 7: 宗教场所 8: 校园周边 9: 治安复杂区域 10: 交通干线

├─ roomTypeinteger非必须摄像机安装位置属性(当目录项为摄像机时可选,缺省为1)

枚举: 1,2

枚举备注: 1: 室外 2: 室内

├─ useTypeinteger非必须摄像机用途属性(当目录项为摄像机时可选)

枚举: 1,2,3

枚举备注: 1: 治安 2: 交通 3: 重点

├─ supplyLightTypeinteger非必须摄像机补光属性(当目录项为摄像机时可选,缺省为1)

枚举: 1,2,3

枚举备注: 1: 无补光 2: 红外补光 3: 白光补光

├─ directionTypeinteger非必须摄像机监视方位属性(当目录项为摄像机时且为固定摄像机或设置看守位摄像机时可选)

枚举: 1,2,3,4,5,6,7,8

枚举备注: 1: 东 2: 西 3: 南 4: 北 5: 东南 6: 东北 7: 西南 8: 西北

├─ resolutionstring非必须摄像机支持的分辨率(当目录项为摄像机时可选),可有多个分辨率值,各个取值间以“/”分隔
├─ businessGroupIdstring非必须虚拟组织所属的业务分组ID,业务分组根据特定的业务需求制定,一个业务分组包含一组特定的虚拟组织
├─ downloadSpeedstring非必须下载倍速范围(可选),各可选参数以“/”分隔,如设备支持1,2,4倍速下载则应写为“1/2/4”
├─ svcSpaceSupportModeinteger非必须空域编码能力

枚举: 0,1,2,3

枚举备注: 0: 不支持 1: 1级增强(1个增强层) 2: 2级增强(2个增强层) 3: 3级增强(3个增强层)

├─ svcTimeSupportModeinteger非必须时域编码能力

枚举: 0,1,2,3

枚举备注: 0: 不支持 1: 1级增强 2: 2级增强 3: 3级增强

├─ deviceNamestring非必须设备名称
├─ customNamestring非必须自定义名称
├─ channelTypestring非必须通道类型

枚举: 0,1,2,3,4,5

枚举备注: 0: 一般设备通道 1: 平台设备 2: 行政区划 3: 业务分组 4: 虚拟组织 5: 其他

├─ mediaTransmitstring必须流传输协议

枚举: UDP,TCP

├─ securityLevelCodestring非必须GB35114 标识安全前端设备的安全等级(A、B 或 C)

枚举: A,B,C

├─ isLocalboolean非必须GB35114是否本域设备,1表示本域,其他值或者无本条表示外域
├─ subCountinteger非必须子节点数, 大于0表示该通道为子目录在线子节点数
├─ subCountDeviceinteger非必须子设备通道
├─ onlineSubCountinteger非必须在线子节点数
├─ streamIdstring非必须流唯一编号,存在表示正在取实时流。目前没用到
├─ sourceTypestring必须接入类型 ,国标(GB)还是非标(INGEST),默认GB

枚举: GB,INGEST

枚举备注: 国标 非标

├─ ingestTypestring非必须非标接入协议类型

枚举: ONVIF,RTSP,RTMP,HLS,FLV,FILE

├─ usernamestring非必须用户名 (可供非标设备使用)
├─ streamUrlstring非必须流url (可供非标设备使用)
├─ onvifUrlstring非必须摄像机接入ONVIF地址
├─ streamLoopboolean非必须是否循环读取输入,对于非标自定义输入流有效
├─ createTsnumber非必须创建时间
├─ updateTsnumber非必须更新时间
msgstring必须

添加设备

基本信息

Path: /api/v1/gb/device/devices

Method: POST

接口描述:

添加自定义设备,deviceId 必须不重复。
注意:请求体里面是多个设备信息组成的 Array 数组类型。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

Body

名称类型是否必须默认值备注其他信息
sourceTypestring非必须接入类型 (国标还是非标)
deviceIdstring必须设备Id
namestring非必须设备名称
manufacturerstring非必须设备生产商
modelstring非必须设备型号
firmwarestring非必须设备固件版本
customNamestring非必须自定义名称
pwdstring非必须设备密码
expiryinteger非必须3600注册过期时间(秒)

最大值: 100000

最小值: 3600

heartbeatIntervalinteger非必须60心跳间隔(秒)

最大值: 255

最小值: 5

heartbeatCountinteger非必须3最大心跳重试次数

最大值: 255

最小值: 3

downloadSpeedstring非必须设备支持的下载速度,如0.125/0.25/0.5/1/2/4
resolutionstring非必须设备支持的分辨率,取值:1-QCIF 2-CIF 3-4CIF 4-D1 5-720P 6-1080P/I,如2/3/5
transmitstring非必须信令传输协议

枚举: UDP,TCP

mediaTransmitstring非必须流传输协议,如果为空,则默认使用信令服务的配置项

枚举: UDP,TCP

smsIdstring非必须使用的流媒体id
catalogIntervalinteger非必须0通道目录周期更新时间间隔(秒), <=0 表示平台不周期获取目录, 默认 3600 秒
subscribeIntervalinteger非必须600 订阅周期(秒), <=0 表示平台不周期订阅, 否则最小 10, 默认 600 秒
mobilePosIntervalinteger非必须0移动位置周期上报时间间隔(秒), <=0 表示平台不周期订阅, 否则最小 1, 默认 0
alarmIntervalinteger非必须0报警订阅周期(秒), <=0 表示平台不周期订阅, 否则最小 1, 默认 0
ptzPosIntervalinteger非必须0报警订阅周期(秒), <=0 表示平台不周期订阅, 否则最小 1, 默认 0
charsetstring非必须编码字符集

枚举: GB2312,UTF8,GB18030

authboolean非必须是否免密注册,默认true
forbidboolean非必须是否禁止接入,默认false
statusstring非必须设备在线状态,国标设备默认为OFF,非标设备默认为ON

枚举: ON,OFF

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

更新设备

基本信息

Path: /api/v1/gb/device/{deviceId}/info

Method: PUT

接口描述:

更新自定义设备,deviceId必须不重复。
对于国标设备,有些设备自身的字段值更新无效,只有自定义的值可以更新。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId 平台(如nvr)设备id

Body

名称类型是否必须默认值备注其他信息
sourceTypestring非必须接入类型 (国标还是非标)
deviceIdstring必须设备Id
namestring非必须设备名称
manufacturerstring非必须设备生产商
modelstring非必须设备型号
firmwarestring非必须设备固件版本
customNamestring非必须自定义名称
pwdstring非必须设备密码
expiryinteger非必须3600注册过期时间(秒)

最大值: 100000

最小值: 3600

heartbeatIntervalinteger非必须60心跳间隔(秒)

最大值: 255

最小值: 5

heartbeatCountinteger非必须3最大心跳重试次数

最大值: 255

最小值: 3

downloadSpeedstring非必须设备支持的下载速度,如0.125/0.25/0.5/1/2/4
resolutionstring非必须设备支持的分辨率,取值:1-QCIF 2-CIF 3-4CIF 4-D1 5-720P 6-1080P/I,如2/3/5
transmitstring非必须信令传输协议

枚举: UDP,TCP

mediaTransmitstring非必须流传输协议,如果为空,则默认使用信令服务的配置项

枚举: UDP,TCP

smsIdstring非必须使用的流媒体id
catalogIntervalinteger非必须0通道目录周期更新时间间隔(秒), <=0 表示平台不周期获取目录, 默认 3600 秒
subscribeIntervalinteger非必须600 订阅周期(秒), <=0 表示平台不周期订阅, 否则最小 10, 默认 600 秒
mobilePosIntervalinteger非必须0移动位置周期上报时间间隔(秒), <=0 表示平台不周期订阅, 否则最小 1, 默认 0
alarmIntervalinteger非必须0报警订阅周期(秒), <=0 表示平台不周期订阅, 否则最小 1, 默认 0
charsetstring非必须编码字符集

枚举: GB2312,UTF8,GB18030

authboolean非必须是否免密注册,默认true
forbidboolean非必须是否禁止接入,默认false
statusstring非必须设备在线状态,非标设备可以自定义状态

枚举: ON,OFF

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

删除设备

基本信息

Path: /api/v1/gb/device/devices

Method: DELETE

接口描述:

删除设备代表删除掉已经存在的设备,当删除掉设备后,设备可以重新注册添加到系统。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

Body

名称类型是否必须默认值备注其他信息
object []必须设备ID列表

item 类型: object

├─ string必须设备ID

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

获取设备通道

基本信息

Path: /api/v1/gb/device/{deviceId}/{channelId}/info

Method: GET

接口描述:

请求参数

路径参数

参数名称 示例 备注
deviceId 设备ID
channelId 通道ID

Query

参数名称 是否必须 示例 备注
sourceType 是 接入类型 ,国标(GB)还是非标(INGEST),默认GB

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ deviceIdstring必须父设备/区域/系统ID
├─ channelIdstring必须设备/区域/系统编码
├─ namestring必须设备/区域/系统名称
├─ manufacturerstring必须当为设备时,设备厂商
├─ modelstring必须当为设备时,设备型号
├─ ownerstring必须当为设备时,设备归属
├─ civilCodestring必须行政区划码,取值为省级2位,市级4位,区县级6位,基层接入单位8位
├─ blockstring非必须警区,若设备属于某组织机构下,应在此字段填写相应组织机构代码(符合GA/T 380-2011)
├─ parentalinteger必须当为设备时,是否有子设备,1有,0没有
├─ parentIdstring必须父设备/区域/系统ID,直接上级编号
├─ safetyWayinteger非必须0信令安全模式

枚举: 0,2,3,4

枚举备注: 0: 不采用 2: S/MIME签名方式 3: S/MIME加密签名同时采用方式 4: 数字摘要方式

├─ registerWayinteger必须1注册方式

枚举: 1,2,3

枚举备注: 1: 符合IETFRFC3261标准的认证注册模式 2: 基于口令的双向认证注册模式 3: 基于数字证书的双向认证注册模式

├─ secrecyinteger必须0保密属性

枚举: 0,1

枚举备注: 0: 不涉密 1: 涉密

├─ streamNuminteger非必须设备支持的编码流数
├─ addressstring必须当为设备时,安装地址
├─ ipAddressstring非必须设备/区域/系统IP地址
├─ ipstring非必须设备/区域/系统IP地址
├─ portinteger非必须设备/区域/系统端口
├─ statusstring必须设备在线状态

枚举: ON,OFF

├─ longitudenumber非必须经度,浮点型
├─ latitudenumber非必须纬度,浮点型
├─ certNumstring非必须证书序列号(有证书的设备必选)
├─ certifiableinteger非必须0证书有效标识(有证书的设备必选)

枚举: 0,1

枚举备注: 0:无效 1:有效

├─ errCodeinteger非必须无效原因码(有证书且证书无效的设备必选)
├─ endTimestring非必须证书终止有效期(有证书的设备必选)
├─ passwordstring非必须设备口令
├─ charsetstring必须编码字符集

枚举: GB2312,UTF8,GB18030

├─ ptzTypeinteger非必须摄像机类型扩展,标识摄像机类型(当目录项为摄像机时可选)

枚举: 1,2,3,4,5,6,7

枚举备注: 1: 球机 2: 半球 3: 固定枪机 4: 遥控枪机 5: 遥控半球 6: 多目设备的全景/拼接通道 7: 多目设备的分隔通道

├─ positionTypeinteger非必须摄像机位置类型扩展(当目录项为摄像机时可选)

枚举: 1,2,3,4,5,6,7,8,9,10

枚举备注: 1: 省际检查站 2: 党政机关 3: 车站码头 4: 中心广场 5: 体育场馆 6: 商业中心 7: 宗教场所 8: 校园周边 9: 治安复杂区域 10: 交通干线

├─ roomTypeinteger非必须摄像机安装位置属性(当目录项为摄像机时可选,缺省为1)

枚举: 1,2

枚举备注: 1: 室外 2: 室内

├─ useTypeinteger非必须摄像机用途属性(当目录项为摄像机时可选)

枚举: 1,2,3

枚举备注: 1: 治安 2: 交通 3: 重点

├─ supplyLightTypeinteger非必须摄像机补光属性(当目录项为摄像机时可选,缺省为1)

枚举: 1,2,3,4,9

枚举备注: 1: 无补光 2: 红外补光 3: 白光补光 4: 激光补光 9: 其他

├─ directionTypeinteger非必须摄像机监视方位属性(当目录项为摄像机时且为固定摄像机或设置看守位摄像机时可选)

枚举: 1,2,3,4,5,6,7,8

枚举备注: 1: 东 2: 西 3: 南 4: 北 5: 东南 6: 东北 7: 西南 8: 西北

├─ resolutionstring非必须摄像机支持的分辨率(当目录项为摄像机时可选),可有多个分辨率值,各个取值间以“/”分隔
├─ businessGroupIdstring非必须虚拟组织所属的业务分组ID,业务分组根据特定的业务需求制定,一个业务分组包含一组特定的虚拟组织
├─ downloadSpeedstring非必须下载倍速范围(可选),各可选参数以“/”分隔,如设备支持1,2,4倍速下载则应写为“1/2/4”
├─ svcSpaceSupportModeinteger非必须空域编码能力

枚举: 0,1,2,3

枚举备注: 0: 不支持 1: 1级增强(1个增强层) 2: 2级增强(2个增强层) 3: 3级增强(3个增强层)

├─ svcTimeSupportModeinteger非必须时域编码能力

枚举: 0,1,2,3

枚举备注: 0: 不支持 1: 1级增强 2: 2级增强 3: 3级增强

├─ ssvcRatioSupportListstring非必须SSVC 增强层与基本层比例能力(可选),可多值,各个取值间以"/"分隔,如"4:3/2:1/4:1/6:1/8:1"等具体比例值一种或多种
├─ streamNumberListstring非必须摄像机支持的码流编号列表,用于实时点播时指定码流编号(可选),可多值,各个取值间以"/"分隔,如"0/1/2",表示支持主码流/子码流1/子码流2,以此类推
├─ photoelectricImagingTypestring非必须摄像机光电成像类型(当目录项为摄像机时可选),可多值,各个取值间以"/"分隔

枚举: 1,2,3,4,5,9

枚举备注: 1: 可见光成像 2: 热成像 3: 雷达成像 4: X光成像 5: 深度光场成像 9: 其他

├─ capturePositionTypestring非必须摄像机采集部位类型(当目录项为摄像机时可选)
├─ mobileDeviceTypeinteger非必须移动采集设备类型(仅移动采集设备适用,必选)

枚举: 1,2,3,4,5,9

枚举备注: 1: 移动机器人载摄像机 2: 执法记录仪 3: 移动单兵设备 4: 车载视频记录设备 5: 无人机载摄像机 9: 其他

├─ horizontalFieldAnglenumber非必须摄像机水平视场角(可选),[0,360]度,浮点型
├─ verticalFieldAnglenumber非必须摄像机竖直视场角(可选),[0,360]度,浮点型
├─ maxViewDistancenumber非必须摄像机可视距离(可选),单位米,浮点型
├─ grassrootsCodestring非必须基层组织编码(必选,非基层建设时为"000000")
├─ pointTypeinteger非必须监控点位类型(当为摄像机时必选)

枚举: 1,2,3,9

枚举备注: 1: 一类视频监控点 2: 二类视频监控点 3: 三类视频监控点 9: 其他点位

├─ pointCommonNamestring非必须点位俗称(可选),监控点位附近如有标志性建筑、场所或监控点位处于公众约定俗成的地点,可以填写标志性建筑名称和地点俗称
├─ macstring非必须设备MAC地址(可选),用“XX-XX-XX-XX-XX-XX”格式表达,XX表示2位十六进制数
├─ functionTypestring非必须摄像机卡口功能类型(当为摄像机时可选),可多值,各个取值间以"/"分隔

枚举: 01,02,03,04,05,99

枚举备注: 01: 人脸卡口 02: 人员卡口 03: 机动车卡口 04: 非机动车卡口 05: 物品卡口 99: 其他

├─ encodeTypestring非必须摄像机视频编码格式(可选),取值应符合SDP f字段规定
├─ installTimestring非必须摄像机安装使用时间,一类视频监控点必选;二类、三类可选
├─ managementUnitstring非必须摄像机所属管理单位名称(可选)
├─ contactInfostring非必须摄像机所属单位联系人的联系方式(电话号码,可多值,各个取值间以"/"分隔),一类视频监控点必选;二类、三类可选
├─ recordSaveDaysinteger非必须录像保存天数(可选),一类视频监控点必选;二类、三类可选
├─ industrialClassificationstring非必须国民经济行业分类代码(可选),代码见GB/T 4754第5章
├─ deviceNamestring非必须设备名称
├─ customNamestring非必须自定义名称
├─ channelTypestring非必须通道类型

枚举: 0,1,2,3,4,5

枚举备注: 0: 一般设备通道 1: 平台设备 2: 行政区划 3: 业务分组 4: 虚拟组织 5: 其他

├─ mediaTransmitstring必须流传输协议

枚举: UDP,TCP

├─ securityLevelCodestring非必须GB35114 标识安全前端设备的安全等级(A、B 或 C)

枚举: A,B,C

├─ isLocalboolean非必须GB35114是否本域设备,1表示本域,其他值或者无本条表示外域
├─ subCountinteger非必须子节点数, 大于0表示该通道为子目录
├─ subCountDeviceinteger非必须子设备通道
├─ onlineSubCountinteger非必须在线子节点数
├─ streamIdstring非必须流唯一编号,存在表示正在取实时流。目前没用到
├─ sourceTypestring必须接入类型 ,国标(GB)还是非标(INGEST),默认GB

枚举: GB,INGEST

枚举备注: 国标 非标

├─ ingestTypestring非必须非标接入协议类型

枚举: ONVIF,RTSP,RTMP,HLS,FLV,FILE

├─ usernamestring非必须用户名 (可供非标设备使用)
├─ streamUrlstring非必须流url (可供非标设备使用)
├─ onvifUrlstring非必须摄像机接入ONVIF地址
├─ streamLoopboolean非必须是否循环读取输入,对于非标自定义输入流有效
├─ createTsnumber非必须创建时间
├─ updateTsnumber非必须更新时间
msgstring必须

添加设备通道

基本信息

Path: /api/v1/gb/device/{deviceId}/channels

Method: POST

接口描述:

添加自定义通道,channelId 必须不重复。
注意:请求体里面是多个通道组成的 Array 数组类型。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId 平台(如nvr)设备id

Query

参数名称 是否必须 示例 备注
deviceId 否 设备编号
channelId 否 通道编号
name 否 通道名称
manufacturer 否 厂家
civilCode 否 行政区划码
block 否 警区
status 否 通道在线状态,ON 或者 OFF
sourceType 否 接入类型 ,国标(GB)还是非标(INGEST),默认GB
type 否 通道类型,ALL、DEVICE、DIR
catalog 否 是否以目录形式获取,默认0
startTime 否 通道开始时间
endTime 否 通道结束时间
update 否 是否强制刷新设备通道列表,0或1,默认0
offset 否 数据偏移量,默认0
limit 否 每页大小,默认50,最大500

Body

名称类型是否必须默认值备注其他信息
deviceIdstring必须父设备/区域/系统ID
channelIdstring必须设备/区域/系统编码
namestring必须设备/区域/系统名称
manufacturerstring必须当为设备时,设备厂商
modelstring必须当为设备时,设备型号
ownerstring必须当为设备时,设备归属
civilCodestring必须行政区划码,取值为省级2位,市级4位,区县级6位,基层接入单位8位
blockstring非必须警区,若设备属于某组织机构下,应在此字段填写相应组织机构代码(符合GA/T 380-2011)
parentalinteger必须当为设备时,是否有子设备,1有,0没有
parentIdstring必须父设备/区域/系统ID,直接上级编号
safetyWayinteger非必须0信令安全模式

枚举: 0,2,3,4

枚举备注: 0: 不采用 2: S/MIME签名方式 3: S/MIME加密签名同时采用方式 4: 数字摘要方式

registerWayinteger必须1注册方式

枚举: 1,2,3

枚举备注: 1: 符合IETFRFC3261标准的认证注册模式 2: 基于口令的双向认证注册模式 3: 基于数字证书的双向认证注册模式

secrecyinteger必须0保密属性

枚举: 0,1

枚举备注: 0: 不涉密 1: 涉密

streamNuminteger非必须设备支持的编码流数
addressstring必须当为设备时,安装地址
ipAddressstring非必须设备/区域/系统IP地址
ipstring非必须设备/区域/系统IP地址
portinteger非必须设备/区域/系统端口
statusstring必须设备在线状态

枚举: ON,OFF

longitudenumber非必须经度,浮点型
latitudenumber非必须纬度,浮点型
certNumstring非必须证书序列号(有证书的设备必选)
certifiableinteger非必须0证书有效标识(有证书的设备必选)

枚举: 0,1

枚举备注: 0:无效 1:有效

errCodeinteger非必须无效原因码(有证书且证书无效的设备必选)
endTimestring非必须证书终止有效期(有证书的设备必选)
passwordstring非必须设备口令
charsetstring必须编码字符集

枚举: GB2312,UTF8,GB18030

ptzTypeinteger非必须摄像机类型扩展,标识摄像机类型(当目录项为摄像机时可选)

枚举: 1,2,3,4,5,6,7

枚举备注: 1: 球机 2: 半球 3: 固定枪机 4: 遥控枪机 5: 遥控半球 6: 多目设备的全景/拼接通道 7: 多目设备的分隔通道

positionTypeinteger非必须摄像机位置类型扩展(当目录项为摄像机时可选)

枚举: 1,2,3,4,5,6,7,8,9,10

枚举备注: 1: 省际检查站 2: 党政机关 3: 车站码头 4: 中心广场 5: 体育场馆 6: 商业中心 7: 宗教场所 8: 校园周边 9: 治安复杂区域 10: 交通干线

roomTypeinteger非必须摄像机安装位置属性(当目录项为摄像机时可选,缺省为1)

枚举: 1,2

枚举备注: 1: 室外 2: 室内

useTypeinteger非必须摄像机用途属性(当目录项为摄像机时可选)

枚举: 1,2,3

枚举备注: 1: 治安 2: 交通 3: 重点

supplyLightTypeinteger非必须摄像机补光属性(当目录项为摄像机时可选,缺省为1)

枚举: 1,2,3,4,9

枚举备注: 1: 无补光 2: 红外补光 3: 白光补光 4: 激光补光 9: 其他

directionTypeinteger非必须摄像机监视方位属性(当目录项为摄像机时且为固定摄像机或设置看守位摄像机时可选)

枚举: 1,2,3,4,5,6,7,8

枚举备注: 1: 东 2: 西 3: 南 4: 北 5: 东南 6: 东北 7: 西南 8: 西北

resolutionstring非必须摄像机支持的分辨率(当目录项为摄像机时可选),可有多个分辨率值,各个取值间以“/”分隔
businessGroupIdstring非必须虚拟组织所属的业务分组ID,业务分组根据特定的业务需求制定,一个业务分组包含一组特定的虚拟组织
downloadSpeedstring非必须下载倍速范围(可选),各可选参数以“/”分隔,如设备支持1,2,4倍速下载则应写为“1/2/4”
svcSpaceSupportModeinteger非必须空域编码能力

枚举: 0,1,2,3

枚举备注: 0: 不支持 1: 1级增强(1个增强层) 2: 2级增强(2个增强层) 3: 3级增强(3个增强层)

svcTimeSupportModeinteger非必须时域编码能力

枚举: 0,1,2,3

枚举备注: 0: 不支持 1: 1级增强 2: 2级增强 3: 3级增强

ssvcRatioSupportListstring非必须SSVC 增强层与基本层比例能力(可选),可多值,各个取值间以"/"分隔,如"4:3/2:1/4:1/6:1/8:1"等具体比例值一种或多种
streamNumberListstring非必须摄像机支持的码流编号列表,用于实时点播时指定码流编号(可选),可多值,各个取值间以"/"分隔,如"0/1/2",表示支持主码流/子码流1/子码流2,以此类推
photoelectricImagingTypestring非必须摄像机光电成像类型(当目录项为摄像机时可选),可多值,各个取值间以"/"分隔

枚举: 1,2,3,4,5,9

枚举备注: 1: 可见光成像 2: 热成像 3: 雷达成像 4: X光成像 5: 深度光场成像 9: 其他

capturePositionTypestring非必须摄像机采集部位类型(当目录项为摄像机时可选)
mobileDeviceTypeinteger非必须移动采集设备类型(仅移动采集设备适用,必选)

枚举: 1,2,3,4,5,9

枚举备注: 1: 移动机器人载摄像机 2: 执法记录仪 3: 移动单兵设备 4: 车载视频记录设备 5: 无人机载摄像机 9: 其他

horizontalFieldAnglenumber非必须摄像机水平视场角(可选),[0,360]度,浮点型
verticalFieldAnglenumber非必须摄像机竖直视场角(可选),[0,360]度,浮点型
maxViewDistancenumber非必须摄像机可视距离(可选),单位米,浮点型
grassrootsCodestring非必须基层组织编码(必选,非基层建设时为"000000")
pointTypeinteger非必须监控点位类型(当为摄像机时必选)

枚举: 1,2,3,9

枚举备注: 1: 一类视频监控点 2: 二类视频监控点 3: 三类视频监控点 9: 其他点位

pointCommonNamestring非必须点位俗称(可选),监控点位附近如有标志性建筑、场所或监控点位处于公众约定俗成的地点,可以填写标志性建筑名称和地点俗称
macstring非必须设备MAC地址(可选),用“XX-XX-XX-XX-XX-XX”格式表达,XX表示2位十六进制数
functionTypestring非必须摄像机卡口功能类型(当为摄像机时可选),可多值,各个取值间以"/"分隔

枚举: 01,02,03,04,05,99

枚举备注: 01: 人脸卡口 02: 人员卡口 03: 机动车卡口 04: 非机动车卡口 05: 物品卡口 99: 其他

encodeTypestring非必须摄像机视频编码格式(可选),取值应符合SDP f字段规定
installTimestring非必须摄像机安装使用时间,一类视频监控点必选;二类、三类可选
managementUnitstring非必须摄像机所属管理单位名称(可选)
contactInfostring非必须摄像机所属单位联系人的联系方式(电话号码,可多值,各个取值间以"/"分隔),一类视频监控点必选;二类、三类可选
recordSaveDaysinteger非必须录像保存天数(可选),一类视频监控点必选;二类、三类可选
industrialClassificationstring非必须国民经济行业分类代码(可选),代码见GB/T 4754第5章
deviceNamestring非必须设备名称
customNamestring非必须自定义名称
channelTypestring非必须通道类型

枚举: 0,1,2,3,4,5

枚举备注: 0: 一般设备通道 1: 平台设备 2: 行政区划 3: 业务分组 4: 虚拟组织 5: 其他

mediaTransmitstring必须流传输协议

枚举: UDP,TCP

securityLevelCodestring非必须GB35114 标识安全前端设备的安全等级(A、B 或 C)

枚举: A,B,C

isLocalboolean非必须GB35114是否本域设备,1表示本域,其他值或者无本条表示外域
subCountinteger非必须子节点数, 大于0表示该通道为子目录
subCountDeviceinteger非必须子设备通道
onlineSubCountinteger非必须在线子节点数
streamIdstring非必须流唯一编号,存在表示正在取实时流。目前没用到
sourceTypestring必须接入类型 ,国标(GB)还是非标(INGEST),默认GB

枚举: GB,INGEST

枚举备注: 国标 非标

ingestTypestring非必须非标接入协议类型

枚举: ONVIF,RTSP,RTMP,HLS,FLV,FILE

usernamestring非必须用户名 (可供非标设备使用)
streamUrlstring非必须流url (可供非标设备使用)
onvifUrlstring非必须摄像机接入ONVIF地址
streamLoopboolean非必须是否循环读取输入,对于非标自定义输入流有效
createTsnumber非必须创建时间
updateTsnumber非必须更新时间

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

更新设备通道

基本信息

Path: /api/v1/gb/device/{deviceId}/{channelId}/info

Method: PUT

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId 平台(如nvr)设备id
channelId 平台(如nvr)通道id

Query

参数名称 是否必须 示例 备注
deviceId 否 设备编号
channelId 否 通道编号

Body

名称类型是否必须默认值备注其他信息
deviceIdstring必须父设备/区域/系统ID
channelIdstring必须设备/区域/系统编码
namestring必须设备/区域/系统名称
manufacturerstring必须当为设备时,设备厂商
modelstring必须当为设备时,设备型号
ownerstring必须当为设备时,设备归属
civilCodestring必须行政区划码,取值为省级2位,市级4位,区县级6位,基层接入单位8位
blockstring非必须警区,若设备属于某组织机构下,应在此字段填写相应组织机构代码(符合GA/T 380-2011)
parentalinteger必须当为设备时,是否有子设备,1有,0没有
parentIdstring必须父设备/区域/系统ID,直接上级编号
safetyWayinteger非必须0信令安全模式

枚举: 0,2,3,4

枚举备注: 0: 不采用 2: S/MIME签名方式 3: S/MIME加密签名同时采用方式 4: 数字摘要方式

registerWayinteger必须1注册方式

枚举: 1,2,3

枚举备注: 1: 符合IETFRFC3261标准的认证注册模式 2: 基于口令的双向认证注册模式 3: 基于数字证书的双向认证注册模式

secrecyinteger必须0保密属性

枚举: 0,1

枚举备注: 0: 不涉密 1: 涉密

streamNuminteger非必须设备支持的编码流数
addressstring必须当为设备时,安装地址
ipAddressstring非必须设备/区域/系统IP地址
ipstring非必须设备/区域/系统IP地址
portinteger非必须设备/区域/系统端口
statusstring必须设备在线状态

枚举: ON,OFF

longitudenumber非必须经度,浮点型
latitudenumber非必须纬度,浮点型
certNumstring非必须证书序列号(有证书的设备必选)
certifiableinteger非必须0证书有效标识(有证书的设备必选)

枚举: 0,1

枚举备注: 0:无效 1:有效

errCodeinteger非必须无效原因码(有证书且证书无效的设备必选)
endTimestring非必须证书终止有效期(有证书的设备必选)
passwordstring非必须设备口令
charsetstring必须编码字符集

枚举: GB2312,UTF8,GB18030

ptzTypeinteger非必须摄像机类型扩展,标识摄像机类型(当目录项为摄像机时可选)

枚举: 1,2,3,4,5,6,7

枚举备注: 1: 球机 2: 半球 3: 固定枪机 4: 遥控枪机 5: 遥控半球 6: 多目设备的全景/拼接通道 7: 多目设备的分隔通道

positionTypeinteger非必须摄像机位置类型扩展(当目录项为摄像机时可选)

枚举: 1,2,3,4,5,6,7,8,9,10

枚举备注: 1: 省际检查站 2: 党政机关 3: 车站码头 4: 中心广场 5: 体育场馆 6: 商业中心 7: 宗教场所 8: 校园周边 9: 治安复杂区域 10: 交通干线

roomTypeinteger非必须摄像机安装位置属性(当目录项为摄像机时可选,缺省为1)

枚举: 1,2

枚举备注: 1: 室外 2: 室内

useTypeinteger非必须摄像机用途属性(当目录项为摄像机时可选)

枚举: 1,2,3

枚举备注: 1: 治安 2: 交通 3: 重点

supplyLightTypeinteger非必须摄像机补光属性(当目录项为摄像机时可选,缺省为1)

枚举: 1,2,3,4,9

枚举备注: 1: 无补光 2: 红外补光 3: 白光补光 4: 激光补光 9: 其他

directionTypeinteger非必须摄像机监视方位属性(当目录项为摄像机时且为固定摄像机或设置看守位摄像机时可选)

枚举: 1,2,3,4,5,6,7,8

枚举备注: 1: 东 2: 西 3: 南 4: 北 5: 东南 6: 东北 7: 西南 8: 西北

resolutionstring非必须摄像机支持的分辨率(当目录项为摄像机时可选),可有多个分辨率值,各个取值间以“/”分隔
businessGroupIdstring非必须虚拟组织所属的业务分组ID,业务分组根据特定的业务需求制定,一个业务分组包含一组特定的虚拟组织
downloadSpeedstring非必须下载倍速范围(可选),各可选参数以“/”分隔,如设备支持1,2,4倍速下载则应写为“1/2/4”
svcSpaceSupportModeinteger非必须空域编码能力

枚举: 0,1,2,3

枚举备注: 0: 不支持 1: 1级增强(1个增强层) 2: 2级增强(2个增强层) 3: 3级增强(3个增强层)

svcTimeSupportModeinteger非必须时域编码能力

枚举: 0,1,2,3

枚举备注: 0: 不支持 1: 1级增强 2: 2级增强 3: 3级增强

ssvcRatioSupportListstring非必须SSVC 增强层与基本层比例能力(可选),可多值,各个取值间以"/"分隔,如"4:3/2:1/4:1/6:1/8:1"等具体比例值一种或多种
streamNumberListstring非必须摄像机支持的码流编号列表,用于实时点播时指定码流编号(可选),可多值,各个取值间以"/"分隔,如"0/1/2",表示支持主码流/子码流1/子码流2,以此类推
photoelectricImagingTypestring非必须摄像机光电成像类型(当目录项为摄像机时可选),可多值,各个取值间以"/"分隔

枚举: 1,2,3,4,5,9

枚举备注: 1: 可见光成像 2: 热成像 3: 雷达成像 4: X光成像 5: 深度光场成像 9: 其他

capturePositionTypestring非必须摄像机采集部位类型(当目录项为摄像机时可选)
mobileDeviceTypeinteger非必须移动采集设备类型(仅移动采集设备适用,必选)

枚举: 1,2,3,4,5,9

枚举备注: 1: 移动机器人载摄像机 2: 执法记录仪 3: 移动单兵设备 4: 车载视频记录设备 5: 无人机载摄像机 9: 其他

horizontalFieldAnglenumber非必须摄像机水平视场角(可选),[0,360]度,浮点型
verticalFieldAnglenumber非必须摄像机竖直视场角(可选),[0,360]度,浮点型
maxViewDistancenumber非必须摄像机可视距离(可选),单位米,浮点型
grassrootsCodestring非必须基层组织编码(必选,非基层建设时为"000000")
pointTypeinteger非必须监控点位类型(当为摄像机时必选)

枚举: 1,2,3,9

枚举备注: 1: 一类视频监控点 2: 二类视频监控点 3: 三类视频监控点 9: 其他点位

pointCommonNamestring非必须点位俗称(可选),监控点位附近如有标志性建筑、场所或监控点位处于公众约定俗成的地点,可以填写标志性建筑名称和地点俗称
macstring非必须设备MAC地址(可选),用“XX-XX-XX-XX-XX-XX”格式表达,XX表示2位十六进制数
functionTypestring非必须摄像机卡口功能类型(当为摄像机时可选),可多值,各个取值间以"/"分隔

枚举: 01,02,03,04,05,99

枚举备注: 01: 人脸卡口 02: 人员卡口 03: 机动车卡口 04: 非机动车卡口 05: 物品卡口 99: 其他

encodeTypestring非必须摄像机视频编码格式(可选),取值应符合SDP f字段规定
installTimestring非必须摄像机安装使用时间,一类视频监控点必选;二类、三类可选
managementUnitstring非必须摄像机所属管理单位名称(可选)
contactInfostring非必须摄像机所属单位联系人的联系方式(电话号码,可多值,各个取值间以"/"分隔),一类视频监控点必选;二类、三类可选
recordSaveDaysinteger非必须录像保存天数(可选),一类视频监控点必选;二类、三类可选
industrialClassificationstring非必须国民经济行业分类代码(可选),代码见GB/T 4754第5章
deviceNamestring非必须设备名称
customNamestring非必须自定义名称
channelTypestring非必须通道类型

枚举: 0,1,2,3,4,5

枚举备注: 0: 一般设备通道 1: 平台设备 2: 行政区划 3: 业务分组 4: 虚拟组织 5: 其他

mediaTransmitstring必须流传输协议

枚举: UDP,TCP

securityLevelCodestring非必须GB35114 标识安全前端设备的安全等级(A、B 或 C)

枚举: A,B,C

isLocalboolean非必须GB35114是否本域设备,1表示本域,其他值或者无本条表示外域
subCountinteger非必须子节点数, 大于0表示该通道为子目录
subCountDeviceinteger非必须子设备通道
onlineSubCountinteger非必须在线子节点数
streamIdstring非必须流唯一编号,存在表示正在取实时流。目前没用到
sourceTypestring必须接入类型 ,国标(GB)还是非标(INGEST),默认GB

枚举: GB,INGEST

枚举备注: 国标 非标

ingestTypestring非必须非标接入协议类型

枚举: ONVIF,RTSP,RTMP,HLS,FLV,FILE

usernamestring非必须用户名 (可供非标设备使用)
streamUrlstring非必须流url (可供非标设备使用)
onvifUrlstring非必须摄像机接入ONVIF地址
streamLoopboolean非必须是否循环读取输入,对于非标自定义输入流有效
createTsnumber非必须创建时间
updateTsnumber非必须更新时间

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

删除设备通道

基本信息

Path: /api/v1/gb/device/{deviceId}/channels

Method: DELETE

接口描述:

删除设备通道代表删除掉已经存在的设备通道,当删除掉设备通道后,设备通道可以重新添加到系统。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId 设备ID

Body

名称类型是否必须默认值备注其他信息
string []必须通道ID列表

item 类型: string

├─ 非必须通道ID

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

同步更新设备通道

基本信息

Path: /api/v1/gb/device/{deviceId}/sync

Method: GET

接口描述:

如果有正在同步通道的任务存在则直接返回,如果没有正在同步通道的任务存在则立即发送查询设备通道。

请求参数

路径参数

参数名称 示例 备注
deviceId 平台(如nvr)设备id

Query

参数名称 是否必须 示例 备注
startTime 否 增加设备的起始时间(可选),空表示不限,格式:YYYY-MM-DDTHH:mm:ss
endTime 否 增加设备的终止时间(可选),空表示到当前时间,格式:YYYY-MM-DDTHH:mm:ss
update 否 是否强制实时更新设备通道,默认0

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ suminteger必须总数
├─ curinteger必须当前已同步更新数
├─ statusstring必须同步状态

枚举: READY,START,END

枚举备注: READY: 就绪 START: 开始 END: 结束

├─ msgstring必须描述信息

枚举: ON,OFF

msgstring必须

获取设备配置信息

基本信息

Path: /api/v1/gb/device/{deviceId}/config

Method: GET

接口描述:

其中:videoAttr、recordPlan、alarmRecord、picMask、frameMirror、alarmReport、osd、snapshot 这几个配置项是 GB-T28181 2022 版本新增项。

请求参数

路径参数

参数名称 示例 备注
deviceId 平台(如nvr)设备id

Query

参数名称 是否必须 示例 备注
type 否 配置类型, 1/2/3/4 可一个或多个数字组合的字符串,默认值1
update 否 是否请求设备获取配置更新,默认0
channelId 否 通道编号

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ basicobject非必须基本参数
├─ namestring非必须设备名称
├─ expiryinteger非必须注册过期时间
├─ heartBeatIntervalinteger非必须心跳间隔时间
├─ heartBeatCountinteger非必须心跳超时次数
├─ posCapabilityinteger非必须0定位功能支持情况

枚举: 0,1,2

枚举备注: 0:不支持 1:支持GPS 2:支持北斗

├─ longitudenumber非必须经度,浮点值
├─ latitudenumber非必须纬度,浮点值
├─ videoOptobject非必须视频参数范围配置
├─ downloadSpeedstring非必须下载倍速范围,如设备支持1,2,4倍速下载则应写为 1/2/4
├─ resolutionstring非必须摄像机支持的分辨率,可有多个分辨率值
├─ svacEncodeobject非必须svac编码参数
├─ svacDecodeobject非必须svac解码参数
├─ videoAttrobject非必须视频参数属性
├─ recordPlanobject非必须录像计划配置
├─ alarmRecordobject非必须报警录像配置
├─ picMaskobject非必须视频画面遮挡配置
├─ frameMirrorobject非必须画面翻转配置
├─ alarmReportobject非必须报警上报开关配置
├─ osdobject非必须OSD 配置
├─ snapshotobject非必须图像抓拍配置
msgstring必须

获取设备状态

基本信息

Path: /api/v1/gb/device/{deviceId}/{channelId}/status

Method: GET

接口描述:

等同于此接口:/api/v1/gb/device/{deviceId}/status?channelId={channelId}

请求参数

路径参数

参数名称 示例 备注
deviceId 平台(如nvr)设备id
channelId 设备下的通道id

Query

参数名称 是否必须 示例 备注
update 否 是否请求设备获取状态更新,默认0

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ onlinestring必须设备是否在线

枚举: ONLINE,OFFLINE

枚举备注:

├─ statusstring必须设备状态

枚举: OK,ERROR

├─ encodestring非必须设备是否编码

枚举: ON,OFF

├─ recordstring非必须设备是否录制

枚举: ON,OFF

├─ timestring非必须设备时间,YYYY-MM-DDTHH:mm:ss
├─ alarmStatusobject非必须报警状态
├─ alarmStatusobject []非必须报警设备状态列表

item 类型: object

├─ deviceIdstring必须报警设备编码
├─ statusstring必须报警设备状态

枚举: ONDUTY,OFFDUTY,ALARM

├─ numinteger必须报警设备状态列表个数
├─ reasonstring非必须不正常工作原因
msgstring必须

获取设备和通道统计信息

基本信息

Path: /api/v1/gb/device/stats

Method: GET

接口描述:

请求参数

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ gbobject必须国标状态信息
├─ onlineChannelnumber必须在线通道数,long型
├─ totalChannelnumber必须总通道数,long型
├─ onlineDevicenumber必须在线设备数,long型
├─ totalDevicenumber必须总设备数,long型
├─ nbobject必须非标状态信息
├─ onlineChannelnumber必须在线通道数,long型
├─ totalChannelnumber必须总通道数,long型
├─ onlineDevicenumber必须在线设备数,long型
├─ totalDevicenumber必须总设备数,long型
msgstring必须

设置设备订阅周期

基本信息

Path: /device/{deviceId}/subscribeInterval

Method: PUT

接口描述:

请求参数

路径参数

参数名称 示例 备注
deviceId

Query

参数名称 是否必须 示例 备注
subscribeInterval 否 订阅周期(秒)
catalogInterval 否 通道目录抓取周期(秒)

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须设置是否成功
msgstring必须

获取设备历史视频回放记录(时间间隔)

基本信息

Path: /api/v1/gb/device/{deviceId}/{channelId}/record/times

Method: POST

接口描述:

获取平台指定设备的历史视频信息,如果startTime和endTime不填,则获取近一年的所有历史记录
等同于此接口:/api/v1/gb/device/{deviceId}/record/times?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
startTimenumber非必须录像开始时间,YYYY-MM-DDTHH:mm:ss
endTimenumber非必须录像开始时间,YYYY-MM-DDTHH:mm:ss
filePathstring非必须文件路径名
addressstring非必须录像地址
secrecyinteger必须0保密属性

枚举: 0,1

枚举备注: 0:不涉密 1:涉密

typestring非必须all录像产生类型

枚举: all,time,alarm,manual

枚举备注: all:所有 time:定时录像 alarm:报警录像 manual:手动录像

recorderIDstring非必须录像触发者ID
indistinctQuerystring非必须0录像模糊查询属性

枚举: 0,1

枚举备注: 0: 不进行模糊查询,此时根据SIP消息中To头域URI中的ID值确定查询录像位置,若ID值为本域系统ID则进行中心历史记录检索,若为前端设备ID则进行前端设备历史记录检索 1: 进行模糊查询,此时设备所在域应同时进行中心检索和前端检索并将结果统一返回

streamNumberinteger非必须码流编号,0:主码流; 1:子码流1; 2:子码流2; 以此类推
alarmMethodstring非必须报警方式条件,0-全部;1-电话报警;2-设备报警;3-短信报警;4-GPS报警:5-视频报警;6-设备故障报警;7-其他报警; 可以为直接组合如1/2为电话报警或设备报警
alarmTypestring非必须报警类型

枚举: 1,2,3,4,5,6,7,8,9,10,11,12,13

枚举备注: 1: 人工视频报警 2: 运动目标检测报警 3: 遗留物检测报警 4: 物体移除检测报警 5: 绊线检测报警 6: 入侵检测报警 7: 逆行检测报警 8: 徘徊检测报警 9: 流量统计报警 10: 密度检测报警 11: 视频异常检测报警 12: 快速移动报警 13: 图像遮挡报警

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject []必须

item 类型: object

├─ startTimenumber必须录像开始时间(秒),如YYYY-MM-DDTHH:mm:ss转换成long型
├─ endTimenumber必须录像结束时间(秒),如YYYY-MM-DDTHH:mm:ss转换成long型
msgstring必须

获取设备历史视频回放记录(录像信息)

基本信息

Path: /api/v1/gb/device/{deviceId}/{channelId}/record/infos

Method: POST

接口描述:

获取平台指定设备的历史视频信息,如果startTime和endTime不填,则获取近一年的所有历史记录
等同于此接口:/api/v1/gb/device/{deviceId}/record/infos?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
startTimestring非必须录像开始时间,YYYY-MM-DDTHH:mm:ss
endTimestring非必须录像结束时间,YYYY-MM-DDTHH:mm:ss
filePathstring非必须文件路径名
addressstring非必须录像地址
secrecyinteger必须0保密属性

枚举: 0,1

枚举备注: 0:不涉密 1:涉密

typestring非必须all录像产生类型

枚举: all,time,alarm,manual

枚举备注: all:所有 time:定时录像 alarm:报警录像 manual:手动录像

recorderIDstring非必须录像触发者ID
indistinctQuerystring非必须0录像模糊查询属性

枚举: 0,1

枚举备注: 0:不进行模糊查询,此时根据SIP消息中To头域URI中的ID值确定查询录像位置,若ID值为本域系统ID则进行中心历史记录检索,若为前端设备ID则进行前端设备历史记录检索 1:进行模糊查询,此时设备所在域应同时进行中心检索和前端检索并将结果统一返回

streamNumberinteger非必须码流编号,0:主码流; 1:子码流1; 2:子码流2; 以此类推
alarmMethodstring非必须报警方式条件,0-全部;1-电话报警;2-设备报警;3-短信报警;4-GPS报警:5-视频报警;6-设备故障报警;7-其他报警; 可以为直接组合如1/2为电话报警或设备报警
alarmTypestring非必须报警类型

枚举: 1,2,3,4,5,6,7,8,9,10,11,12,13

枚举备注: 1: 人工视频报警 2: 运动目标检测报警 3: 遗留物检测报警 4: 物体移除检测报警 5: 绊线检测报警 6: 入侵检测报警 7: 逆行检测报警 8: 徘徊检测报警 9: 流量统计报警 10: 密度检测报警 11: 视频异常检测报警 12: 快速移动报警 13: 图像遮挡报警

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject []必须

item 类型: object

├─ startTimestring非必须录像开始时间,YYYY-MM-DDTHH:mm:ss
├─ endTimestring非必须录像结束时间,YYYY-MM-DDTHH:mm:ss
├─ filePathstring非必须文件路径名
├─ addressstring非必须录像地址
├─ secrecyinteger必须保密属性
├─ typestring非必须录像产生类型
├─ recorderIDstring非必须录像触发者ID
├─ namestring必须设备/区域名称
├─ fileSizenumber非必须录像文件大小Byte
├─ deviceIdstring必须目录设备/视频监控联网系统/区域编码
├─ recordLocationstring非必须存储录像文件的设备/系统编码 (模糊查询时必选)
msgstring必须

检验设备历史视频回放是否存在

基本信息

Path: /api/v1/gb/device/{deviceId}/{channelId}/record/check

Method: POST

接口描述:

检查指定的平台对应的设备历史信息是否存在,精确输入startTime和endTime,不在历史区间内的则检查失败
等同于此接口:/api/v1/gb/device/{deviceId}/record/check?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
startTimestring非必须录像开始时间,YYYY-MM-DDTHH:mm:ss
endTimestring非必须录像结束时间,YYYY-MM-DDTHH:mm:ss
filePathstring非必须文件路径名
addressstring非必须录像地址
secrecyinteger必须0保密属性

枚举: 0,1

枚举备注: 0:不涉密 1:涉密

typestring非必须all录像产生类型

枚举: all,time,alarm,manual,

枚举备注: all:所有 time:定时录像 alarm:报警录像 manual:手动录像

recorderIDstring非必须录像触发者ID
indistinctQuerystring非必须0录像模糊查询属性

枚举: 0,1

枚举备注: 0:不进行模糊查询,此时根据SIP消息中To头域URI中的ID值确定查询录像位置,若ID值为本域系统ID则进行中心历史记录检索,若为前端设备ID则进行前端设备历史记录检索 1:进行模糊查询,此时设备所在域应同时进行中心检索和前端检索并将结果统一返回

streamNumberinteger非必须码流编号,0:主码流; 1:子码流1; 2:子码流2; 以此类推
alarmMethodstring非必须报警方式条件,0-全部;1-电话报警;2-设备报警;3-短信报警;4-GPS报警:5-视频报警;6-设备故障报警;7-其他报警; 可以为直接组合如1/2为电话报警或设备报警
alarmTypestring非必须报警类型

枚举: 1,2,3,4,5,6,7,8,9,10,11,12,13

枚举备注: 1: 人工视频报警 2: 运动目标检测报警 3: 遗留物检测报警 4: 物体移除检测报警 5: 绊线检测报警 6: 入侵检测报警 7: 逆行检测报警 8: 徘徊检测报警 9: 流量统计报警 10: 密度检测报警 11: 视频异常检测报警 12: 快速移动报警 13: 图像遮挡报警

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须录像是否存在
msgstring必须

订阅通道目录信息

基本信息

Path: /api/v1/gb/device/{deviceId}/catalog

Method: GET

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId

Query

参数名称 是否必须 示例 备注
channelId 否 通道ID
interval 否 订阅间隔

Body

名称类型是否必须默认值备注其他信息
startPrioritystring非必须0报警起始级别

枚举: 0,1,2,3,4

枚举备注: 0: 全部 1: 一级警情 2: 二级警情 3: 三级警情 4: 四级警情

endPrioritystring非必须0报警终止级别

枚举: 0,1,2,3,4

枚举备注: 0: 全部 1: 一级警情 2: 二级警情 3: 三级警情 4: 四级警情

methodstring非必须0报警方式,可以为直接组合如12为电话报警或设备报警

枚举: 0,1,2,3,4,5,6,7

枚举备注: 0: 全部 1: 电话报警 2: 设备报警 3: 短信报警 4: GPS报警 5: 视频报警 6: 设备故障报警 7: 其他报警

typestring非必须报警类型
startTimestring非必须报警发生开始时间,YYYY-MM-DDTHH:mm:ss
endTimestring非必须报警发生结束时间YYYY-MM-DDTHH:mm:ss
intervalinteger非必须5报警上报间隔

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

订阅通道报警信息

基本信息

Path: /api/v1/gb/device/{deviceId}/{channelId}/alarms

Method: POST

接口描述:

等同于此接口:/api/v1/gb/device/{deviceId}/alarms?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Query

参数名称 是否必须 示例 备注
isSubscribe 否 是否是订阅还是获取报警,默认true为订阅报警

Body

名称类型是否必须默认值备注其他信息
startPrioritystring非必须0报警起始级别

枚举: 0,1,2,3,4

枚举备注: 0: 全部 1: 一级警情 2: 二级警情 3: 三级警情 4: 四级警情

endPrioritystring非必须0报警终止级别

枚举: 0,1,2,3,4

枚举备注: 0: 全部 1: 一级警情 2: 二级警情 3: 三级警情 4: 四级警情

methodstring非必须0报警方式,可以为直接组合如12为电话报警或设备报警

枚举: 0,1,2,3,4,5,6,7

枚举备注: 0: 全部 1: 电话报警 2: 设备报警 3: 短信报警 4: GPS报警 5: 视频报警 6: 设备故障报警 7: 其他报警

typestring非必须报警类型
startTimestring非必须报警发生开始时间,YYYY-MM-DDTHH:mm:ss
endTimestring非必须报警发生结束时间YYYY-MM-DDTHH:mm:ss
intervalinteger非必须5报警上报间隔

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

订阅设备移动位置

基本信息

Path: /api/v1/gb/device/{deviceId}/{channelId}/mobileposition

Method: GET

接口描述:

只有支持移动位置订阅的设备才可以使用此接口。
等同于此接口:/api/v1/gb/device/{deviceId}/mobileposition?channelId={channelId} 或 /api/v1/gb/device/{deviceId}/mobilepos?channelId={channelId}

请求参数

路径参数

参数名称 示例 备注
deviceId
channelId

Query

参数名称 是否必须 示例 备注
interval 否 默认值5,为0时取消订阅

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否订阅成功
msgstring必须

获取设备预置位信息

基本信息

Path: /api/v1/gb/device/{deviceId}/{channelId}/preset

Method: GET

接口描述:

等同于此接口:/api/v1/gb/device/{deviceId}/preset?channelId={channelId}

请求参数

路径参数

参数名称 示例 备注
deviceId
channelId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject []必须

item 类型: object

├─ presetIdstring必须预置位编码

最大长度: 255

最小长度: 1

├─ presetNamestring必须预置位名称
msgstring必须

获取设备看守位信息(v2022 新增)

基本信息

Path: /api/v1/gb/device/{deviceId}/{channelId}/homepos

Method: GET

接口描述:

等同于此接口:/api/v1/gb/device/{deviceId}/homepos?channelId={channelId}

请求参数

路径参数

参数名称 示例 备注
deviceId
channelId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ enabledinteger必须看守位使能 1:开启,0:关闭
├─ resetTimeinteger非必须自动归位时间间隔(秒),开启看守位时使用
├─ presetIndexinteger非必须调用预置位编号,开启看守位时使用

最大值: 255

最小值: 0

msgstring必须

获取设备巡航轨迹列表信息(v2022 新增)

基本信息

Path: /api/v1/gb/device/{deviceId}/{channelId}/cruisetracks

Method: GET

接口描述:

等同于此接口:/api/v1/gb/device/{deviceId}/cruisetracks?channelId={channelId}

请求参数

路径参数

参数名称 示例 备注
deviceId
channelId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject []必须

item 类型: object

├─ numberinteger必须轨迹编号,0:第一条轨迹;1:第二条轨迹
├─ namestring非必须轨迹名称,最长32字节
msgstring必须

获取设备巡航轨迹信息(v2022 新增)

基本信息

Path: /api/v1/gb/device/{deviceId}/{channelId}/cruisetrack

Method: GET

接口描述:

等同于此接口:/api/v1/gb/device/{deviceId}/cruisetrack?channelId={channelId}

请求参数

路径参数

参数名称 示例 备注
deviceId
channelId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject []必须

item 类型: object

├─ presetIndexinteger必须预置位编号
├─ stayTimeinteger必须预置点停留时间,单位秒
├─ speedinteger必须云台速度

最大值: 15

最小值: 1

msgstring必须

获取设备PTZ精准状态信息(v2022 新增)

基本信息

Path: /api/v1/gb/device/{deviceId}/{channelId}/ptzpos

Method: GET

接口描述:

等同于此接口:/api/v1/gb/device/{deviceId}/ptzpos?channelId={channelId}

请求参数

路径参数

参数名称 示例 备注
deviceId
channelId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ pannumber非必须PTZ设置的水平角度,一般取值 0~360.00 度,浮点型
├─ tiltnumber非必须PTZ设置的垂直角度,一般取值 -30.00~90.00 度,浮点型
├─ zoomnumber非必须PTZ设置的变焦倍数,取值一般大于1.00,浮点型
├─ horizontalFieldAnglenumber非必须摄像机水平视场角,浮点型
├─ verticalFieldAnglenumber非必须摄像机竖直视场角,浮点型
├─ maxViewDistancenumber非必须摄像机可视距离,浮点型
msgstring必须

获取设备存储卡状态信息(v2022 新增)

基本信息

Path: /api/v1/gb/device/{deviceId}/{channelId}/sdcard

Method: GET

接口描述:

等同于此接口:/api/v1/gb/device/{deviceId}/sdcard?channelId={channelId}

请求参数

路径参数

参数名称 示例 备注
deviceId
channelId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject []必须

item 类型: object

├─ idinteger必须SD卡号
├─ hddNamestring非必须SD卡名称
├─ statusstring非必须状态

枚举: ok,formatting,unformatted,idle,error

枚举备注: ok: 正常 formatting: 格式化 unformatted: 未格式化 idle: 空闲 error: 错误

├─ formatProgressinteger非必须格式化进度百分比

最大值: 100

最小值: 0

├─ capacityinteger非必须存储容量,单位:MB
├─ freeSpaceinteger非必须剩余存储容量,单位:MB
msgstring必须

设置国密设备注册方向(GB35114)

基本信息

Path: /device/{deviceId}/regdirection

Method: PUT

接口描述:

必须先设置国密设备证书且成功后,此接口方可生效。

请求参数

路径参数

参数名称 示例 备注
deviceId

Query

参数名称 是否必须 示例 备注
direction 否 单向(true)还是双向(false)注册,默认true

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须设置是否成功
msgstring必须

获取设备vkek信息(GB35114)

基本信息

Path: /api/v1/gb/device/{deviceId}/{channelId}/vkek

Method: POST

接口描述:

等同于此接口:/api/v1/gb/device/{deviceId}/vkek?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
startTimestring必须开始时间,实时点播获取密文取值为 Now;回放获取密文值为录像开始时间(如2019-07-31T10:28:47.000)
endTimestring必须结束时间,实时点播获取密文取值为 Now;回放获取密文值为录像结束时间(如2019-08-01T10:29:26.000)
policeNostring非必须警号
idCardNostring非必须身份证号
decoderIdstring非必须解码器ID

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject []必须

item 类型: object

├─ deviceIdstring必须媒体流接收者设备ID
├─ timestring非必须VKEK产生时间(如2019-07-31 10:28:47)
├─ versionstring非必须VKEK版本号(如2019-07-31 10:28:47)
├─ vkekstring非必须使用用户证书加密后的VKEK
├─ widinteger非必须客户端窗口ID
├─ sourceIdstring非必须媒体流发送者设备ID
msgstring必须

设备控制

设备配置

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/config

Method: POST

接口描述:

等同于此接口:/api/v1/gb/control/{deviceId}/config?channelId={channelId}
其中:videoAttr、recordPlan、alarmRecord、picMask、frameMirror、alarmReport、osd、snapshot 这几个配置项是 GB-T28181 2022 版本新增项。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
basicobject非必须基本参数
├─ namestring非必须设备名称
├─ expiryinteger非必须注册过期时间
├─ heartBeatIntervalinteger非必须心跳间隔时间
├─ heartBeatCountinteger非必须心跳超时次数
svacEncodeobject非必须svac编码参数
svacDecodeobject非必须svac解码参数
videoAttrobject非必须视频参数属性
recordPlanobject非必须录像计划配置
alarmRecordobject非必须报警录像配置
picMaskobject非必须视频画面遮挡配置
frameMirrorobject非必须画面翻转配置
alarmReportobject非必须报警上报开关配置
osdobject非必须OSD 配置
snapshotobject非必须图像抓拍配置

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

ptz云台控制(老接口)

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/ptz

Method: POST

接口描述:

云台控制发送了消息(上下/左右/缩放),相机会一直不断的执行,直到其他命令或者发送了停止命令(停止:所有请求参数都设置为0)
等同于此接口:/api/v1/gb/control/{deviceId}/ptz?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
leftRightinteger非必须0镜头左移右移 0:停止 1:左移 2:右移
upDowninteger非必须0镜头上移下移 0:停止 1:上移 2:下移
zoomInOutinteger非必须0镜头放大缩小 0:停止 1:缩小 2:放大
moveSpeedinteger非必须255镜头移动速度

最大值: 255

最小值: 0

zoomSpeedinteger非必须1镜头缩放速度

最大值: 255

最小值: 0

prioritystring非必须5优先级

最大长度: 255

最小长度: 0

返回数据

名称类型是否必须默认值备注其他信息
codeinteger非必须
datastring非必须PtzCmd值
msgstring非必须

ptz云台控制

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/ptzcmd

Method: POST

接口描述:

云台控制发送了消息(上下/左右/缩放),相机会一直不断的执行,直到其他命令或者发送了停止命令
等同于此接口:/api/v1/gb/control/{deviceId}/ptzcmd?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
cmdstring必须ptz 控制命令,stop代表停止

枚举: up,left,down,right,upleft,upright,downleft,downright,zoomin,zoomout,stop

枚举备注: up: 向上 left: 向左 down: 向下 right: 向右 upleft: 向上左 upright: 向上右 downleft: 向下左 downright: 向下右 zoomin: 调焦放大 zoomout: 调焦缩小 stop: 停止

speedinteger非必须129镜头移动速度

最大值: 255

最小值: 0

priorityinteger非必须5优先级

最大值: 255

最小值: 0

返回数据

名称类型是否必须默认值备注其他信息
codeinteger非必须
datastring非必须PtzCmd值
msgstring非必须

ptz焦点光圈控制

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/fi

Method: POST

接口描述:

云台控制发送了消息,相机会一直不断的执行,直到其他命令或者发送了停止命令
等同于此接口:/api/v1/gb/control/{deviceId}/fi?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
cmdstring必须ptz 控制命令,stop代表停止

枚举: focusnear,focusfar,irisin,irisout,stop

枚举备注: focusnear: 聚焦拉近 focusfar: 聚焦伸远 irisin: 光圈放大 irisout: 光圈缩小 stop: 停止

speedinteger非必须129镜头移动速度

最大值: 255

最小值: 0

priorityinteger非必须5优先级

最大值: 255

最小值: 0

返回数据

名称类型是否必须默认值备注其他信息
codeinteger非必须
datastring非必须PtzCmd值
msgstring非必须

ptz预置位控制

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/preset

Method: POST

接口描述:

等同于此接口:/api/v1/gb/control/{deviceId}/preset?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
cmdstring必须ptz 控制命令

枚举: set,goto,remove

枚举备注: set: 设置预置位 goto: 调用预置位 remove: 删除预置位

idinteger必须129预置位编号(1-255)

最大值: 255

最小值: 0

namestring非必须5预置位名称, cmd=set 时有效

最大长度: 255

最小长度: 0

priorityinteger非必须5优先级

最大值: 255

最小值: 0

返回数据

名称类型是否必须默认值备注其他信息
codeinteger非必须
datastring非必须PtzCmd值
msgstring非必须

ptz巡航控制

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/cruise

Method: POST

接口描述:

云台控制发送了消息,相机会一直不断的执行,直到其他命令或者发送了停止命令
等同于此接口:/api/v1/gb/control/{deviceId}/cruise?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
cmdstring必须ptz 控制命令,stop代表停止

枚举: add,remove,setspeed,settime,start,stop

枚举备注: add: 加入巡航点 remove: 删除一个巡航点 setspeed: 设置巡航速度 settime: 设置巡航停留时间 start: 开始巡航 stop: 停止巡航

groupIdinteger非必须巡航组编号, 适用于 add, remove, setspeed, setstay, start

最大值: 255

最小值: 1

idinteger非必须预置位编号, 适用于 add, remove, 当 cmd=remove 且 id=0 时, 表示删除 groupId 对应的整条巡航

最大值: 255

最小值: 0

speedinteger非必须129镜头移动速度

最大值: 255

最小值: 0

timeinteger非必须巡航停留时间

最大值: 4095

最小值: 1

priorityinteger非必须5优先级

最大值: 255

最小值: 0

返回数据

名称类型是否必须默认值备注其他信息
codeinteger非必须
datastring非必须PtzCmd值
msgstring非必须

ptz扫描控制

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/scan

Method: POST

接口描述:

云台控制发送了消息,相机会一直不断的执行,直到其他命令或者发送了停止命令
等同于此接口:/api/v1/gb/control/{deviceId}/scan?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
cmdstring必须ptz 控制命令,stop代表停止

枚举: start,setleft,setright,setspeed,stop

枚举备注: start: 开始自动扫描 setleft: 设置自动扫描左边界 setright: 设置自动扫描右边界 setspeed: 设置自动扫描速度 stop: 停止自动扫描

groupIdstring必须扫描组号

最大长度: 255

最小长度: 0

speedinteger非必须129镜头移动速度

最大值: 255

最小值: 0

priorityinteger非必须5优先级

最大值: 255

最小值: 0

返回数据

名称类型是否必须默认值备注其他信息
codeinteger非必须
datastring非必须PtzCmd值
msgstring非必须

ptz雨刷控制

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/wiper

Method: POST

接口描述:

云台控制发送了消息,相机会一直不断的执行,直到其他命令或者发送了停止命令
等同于此接口:/api/v1/gb/control/{deviceId}/wiper?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
cmdstring必须ptz 控制命令

枚举: on,off

priorityinteger非必须5优先级

最大值: 255

最小值: 0

返回数据

名称类型是否必须默认值备注其他信息
codeinteger非必须
datastring非必须PtzCmd值
msgstring非必须

ptz补光灯控制

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/filllight

Method: POST

接口描述:

等同于此接口:/api/v1/gb/control/{deviceId}/filllight?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
cmdstring必须ptz 控制命令

枚举: on,off

prioritystring非必须5优先级

最大长度: 255

最小长度: 0

返回数据

名称类型是否必须默认值备注其他信息
codeinteger非必须
datastring非必须PtzCmd值
msgstring非必须

回放控制

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/playback

Method: POST

接口描述:

等同于此接口:/api/v1/gb/control/{deviceId}/playback?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
streamIdstring必须对应取流的唯一streamId
methodstring必须控制命令

枚举: PLAY,PAUSE,TEARDOWN

typestring非必须range类型,默认NPT

枚举: NPT,SMPTE,CLOCK

startTimestring非必须播放录像起点相对值, 不能为负值, 单位秒
timestring非必须代表 SMPTE / UTC 附带的time, 或者代表PauseTime取值固定为"now", 表示视频停止在当前位置
scalenumber非必须播放速度,double类型,如:0.25 0.5 1 2 4。值为1表示正常播放速度; 0.5表示一半播放速度; 2表示2倍播放速度; 负值表示反方向播放。请求头中包含的速度如果超出了服务器允许范围,则在反馈头中会给出实际速度.

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

录像控制

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/record

Method: GET

接口描述:

控制设备本身的录像开启和关闭
等同于此接口:/api/v1/gb/control/{deviceId}/record?channelId={channelId}&start={startOrStop}

请求参数

路径参数

参数名称 示例 备注
deviceId
channelId

Query

参数名称 是否必须 示例 备注
start 否 开始或者停止录制,默认true表示开始
streamNumber 否 0:主码流; 1:子码流1; 2:子码流2; 以此类推

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

拉框放大

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/dragzoomin

Method: POST

接口描述:

等同于此接口:/api/v1/gb/control/{deviceId}/dragzoomin?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
lengthinteger必须播放窗口长度像素值
widthinteger必须播放窗口宽度像素值
midPointXinteger必须拉框中心的横轴坐标像素值
midPointYinteger必须拉框中心的纵轴坐标像素值
lengthXinteger必须拉框长度像素值
lengthYinteger必须拉框宽度像素值

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

拉框缩小

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/dragzoomout

Method: POST

接口描述:

等同于此接口:/api/v1/gb/control/{deviceId}/dragzoomout?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
lengthinteger必须播放窗口长度像素值
widthinteger必须播放窗口宽度像素值
midPointXinteger必须拉框中心的横轴坐标像素值
midPointYinteger必须拉框中心的纵轴坐标像素值
lengthXinteger必须拉框长度像素值
lengthYinteger必须拉框宽度像素值

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

设备看守位控制

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/homepos

Method: POST

接口描述:

等同于此接口:/v1/gb/control/{deviceId}/{channelId}/homeposition 或 /api/v1/gb/control/{deviceId}/homeposition?channelId={channelId} 或 /api/v1/gb/control/{deviceId}/homepos?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
enabledstring必须看守位使能
resetTimestring非必须自动归位时间间隔(秒),开启看守位时使用
presetIndexstring非必须调用预置位编号,开启看守位时使用

最大长度: 255

最小长度: 0

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

布防和撤防

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/guard

Method: GET

接口描述:

等同于此接口:/api/v1/gb/control/{deviceId}/guard?channelId={channelId}

请求参数

路径参数

参数名称 示例 备注
deviceId
channelId

Query

参数名称 是否必须 示例 备注
start 否 布防或撤防,默认true表示布防,false表示撤防

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

强制关键帧

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/iframe

Method: GET

接口描述:

等同于此接口:/api/v1/gb/control/{deviceId}/iframe?channelId={channelId}

请求参数

路径参数

参数名称 示例 备注
deviceId
channelId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

报警复位

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/alarmreset

Method: GET

接口描述:

等同于此接口:/api/v1/gb/control/{deviceId}/alarmreset?channelId={channelId}&method={method}&type={type}

请求参数

路径参数

参数名称 示例 备注
deviceId
channelId

Query

参数名称 是否必须 示例 备注
method 否 报警方式条件(可选),取值0为全部,1为电话报警,2为设备报警,3为短信报警,4为GPS报警,5为视频报警,6为设备故障报警,7其他报警;可以为直接组合如12为电话报警或设备报警
type 否 * 报警类型(AlarmType):
* 报警方式为2时,不携带AlarmType为默认的报警设备报警,携带AlarmType取值及对应报警类型如下:
* 1-视频丢失报警;2-设备防拆报警;3-存储设备磁盘满报警;4-设备高温报警;5-设备低温报警
* !!!注意: 平台需进行A.2.3a)"报警复位"控制操作,设备才能发送新的"设备报警"通知
* 报警方式为5时,取值为: VideoAlarmType
* 报警方式为6时,取值为: DefectAlarmType

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

远程启动

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/teleboot

Method: GET

接口描述:

等同于此接口:/api/v1/gb/control/{deviceId}/teleboot?channelId={channelId}

请求参数

路径参数

参数名称 示例 备注
deviceId
channelId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

PTZ 精准位置控制(v2022 新增)

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/ptzpos

Method: POST

接口描述:

等同于此接口:/api/v1/gb/control/{deviceId}/{channelId}/ptzposition 或 /api/v1/gb/control/{deviceId}/ptzposition?channelId={channelId} 或 /api/v1/gb/control/{deviceId}/ptzpos?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
pannumber非必须设定云台水平角度,0~360.00 度,浮点型
tiltnumber非必须设定云台垂直角度,一般取值 -30.00~90.00 度,浮点型
zoomnumber非必须设定云台变焦倍数,取值一般大于1.00,浮点型

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

存储卡格式化控制 (v2022 新增)

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/formatsdcard

Method: GET

接口描述:

等同于此接口:/api/v1/gb/control/{deviceId}/formatsdcard?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Query

参数名称 是否必须 示例 备注
sdcardId 否 SD卡编号,从1开始,为0时格式化所有

Body

名称类型是否必须默认值备注其他信息
pannumber非必须设定云台水平角度,0~360.00 度,浮点型
tiltnumber非必须设定云台垂直角度,一般取值 -30.00~90.00 度,浮点型
zoomnumber非必须设定云台变焦倍数,取值一般大于1.00,浮点型

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

目标跟踪控制 (v2022 新增)

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/targettrack

Method: POST

接口描述:

等同于此接口:/api/v1/gb/control/{deviceId}/targettrack?channelId={channelId}
注:

targetTrack:
    全景摄像机球机画面中目标进行自动及手动跟踪控制命令。
    手动跟踪: 在平台端全景画面上进行框选时,平台会将目标框的具体坐标发送给设备,设备中的球机根据该坐标执行跟踪动作。
        由于平台与设备画面比例大小不同,需要进行比例关系转化。因此,平台应提供画面大小:播放窗口长度像素值和播放窗口宽度像素值。
    自动跟踪: 平台把这个命令发送给设备,设备根据已配置参数执行跟踪操作,无需平台下发坐标参数。

    自动或手动跟踪命令携带全景画面中框选的区域坐标信息。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
targetTrackstring非必须目标跟踪命令

枚举: Auto,Manual,Stop

枚举备注: Auto: 自动跟踪 Manual: 手动跟踪(指哪打哪) Stop: 停止跟踪

deviceId2string非必须目标设备编码,指全景相机中的全景通道 ID
targetAreaobject非必须全景图片大小、框选的区域坐标信息(目标框长宽及中心点坐标),手动跟踪时需要
├─ lengthinteger必须播放窗口长度像素值
├─ widthinteger必须播放窗口宽度像素值
├─ midPointXinteger必须拉框中心的横轴坐标像素值
├─ midPointYinteger必须拉框中心的纵轴坐标像素值
├─ lengthXinteger必须拉框长度像素值
├─ lengthYinteger必须拉框宽度像素值

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

设备软件升级控制 (v2022 新增)

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/upgrade

Method: POST

接口描述:

等同于此接口:/api/v1/gb/control/{deviceId}/upgrade?channelId={channelId}

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
sessionIdstring必须会话ID,由平台生成,用于关联升级流程多个命令的会话标识与平台请求,长度范围[32,128]字节
fileURLstring必须升级文件的完整路径
firmwarestring必须设备固件版本
manufacturerstring必须设备厂商

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

视频签名控制(GB35114)

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/sign

Method: GET

接口描述:

等同于此接口:/api/v1/gb/control/{deviceId}/sign?channelId={channelId}&start={startOrStop}

请求参数

路径参数

参数名称 示例 备注
deviceId
channelId

Query

参数名称 是否必须 示例 备注
start 否 开始或者停止签名,默认true表示开始

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

视频加密控制(GB35114)

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/encrypt

Method: GET

接口描述:

等同于此接口:/api/v1/gb/control/{deviceId}/encrypt?channelId={channelId}&start={startOrStop}

请求参数

路径参数

参数名称 示例 备注
deviceId
channelId

Query

参数名称 是否必须 示例 备注
start 否 开始或者停止加密,默认true表示开始

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

语音对讲和广播

基本信息

Path: /api/v1/gb/control/{deviceId}/{channelId}/talk

Method: POST

接口描述:

开启语音对讲与语音广播
等同于此接口:/api/v1/gb/control/{deviceId}/talk?channelId={channelId}

当请求返回响应成功后,通过返回值里面的 data urls,即可选择 ws 或者 http url 发送语音数据到平台:
http 方式:
    通过 POST 语音数据(base64后的对应format格式的音频数据)放在 http body 里面发送到平台
ws 方式:
    直接发送对应format格式的音频数据(十六进制)到平台

请求格式形如:{schema}://{sms_ip}:{http_port}/ws/talk/{deviceId}_{channelId}?format={audio_format}&id={streamId}&broadcast={broadcast}
其中:
    {schema}           代表传输协议,即 http(s)、ws(s) 或者 rtsp(s)
    {sms_ip}            代表流媒体服务ip
    {http_port}        代表 http 流服务端口,即 sms-config.yml 里的 http.port 值
    {audio_format}  代表输入音频的格式:pcm 或者 pcma
    {streamId}          代表当前语音对讲的唯一流id
    {broadcast}        代表是广播还是对讲,如果是1则代表广播(公网广播需要设备支持,一般针对于内网广播有效),如果是0代表对讲(可以进行公网语音对讲,也需要设备支持)

注意:
    当平台在6秒内未收到发送语音方的语音数据时,平台自动关闭此对讲连接

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Body

名称类型是否必须默认值备注其他信息
idstring必须当前语音对讲的唯一流id,语音广播时由采集端主动生成,语音对讲时先调用取流接口后返回的流id
formatstring非必须pcm采集端的输入语音格式

枚举: pcm,pcma

broadcaststring非必须1是否是广播,如果1代表广播,0代表对讲
natProbeboolean非必须false设备端是否支持主动发包探测(公网语音广播)开启语音收发隧道
enableboolean非必须true开启或关闭语音对讲, null或者true代表开启
recvsobject []必须接收端(非标设备)

item 类型: object

├─ ipstring必须ip地址
├─ portnumber必须端口(最多存两个端口, 低16位/高16位)
├─ ssrcstring非必须上级取流ssrc
├─ transmitstring非必须传输协议

枚举: UDP,TCP

├─ formatstring非必须媒体格式

枚举: PCM,PCMA,PCMU,AAC

返回数据

名称类型是否必须默认值备注其他信息
codestring必须
dataobject必须
├─ idstring必须语音对讲的唯一流id
├─ deviceIdstring必须
├─ channelIdstring必须
├─ urlsobject必须可用的发送语音流url集合
├─ httpstring非必须http 对讲url
├─ wsstring非必须websocket 对讲url
├─ rtspstring非必须rtsp 对讲url
msgstring必须

设备回调

设备状态信息回调

基本信息

Path: /{httpCallbackUrlForDeviceStatus}

Method: POST

接口描述:

注意此接口是服务主动POST设备的状态信息到外部服务http url

{httpCallbackUrlForDeviceStatus}:代表配置文件中自定义外部服务的http url (即 config/sipper-config.yml 里的 callbackUrl 字段),当设备(nvr、摄像头等)状态改变后将状态等信息post到这个url

如果state等于LOGIN,则返回数据包含(携带设备信息所有字段):action、state、deviceId、ip、port、name、manufacturer、model、firmware、channel、expiry、heartbeatInterval、heartbeatCount、transmit、useGm、lastRegisterTs、lastAliveTs、catalogInterval、subscribeInterval
否则,返回数据包含:action、state、deviceId、channelId

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
httpCallbackUrlForDeviceStatus 外部服务http url

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
actionstring必须STATE回调操作行为
deviceIdstring必须
channelIdstring非必须
statestring必须设备状态相关

枚举: LOGIN,LOGOUT,ADD,UPDATE,DELETE,ON,OFF

枚举备注: LOGIN, // device register; LOGOUT, // device unregister; ADD, // channel add; UPDATE, // channel update; DELETE, // channel delete; ON, // channel status on; OFF, // channel status off

extrasobject非必须GBDevice 信息
├─ deviceIdstring必须设备Id
├─ ipstring必须设备出口IP
├─ portinteger必须设备端口
├─ namestring非必须设备名称
├─ manufacturerstring非必须设备生产商
├─ modelstring非必须设备型号
├─ firmwarestring非必须设备固件版本
├─ channelinteger非必须视频输入通道数
├─ channelNuminteger非必须子通道数
├─ pwdstring非必须设备密码
├─ expiryinteger必须注册过期时间(秒)
├─ heartbeatIntervalinteger必须心跳间隔(秒)
├─ heartbeatCountinteger必须最大心跳重试次数
├─ transmitstring必须信令传输协议

枚举: UDP,TCP

├─ useGmboolean非必须是否使用国密35114
├─ signaturedboolean非必须是否35114签名
├─ encryptedboolean非必须是否35114加密
├─ lastRegisterTsnumber必须最后一次注册时间(毫秒),如 1594188879444
├─ lastAliveTsnumber必须最后一次保活时间(毫秒),如 1594188879444
├─ catalogIntervalinteger非必须通道目录抓取周期(秒), 0 表示平台不周期获取目录
├─ subscribeIntervalinteger非必须订阅周期(秒), 0 表示平台不周期订阅, 否则最小 10
├─ mobilePosIntervalinteger非必须移动订阅周期(秒), 0 表示平台不周期订阅, 否则最小 1
├─ alarmIntervalinteger非必须报警订阅周期(秒), 0 表示平台不周期订阅, 否则最小 1

设备报警信息回调

基本信息

Path: /{httpCallbackUrlForDeviceAlarm}

Method: POST

接口描述:

注意此接口是服务主动POST设备的状态信息到外部服务http url

{httpCallbackUrlForDeviceAlarm}:代表配置文件中自定义外部服务的http url (即 config/sipper-config.yml 里的 callbackUrl 字段),当订阅了设备报警,设备报警信息会post到这个url

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
httpCallbackUrlForDeviceAlarm 外部服务http url

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
actionstring必须ALARM回调操作行为
deviceIdstring必须
channelIdstring必须
extrasobject必须
├─ deviceIdstring必须设备id
├─ prioritystring必须报警级别, 0为全部,1为一级警情,2为二级警情,3为三级警情,4为四级警情
├─ methodstring必须报警方式, 0为全部,1为电话报警,2为设备报警,3为短信报警,4为GPS报警,5为视频报警,6为设备故障报警,7其他报警; 可以为直接组合如12为电话报警或设备报警
├─ timestring必须报警时间,YYYY-MM-DDTHH:mm:ss
├─ descstring非必须报警内容描述
├─ longitudenumber非必须经度,浮点值
├─ latitudenumber非必须纬度,浮点值
├─ typestring非必须报警类型,报警方式为2时,不携带AlarmType为默认的报警设备报警,携带AlarmType取值及对应报警类型如下:1-视频丢失报警;2-设备防拆报警;3-存储设备磁盘满报警;4-设备高温报警;5-设备低温报警;报警方式为5时,取值如下: 1-人工视频报警;2-运动目标检测报警;3-遗留物检测报警;4-物体移除检测报警;5-绊线检测报警;6-入侵检测报警;7-逆行检测报警;8-徘徊检测报警;9-流量统计报警;10-密度检测报警;11-视频异常检测报警;12-快速移动报警;报警方式为6时,取值如下:1-存储设备磁盘故障报警;2-存储设备风扇故障报警
├─ eventTypeinteger非必须报警类型扩展参数, 在入侵检测报警时可携此参数,取值:1-进入区域;2-离开区域

设备移动位置信息回调

基本信息

Path: /{httpCallbackUrlForDeviceMobilePos}

Method: POST

接口描述:

注意此接口是服务主动POST设备的状态信息到外部服务http url

{httpCallbackUrlForDeviceMobilePos}:代表配置文件中自定义外部服务的http url (即 config/sipper-config.yml 里的 callbackUrl 字段),当订阅了设备移动位置,设备移动位置信息会post到这个url

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
httpCallbackUrlForDeviceMobilePos 外部服务http url

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
actionstring必须MOBILEPOS回调操作行为
deviceIdstring必须
channelIdstring必须
extrasobject必须移动位置信息
├─ timestring必须产生通知时间
├─ longitudenumber必须经度,浮点值
├─ latitudenumber必须纬度,浮点值
├─ speednumber非必须速度,单位:km/h,浮点值
├─ directionnumber非必须方向,取值为当前摄像头方向与正北方的顺时针夹角,取值范围0°~360°,单位:(°),浮点值
├─ altitudenumber非必须海拔高度,单位:m,浮点值

设备PTZ信息回调

基本信息

Path: /{httpCallbackUrlForDevicePtzPos}

Method: POST

接口描述:

注意此接口是服务主动POST设备的状态信息到外部服务http url

{httpCallbackUrlForDevicePtzPos}:代表配置文件中自定义外部服务的http url (即 config/sipper-config.yml 里的 callbackUrl 字段),当订阅了设备PTZ,设备PTZ信息会post到这个url

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
httpCallbackUrlForDevicePtzPos

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
actionstring必须PTZPOS回调操作行为
deviceIdstring必须
channelIdstring必须
extrasobject必须移动位置信息
├─ pannumber非必须PTZ设置的水平角度(可选), 一般取值 0~360.00 度,浮点值
├─ tiltnumber非必须PTZ设置的垂直角度(可选), 一般取值 -30.00~90.00 度,浮点值
├─ zoomnumber非必须PTZ设置的变焦倍数(可选), 取值一般大于1.00,浮点值
├─ horizontalFieldAnglenumber非必须摄像机水平视场角,浮点值
├─ verticalFieldAnglenumber非必须摄像机竖直视场角,浮点值
├─ maxViewDistancenumber非必须摄像机可视距离,浮点值

视频状态回调

基本信息

Path: /httpCallbackUrlForVideo

Method: POST

接口描述:

注意此接口是服务主动POST设备流的状态信息到外部服务http url
[httpCallbackUrlForVideo]:代表配置文件中自定义外部服务的http url (即 config/sms-config.yml 里的 callbackUrl 字段),调用接口【创建取流】后将流是否可读的状态post到这个url

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

Body

名称类型是否必须默认值备注其他信息
smsIdstring必须流媒体服务id
sourceTypestring必须接入类型 ,国标(GB)还是非标(INGEST)

枚举: GB,INGEST

枚举备注: GB: 国标 INGEST: 非标

streamIdstring必须流id
statestring必须流状态

枚举: PENDING,PROCESSING,TRYING,STOPPED,FAILED,FINISHED

indexstring必须当前流中对应的输出流序号 sid
actionstring必须VIDEO
deviceIdstring非必须
channelIdstring非必须
extrasobject非必须
├─ formatstring非必须媒体流格式

枚举: RTSP,RTMP,RTP,FLV,MP4,HLS,

返回数据

名称类型是否必须默认值备注其他信息

分片录制视频回调

基本信息

Path: /httpCallbackUrlForDvr

Method: POST

接口描述:

注意此接口是服务主动POST设备流的状态信息到外部服务http url
[httpCallbackUrlForDvr]:代表配置文件中自定义外部服务的http url (即 config/sms-config.yml 里的 callbackUrl 字段),gbs录制生成每个切片(mp4)后会往这个url post切片信息(url等)

extras中的url,如:http://{ip}:{http_port}/vod/{deviceId}_{channelId}/{streamId}/0/mp4/{fileName}.mp4
    {fileName}:输出的mp4片段文件名,格式为:{startTime}_{segDuration}_{recordInterval}.mp4
                         如:20200527232048_13_15.mp4
        {startTime}:       片段录制的开始时间
        {segDuration}:   片段真实时长(秒)
        {recordInterval}:原始指定的期望输出片段时长(秒)

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

Body

名称类型是否必须默认值备注其他信息
smsIdstring必须流媒体服务id
sourceTypestring必须接入类型 ,国标(GB)还是非标(INGEST)

枚举: GB,INGEST

枚举备注: GB: 国标 INGEST: 非标

streamIdstring必须流id
statestring必须流状态

枚举: PENDING,PROCESSING,TRYING,STOPPED,FAILED,FINISHED

actionstring必须DVR
deviceIdstring必须
channelIdstring必须
indexinteger必须当前流中对应的输出流序号 sid,即输出的是第几个copy流或转码流的录制的文件片段
extrasobject必须
├─ urlstring必须分片http播放url
├─ idstring非必须录像ID
├─ dvrTypestring非必须录像类型,time / alarm / manual
├─ encryptSchemestring非必须加密方案, none / cenc-aes-ctr
├─ encryptKeystring非必须加密密钥, 例如: c7e16c4403654b85847037383f0c2db3
├─ encryptKidstring非必须加密密钥id, 例如: a7e61c373e219033c21091fa607bf3b8

返回数据

名称类型是否必须默认值备注其他信息

视频截图回调

基本信息

Path: /httpCallbackUrlForSnapshot

Method: POST

接口描述:

注意此接口是服务主动POST设备流的状态信息到外部服务http url
[httpCallbackUrlForSnapshot]:代表配置文件中自定义外部服务的http url,调用接口【流截图】后将截图数据post到这个url

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

Body

名称类型是否必须默认值备注其他信息
smsIdstring必须流媒体服务id
sourceTypestring必须接入类型 ,国标(GB)还是非标(INGEST)

枚举: GB,INGEST

枚举备注: GB: 国标 INGEST: 非标

streamIdstring必须流id
statestring必须流状态

枚举: PENDING,PROCESSING,TRYING,STOPPED,FAILED,FINISHED

indexstring必须当前流中对应的输出流序号 sid
actionstring必须SNAPSHOT
deviceIdstring非必须
channelIdstring非必须
extrasobject非必须
├─ urlstring非必须截图url

枚举: RTSP,RTMP,RTP,FLV,MP4,HLS,

返回数据

名称类型是否必须默认值备注其他信息

级联

添加平台级联

基本信息

Path: /api/v1/gb/cascade

Method: POST

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

Body

名称类型是否必须默认值备注其他信息
namestring必须级联标识名称
sipIdstring必须上级或平级平台sip id
realmstring必须上级或平级平台域
hoststring必须上级或平级平台ip,如果是公网,需填写公网ip
portinteger必须上级或平级平台端口
pwdstring非必须上级或平级平台密码
authUserNamestring非必须认证用户名,默认同localDeviceId
localDeviceIdstring非必须本地设备id,默认同sipId
localHoststring非必须本地ip,默认同host
localPortinteger非必须本地端口,不填的话自动生成
civilCodestring非必须行政区划
registerExpiryinteger非必须3600注册有效期(秒)

最大值: 100000

最小值: 3600

registerIntervalinteger非必须60注册周期间隔(秒)

最大值: 600

最小值: 60

keepaliveIntervalinteger非必须60心跳周期间隔(秒)

最大值: 255

最小值: 5

keepaliveMaxRetryinteger非必须3最大心跳超时重试次数

最大值: 255

最小值: 3

transmitstring非必须UDP信令传输模式

枚举: UDP,TCP

charsetstring非必须GB2312编码字符集

枚举: GB2312,UTF8

catalogSizeinteger非必须1目录分组大小

最大值: 255

最小值: 1

enableboolean非必须false是否启用
enablePtzboolean非必须false是否允许ptz控制
enableRtcpboolean非必须false是否允许 RTCP 流保活
useGminteger非必须0是否启用国密

枚举: 0,1,2

枚举备注: 0: 不启用 1: 启用且单项认证 2: 启用且双项认证

statusstring非必须级联状态

枚举: CLOSED,OPENING,OPENED

枚举备注: CLOSED: 关闭 OPENING: 打开中 OPENED: 已打开

subsCatalogboolean非必须是否订阅了本级目录
subsAlarmboolean非必须是否订阅了本级报警
subsMobilePosboolean非必须是否订阅了本级位置
subsPtzPosboolean非必须是否订阅了本级PTZ
shareChannelinteger非必须1共享通道标志

枚举: 0,1,2

枚举备注: 0: 全不共享 1: 共享所有 2: 共享指定

shareRecordinteger非必须1共享录像标志

枚举: 0,1,2

枚举备注: 0: 全不共享 1: 共享所有 2: 共享指定

streamLimitinteger非必须-1最大取流并发数, -1表示无限制
versionstring非必须V2_0国标协议版本

枚举: V1_0,V1_1,V2_0,V3_0

枚举备注: V1_0: GB-T 28181-2011 V1_1: GB-T 28181-2011 修改补充文件 V2_0: GB-T 28181-2016 V3_0: GB-T 28181-2022

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
datastring必须成功返回级联Id,即上级的sipId,否则失败
msgstring必须

删除平台级联

基本信息

Path: /api/v1/gb/cascade/{cascadeId}

Method: DELETE

接口描述:

请求参数

路径参数

参数名称 示例 备注
cascadeId 级联id,即上级sipId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须true:成功,false:失败
msgstring必须

获取指定级联

基本信息

Path: /api/v1/gb/cascade/{cascadeId}/info

Method: GET

接口描述:

请求参数

路径参数

参数名称 示例 备注
cascadeId 级联id,即上级sipId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ namestring必须级联标识名称
├─ sipIdstring必须上级或平级平台sip id
├─ realmstring必须上级或平级平台域
├─ hoststring必须上级或平级平台ip,如果是公网,需填写公网ip
├─ portinteger必须上级或平级平台端口
├─ pwdstring必须上级或平级平台密码
├─ authUserNamestring必须认证用户名,默认同localDeviceId
├─ localDeviceIdstring必须本地设备id,默认同sipId
├─ localHoststring必须本地ip,默认同host
├─ localPortinteger必须本地端口,不填的话自动生成
├─ civilCodestring必须行政区划
├─ registerExpiryinteger必须3600注册有效期(秒)

最大值: 100000

最小值: 3600

├─ registerIntervalinteger必须60注册周期间隔(秒)

最大值: 600

最小值: 60

├─ keepaliveIntervalinteger必须60心跳周期间隔(秒)

最大值: 255

最小值: 5

├─ keepaliveMaxRetryinteger必须3最大心跳超时重试次数

最大值: 255

最小值: 3

├─ transmitstring必须UDP信令传输模式

枚举: UDP,TCP

├─ charsetstring必须GB2312编码字符集

枚举: GB2312,UTF8

├─ catalogSizeinteger必须1目录分组大小

最大值: 255

最小值: 1

├─ enableboolean必须false是否启用
├─ enablePtzboolean必须false是否允许ptz控制
├─ enableRtcpboolean必须false是否允许 RTCP 流保活
├─ useGminteger必须0是否启用国密

枚举: 0,1,2

枚举备注: 0: 不启用 1: 启用且单项认证 2: 启用且双项认证

├─ statusstring必须级联状态

枚举: CLOSED,OPENING,OPENED

枚举备注: CLOSED: 关闭 OPENING: 打开中 OPENED: 已打开

├─ subsCatalogboolean必须是否订阅了本级目录
├─ subsAlarmboolean必须是否订阅了本级报警
├─ subsMobilePosboolean必须是否订阅了本级位置
├─ subsPtzPosboolean必须是否订阅了本级PTZ
├─ shareChannelinteger必须1共享通道标志

枚举: 0,1,2

枚举备注: 0: 共享指定 1: 共享所有 2: 全不共享

├─ shareRecordinteger必须1共享录像标志

枚举: 0,1,2

枚举备注: 0: 全不共享 1: 共享所有 2: 共享指定

├─ streamLimitinteger必须-1最大取流并发数, -1表示无限制
├─ versionstring必须V2_0国标协议版本

枚举: V1_0,V1_1,V2_0,V3_0

枚举备注: V1_0: GB-T 28181-2011 V1_1: GB-T 28181-2011 修改补充文件 V2_0: GB-T 28181-2016 V3_0: GB-T 28181-2022

msgstring必须

更新平台级联

基本信息

Path: /api/v1/gb/cascade/{cascadeId}

Method: PUT

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
cascadeId 级联id,即上级sipId

Body

名称类型是否必须默认值备注其他信息
sipIdstring必须上级或平级平台sip id
realmstring非必须上级或平级平台域
hoststring非必须上级或平级平台ip,如果是公网,需填写公网ip
portinteger非必须上级或平级平台端口
pwdstring非必须上级或平级平台密码
authUserNamestring非必须默认同localDeviceId
localDeviceIdstring非必须本地设备id,默认同sipId
localHoststring非必须本地ip,默认同host
localPortinteger非必须本地端口,不填的话自动生成
civilCodestring非必须行政区划
registerExpiryinteger非必须3600注册有效期(秒)

最大值: 100000

最小值: 3600

registerIntervalinteger非必须60注册周期间隔(秒)

最大值: 600

最小值: 60

keepaliveIntervalinteger非必须60心跳周期间隔(秒)

最大值: 255

最小值: 5

keepaliveMaxRetryinteger非必须3最大心跳超时重试次数

最大值: 255

最小值: 3

transmitstring非必须UDP信令传输模式

枚举: UDP,TCP

charsetstring非必须GB2312编码字符集

枚举: GB2312,UTF8

catalogSizeinteger非必须1目录分组大小

最大值: 255

最小值: 1

enableboolean非必须false是否启用
enablePtzboolean非必须false是否允许ptz控制
enableRtcpboolean非必须false是否允许 RTCP 流保活
useGminteger非必须0是否启用国密

枚举: 0,1,2

枚举备注: 0: 不启用 1: 启用且单项认证 2: 启用且双项认证

statusstring非必须级联状态

枚举: CLOSED,OPENING,OPENED

枚举备注: CLOSED: 关闭 OPENING: 打开中 OPENED: 已打开

subsCatalogboolean非必须是否订阅了本级目录
subsAlarmboolean非必须是否订阅了本级报警
subsMobilePosboolean非必须是否订阅了本级位置
subsPtzPosboolean非必须是否订阅了本级PTZ
shareChannelinteger非必须1共享通道标志

枚举: 0,1,2

枚举备注: 0: 共享指定 1: 共享所有 2: 全不共享

shareRecordinteger非必须1共享录像标志
streamLimitinteger非必须-1最大取流并发数, -1表示无限制
versionstring非必须V2_0国标协议版本

枚举: V1_0,V1_1,V2_0,V3_0

枚举备注: V1_0: GB-T 28181-2011 V1_1: GB-T 28181-2011 修改补充文件 V2_0: GB-T 28181-2016 V3_0: GB-T 28181-2022

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须true:成功,false:失败
msgstring必须

开启或关闭平台级联

基本信息

Path: /api/v1/gb/cascade/{cascadeId}

Method: GET

接口描述:

请求参数

路径参数

参数名称 示例 备注
cascadeId 级联id,即上级sipId

Query

参数名称 是否必须 示例 备注
start 否 默认true,开始级联,否则false为关闭级联

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须true:成功,false:失败
msgstring必须

获取所有级联列表

基本信息

Path: /api/v1/gb/cascades

Method: GET

接口描述:

请求参数

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ suminteger必须级联总数
├─ listobject []必须分页级联列表

item 类型: object

├─ namestring必须级联标识名称
├─ sipIdstring必须上级或平级平台sip id
├─ realmstring必须上级或平级平台域
├─ hoststring必须上级或平级平台ip,如果是公网,需填写公网ip
├─ portinteger必须上级或平级平台端口
├─ pwdstring必须上级或平级平台密码
├─ authUserNamestring必须认证用户名, 默认同localDeviceId
├─ localDeviceIdstring必须本地设备id,默认同sipId
├─ localHoststring必须本地ip,默认同host
├─ localPortinteger必须本地端口,不填的话自动生成
├─ civilCodestring必须行政区划
├─ registerExpiryinteger必须3600注册有效期(秒)

最大值: 100000

最小值: 3600

├─ registerIntervalinteger必须60注册周期间隔(秒)

最大值: 600

最小值: 60

├─ keepaliveIntervalinteger必须60心跳周期间隔(秒)

最大值: 255

最小值: 5

├─ keepaliveMaxRetryinteger必须3最大心跳超时重试次数

最大值: 255

最小值: 3

├─ transmitstring必须UDP信令传输模式

枚举: UDP,TCP

├─ charsetstring必须GB2312编码字符集

枚举: GB2312,UTF8

├─ catalogSizeinteger必须1目录分组大小

最大值: 255

最小值: 1

├─ enableboolean必须false是否启用
├─ enablePtzboolean必须false是否允许ptz控制
├─ enableRtcpboolean必须false是否允许 RTCP 流保活
├─ useGminteger必须0是否启用国密

枚举: 0,1,2

枚举备注: 0: 不启用 1: 启用且单项认证 2: 启用且双项认证

├─ statusstring必须级联状态

枚举: CLOSED,OPENING,OPENED

枚举备注: CLOSED: 关闭 OPENING: 打开中 OPENED: 已打开

├─ subsCatalogboolean必须是否订阅了本级目录
├─ subsAlarmboolean必须是否订阅了本级报警
├─ subsMobilePosboolean必须是否订阅了本级位置
├─ subsPtzPosboolean必须是否订阅了本级PTZ
├─ shareChannelinteger必须1共享通道标志

枚举: 0,1,2

枚举备注: 0: 共享指定 1: 共享所有 2: 全不共享

├─ shareRecordinteger必须1共享录像标志

枚举: 0,1,2

枚举备注: 0: 全不共享 1: 共享所有 2: 共享指定

├─ streamLimitinteger必须-1最大取流并发数, -1表示无限制
├─ versionstring必须V2_0国标协议版本

枚举: V1_0,V1_1,V2_0,V3_0

枚举备注: V1_0: GB-T 28181-2011 V1_1: GB-T 28181-2011 修改补充文件 V2_0: GB-T 28181-2016 V3_0: GB-T 28181-2022

msgstring必须

添加级联共享通道

基本信息

Path: /api/v1/gb/cascade/{cascadeId}/channels

Method: POST

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
cascadeId

Query

参数名称 是否必须 示例 备注
shareChannel 否 共享通道标志,0: 共享指定 1: 共享所有 2: 全不共享
update 否 是否强制清空再添加,默认0

Body

名称类型是否必须默认值备注其他信息
string []非必须

item 类型: string

├─ 非必须设备通道ID,格式为:deviceId-channelId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须true:成功,false:失败
msgstring必须

删除级联共享通道

基本信息

Path: /api/v1/gb/cascade/{cascadeId}/channels

Method: DELETE

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
cascadeId

Body

名称类型是否必须默认值备注其他信息
string []非必须

item 类型: string

├─ 非必须设备通道ID,格式为:deviceId-channelId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须true:成功,false:失败
msgstring必须

获取级联共享通道列表

基本信息

Path: /api/v1/gb//cascade/{cascadeId}/channels

Method: GET

接口描述:

offset 和 limit 如果都为0则获取所有的通道列表,如果都不填默认获取前 50 条数据。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
cascadeId

Query

参数名称 是否必须 示例 备注
catalogId 否 目录ID
name 否 通道名称
manufacturer 否 厂家
civilCode 否 行政区划码
block 否 警区
status 否 通道在线状态,ON 或者 OFF
sourceType 否 接入类型 ,国标(GB)还是非标(INGEST),默认GB
type 否 通道类型,ALL、DEVICE、DIR
catalog 否 是否以目录形式获取,默认0
offset 否 数据偏移量,默认0
limit 否 每页大小,默认50,最大500

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ suminteger非必须通道总数
├─ listobject []非必须分页通道列表

item 类型: object

├─ deviceIdstring必须父设备/区域/系统ID
├─ channelIdstring必须设备/区域/系统编码
├─ namestring必须设备/区域/系统名称
├─ manufacturerstring必须当为设备时,设备厂商
├─ modelstring必须当为设备时,设备型号
├─ ownerstring必须当为设备时,设备归属
├─ civilCodestring必须行政区划码,取值为省级2位,市级4位,区县级6位,基层接入单位8位
├─ blockstring非必须警区,若设备属于某组织机构下,应在此字段填写相应组织机构代码(符合GA/T 380-2011)
├─ parentalinteger必须当为设备时,是否有子设备,1有,0没有
├─ parentIdstring必须父设备/区域/系统ID,直接上级编号
├─ safetyWayinteger非必须0信令安全模式

枚举: 0,2,3,4

枚举备注: 0: 不采用 2: S/MIME签名方式 3: S/MIME加密签名同时采用方式 4: 数字摘要方式

├─ registerWayinteger必须1注册方式

枚举: 1,2,3

枚举备注: 1: 符合IETFRFC3261标准的认证注册模式 2: 基于口令的双向认证注册模式 3: 基于数字证书的双向认证注册模式

├─ secrecyinteger必须0保密属性

枚举: 0,1

枚举备注: 0: 不涉密 1: 涉密

├─ streamNuminteger非必须设备支持的编码流数
├─ addressstring必须当为设备时,安装地址
├─ ipAddressstring非必须设备/区域/系统IP地址
├─ ipstring非必须设备/区域/系统IP地址
├─ portinteger非必须设备/区域/系统端口
├─ statusstring必须设备在线状态

枚举: ON,OFF

├─ longitudenumber非必须经度,浮点型
├─ latitudenumber非必须纬度,浮点型
├─ certNumstring非必须证书序列号(有证书的设备必选)
├─ certifiableinteger非必须0证书有效标识(有证书的设备必选)

枚举: 0,1

枚举备注: 0:无效 1:有效

├─ errCodeinteger非必须无效原因码(有证书且证书无效的设备必选)
├─ endTimestring非必须证书终止有效期(有证书的设备必选)
├─ passwordstring非必须设备口令
├─ charsetstring必须编码字符集

枚举: GB2312,UTF8,GB18030

├─ ptzTypeinteger非必须摄像机类型扩展,标识摄像机类型(当目录项为摄像机时可选)

枚举: 1,2,3,4,5,6,7

枚举备注: 1: 球机 2: 半球 3: 固定枪机 4: 遥控枪机 5: 遥控半球 6: 多目设备的全景/拼接通道 7: 多目设备的分隔通道

├─ positionTypeinteger非必须摄像机位置类型扩展(当目录项为摄像机时可选)

枚举: 1,2,3,4,5,6,7,8,9,10

枚举备注: 1: 省际检查站 2: 党政机关 3: 车站码头 4: 中心广场 5: 体育场馆 6: 商业中心 7: 宗教场所 8: 校园周边 9: 治安复杂区域 10: 交通干线

├─ roomTypeinteger非必须摄像机安装位置属性(当目录项为摄像机时可选,缺省为1)

枚举: 1,2

枚举备注: 1: 室外 2: 室内

├─ useTypeinteger非必须摄像机用途属性(当目录项为摄像机时可选)

枚举: 1,2,3

枚举备注: 1: 治安 2: 交通 3: 重点

├─ supplyLightTypeinteger非必须摄像机补光属性(当目录项为摄像机时可选,缺省为1)

枚举: 1,2,3,4,9

枚举备注: 1: 无补光 2: 红外补光 3: 白光补光 4: 激光补光 9: 其他

├─ directionTypeinteger非必须摄像机监视方位属性(当目录项为摄像机时且为固定摄像机或设置看守位摄像机时可选)

枚举: 1,2,3,4,5,6,7,8

枚举备注: 1: 东 2: 西 3: 南 4: 北 5: 东南 6: 东北 7: 西南 8: 西北

├─ resolutionstring非必须摄像机支持的分辨率(当目录项为摄像机时可选),可有多个分辨率值,各个取值间以“/”分隔
├─ businessGroupIdstring非必须虚拟组织所属的业务分组ID,业务分组根据特定的业务需求制定,一个业务分组包含一组特定的虚拟组织
├─ downloadSpeedstring非必须下载倍速范围(可选),各可选参数以“/”分隔,如设备支持1,2,4倍速下载则应写为“1/2/4”
├─ svcSpaceSupportModeinteger非必须空域编码能力

枚举: 0,1,2,3

枚举备注: 0: 不支持 1: 1级增强(1个增强层) 2: 2级增强(2个增强层) 3: 3级增强(3个增强层)

├─ svcTimeSupportModeinteger非必须时域编码能力

枚举: 0,1,2,3

枚举备注: 0: 不支持 1: 1级增强 2: 2级增强 3: 3级增强

├─ ssvcRatioSupportListstring非必须SSVC 增强层与基本层比例能力(可选),可多值,各个取值间以"/"分隔,如"4:3/2:1/4:1/6:1/8:1"等具体比例值一种或多种
├─ streamNumberListstring非必须摄像机支持的码流编号列表,用于实时点播时指定码流编号(可选),可多值,各个取值间以"/"分隔,如"0/1/2",表示支持主码流/子码流1/子码流2,以此类推
├─ photoelectricImagingTypestring非必须摄像机光电成像类型(当目录项为摄像机时可选),可多值,各个取值间以"/"分隔

枚举: 1,2,3,4,5,9

枚举备注: 1: 可见光成像 2: 热成像 3: 雷达成像 4: X光成像 5: 深度光场成像 9: 其他

├─ capturePositionTypestring非必须摄像机采集部位类型(当目录项为摄像机时可选)
├─ mobileDeviceTypeinteger非必须移动采集设备类型(仅移动采集设备适用,必选)

枚举: 1,2,3,4,5,9

枚举备注: 1: 移动机器人载摄像机 2: 执法记录仪 3: 移动单兵设备 4: 车载视频记录设备 5: 无人机载摄像机 9: 其他

├─ horizontalFieldAnglenumber非必须摄像机水平视场角(可选),[0,360]度,浮点型
├─ verticalFieldAnglenumber非必须摄像机竖直视场角(可选),[0,360]度,浮点型
├─ maxViewDistancenumber非必须摄像机可视距离(可选),单位米,浮点型
├─ grassrootsCodestring非必须基层组织编码(必选,非基层建设时为"000000")
├─ pointTypeinteger非必须监控点位类型(当为摄像机时必选)

枚举: 1,2,3,9

枚举备注: 1: 一类视频监控点 2: 二类视频监控点 3: 三类视频监控点 9: 其他点位

├─ pointCommonNamestring非必须点位俗称(可选),监控点位附近如有标志性建筑、场所或监控点位处于公众约定俗成的地点,可以填写标志性建筑名称和地点俗称
├─ macstring非必须设备MAC地址(可选),用“XX-XX-XX-XX-XX-XX”格式表达,XX表示2位十六进制数
├─ functionTypestring非必须摄像机卡口功能类型(当为摄像机时可选),可多值,各个取值间以"/"分隔

枚举: 01,02,03,04,05,99

枚举备注: 01: 人脸卡口 02: 人员卡口 03: 机动车卡口 04: 非机动车卡口 05: 物品卡口 99: 其他

├─ encodeTypestring非必须摄像机视频编码格式(可选),取值应符合SDP f字段规定
├─ installTimestring非必须摄像机安装使用时间,一类视频监控点必选;二类、三类可选
├─ managementUnitstring非必须摄像机所属管理单位名称(可选)
├─ contactInfostring非必须摄像机所属单位联系人的联系方式(电话号码,可多值,各个取值间以"/"分隔),一类视频监控点必选;二类、三类可选
├─ recordSaveDaysinteger非必须录像保存天数(可选),一类视频监控点必选;二类、三类可选
├─ industrialClassificationstring非必须国民经济行业分类代码(可选),代码见GB/T 4754第5章
├─ deviceNamestring非必须设备名称
├─ customNamestring非必须自定义名称
├─ channelTypestring非必须通道类型

枚举: 0,1,2,3,4,5

枚举备注: 0: 一般设备通道 1: 平台设备 2: 行政区划 3: 业务分组 4: 虚拟组织 5: 其他

├─ mediaTransmitstring必须流传输协议

枚举: UDP,TCP

├─ securityLevelCodestring非必须GB35114 标识安全前端设备的安全等级(A、B 或 C)

枚举: A,B,C

├─ isLocalboolean非必须GB35114是否本域设备,1表示本域,其他值或者无本条表示外域
├─ subCountinteger非必须子节点数, 大于0表示该通道为子目录
├─ subCountDeviceinteger非必须子设备通道
├─ onlineSubCountinteger非必须在线子节点数
├─ streamIdstring非必须流唯一编号,存在表示正在取实时流。目前没用到
├─ sourceTypestring必须接入类型 ,国标(GB)还是非标(INGEST),默认GB

枚举: GB,INGEST

枚举备注: 国标 非标

├─ ingestTypestring非必须非标接入协议类型

枚举: ONVIF,RTSP,RTMP,HLS,FLV,FILE

├─ usernamestring非必须用户名 (可供非标设备使用)
├─ streamUrlstring非必须流url (可供非标设备使用)
├─ onvifUrlstring非必须摄像机接入ONVIF地址
├─ streamLoopboolean非必须是否循环读取输入,对于非标自定义输入流有效
├─ createTsnumber非必须创建时间
├─ updateTsnumber非必须更新时间
msgstring必须

推送全部共享通道到上级

基本信息

Path: /api/v1/gb/cascade/{cascadeId}/pushcatalog

Method: GET

接口描述:

请求参数

路径参数

参数名称 示例 备注
cascadeId 级联id,即上级sipId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须true:成功,false:失败
msgstring必须

国密证书

添加或者申请设备证书

基本信息

Path: /api/v1/gb/cert/{deviceId}/device

Method: POST

接口描述:

如果添加的证书格式是 csr,即证书请求,则返回的响应中,data数据格式为string,代表平台颁发给此 csr 的正式证书;
如果添加的证书格式是 cert,即正式的证书,则返回的响应中,data数据格式为boolean,代表平台是否添加此证书成功。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId

Body

名称类型是否必须默认值备注其他信息
certstring必须设备证书内容,目前支持PEM格式
startTimestring非必须证书生效开始时间,如 2021-11-15 00:00:00
expireinteger非必须证书过期时间,单位天
signboolean非必须签名证书还是加密证书,true:签名; false:加密

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须证书是否添加成功
msgstring必须

删除设备证书

基本信息

Path: /api/v1/gb/cert/{deviceId}/device

Method: DELETE

接口描述:

请求参数

路径参数

参数名称 示例 备注
deviceId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须证书是否删除成功
msgstring必须

获取平台证书

基本信息

Path: /api/v1/gb/cert/{deviceId}/server

Method: GET

接口描述:

请求参数

路径参数

参数名称 示例 备注
deviceId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ caPemstring必须ca证书pem
├─ keyPemstring必须证书私钥pem
msgstring必须

获取或者申请平台证书

基本信息

Path: /api/v1/gb/cert/{deviceId}/server

Method: POST

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId

Query

参数名称 是否必须 示例 备注
overwrite 否 是否强制覆盖重写颁发新的证书,默认false

Body

名称类型是否必须默认值备注其他信息
commonNamestring非必须通用名称
orgzstring非必须组织名称
orgzUnitstring非必须组织部门名称
statestring非必须省或州名称
localitystring非必须市或区名称
countrystring非必须国家代码,如 CN 表示中国
emailstring非必须邮箱地址
expireinteger非必须365证书有效期,单位天
startTimestring非必须证书开始时间,格式:yyyy-MM-dd HH:mm:ss

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ caPemstring必须ca证书pem
├─ keyPemstring必须证书私钥pem
msgstring必须

流

创建取流

基本信息

Path: /api/v1/stream

Method: POST

接口描述:

从平台国标设备或外部url中取流。

1、从平台国标设备中取流:
(1)startTime和endTime不填或者都是0,取实时流。一个摄像头对应一条stream。
(2)speed大于0、startTime和endTime大于0,下载历史流。取实时流或者对讲时这个地方请一直设置为0
(3)audioFormat不为空且大于等于0代表语音对讲,其值代表公网语音对讲的源(即待发送到摄像头或者其他设备的源)输入音频格式(8:PCMA或者88:PCM),在“创建取流任务”接口后,再调用“语音对讲和广播(websocket方式)”或者“语音对讲和广播(http方式)”接口,将源端的语音发送到服务器。如果源端在6秒之内没有发送语音到服务器,则此任务发送语音对讲失败,建议需要调用“停止/删除任务”接口。
(4)speed等于0、startTime和endTime大于0,取回放流

smsId 代表指定推流目的流媒体服务器(sms),如果不填则由平台自动分配负载最小的一台sms。

返回数据param中的其他数据形如:

{
    "channelName": ""        // 通道名称
    "cascadeId": "",         // 上级级联sipper国标id, 如果不为空代表级联取流
    "inviteType": "Play",    // 取流类型,Play:实时点播;Playback:历史回放;Download:文件下载;Talk:语音对讲
    "streamId": "",          // 唯一流id
    "mediaId": "",           // 唯一mediaId, 当sourceType==INGEST时, 代表外部输入url
    "ssrc": "",              // 本级取流ssrc
    "recvIp": "",            // 收下级流的sms或转发流到上级/平级的ip
    "recvPort": "",          // 收下级流的sms或转发流到上级/平级的port
    "recvs": [               // 收下级流的sms或转发流到上级/平级的ip和端口(最多存两个端口, 低16位/高16位)
        {
            "ip": "",        // ip地址
            "port": 0,       // 端口(最多存两个端口, 低16位/高16位)
            "ssrc": "",      // 上级取流ssrc
            "transmit": "UDP", // 传输协议,TCP / UDP
            "format": ""     // 媒体格式
        },
        ...
    ],
    "proxyPort": 0,          // 转发流到上级或平级的sms随机发送端口(最多存两个端口, 低16位/高16位)
    "outAudioFormat": -1,    // 语音对讲接收端接收到的音频格式
    "mediaFormat": -1,       // 设备源输入格式
    "securityLevel": 0,      // 0/'A'(65)/'B'(66)/'C'(67)
    "retries": 0,            // 取流重试次数
    "createTime": 1636905600000, // 流创建时间 (毫秒)
}

返回数据 data 中 的 media 数据形如:

"media": [
{
    "enableRtc": true,       // 是否允许输出webrtc
    "enableRtsp": true,      // 是否允许输出rtsp
    "enableRtmp": false,     // 是否允许输出rtmp(推流)
    "enableRtp": true,       // 是否允许输出rtp(推流)
    "enableFlv": true,       // 是否允许输出flv
    "enableHls": false,      // 是否允许输出hls
    "enableMp4": false,      // 是否允许mp4录制
    "recordInterval": 60,    // 录制文件片段时间间隔 (秒),对 mp4 录制有效
    "useClockTime": false,   // 录制文件片段以系统 clocktime 计算代替流包来切割生成,如果此参数为true, 则recordInterval必须大于0
    "useStrftime": true,     // 录制文件用本地时间作为文件名
    "threads": 4,            // 编码和解码帧并发线程数
    "audio": {               // 音频参数,null代表默认使用输入流的音频参数
        "acodec": "aac",     // 编码器
        "samplerate": 48000, // 采样率
        "channels": 2,       // 通道数
        "bitrate": 32000     // 码率
    },
    "video": {               // 视频参数,null代表默认使用输入流的视频参数
        "codec": "h264",     // 编码器, h264 or h265
        "profile": null,     // 视频profile,baseline / main / high
        "width": 1280,       // 宽度
        "height": 720,       // 高度
        "bitrate": 0         // 码率
        "fps": 15,           // 帧率
        "gop": 150,          // I帧间隔数
        "vthreads": 0,       // 编码和解码帧并发线程数,如果此为0,则用全局的threads值
        "hwDevice": "0",     // 视频硬编解码加速设备编号, 如英伟达加速卡有多卡时可选择某一个编号(0, 1, 2 ...), 不填或者 auto: 自动, [0, 1, 2 ...]: 编号
        "hwaccel": "auto",   // 视频硬编解码加速设备, 不填或者 none: 不使用, auto: 自动, cuda: 英伟达加速卡, videotoolbox: 苹果加速设备
        "osds": [            // osd水印,必须转码才能生效
            "id": "",        // 唯一id标识
            "fontFile": "",  // 字体库文件
            "color": "",     // 字体颜色
            "size": "",      // 字体大小
            "text": "",      // 水印内容
            "x": "",         // 水印坐标x
            "y": "",         // 水印坐标y
            "showTime": ""   // 显示时长(秒)
        ]
    },
    "mp4": {
        "faststart": true,   // mp4头重写,如果对于太大的mp4文件录制完成再重新索引时此参数很耗时
        "encryptScheme": "", // 加密方案, none / cenc-aes-ctr
        "encryptKey": "",    // 加密密钥, 例如: c7e16c4403654b85847037383f0c2db3
        "encryptKid": ""     // 加密密钥id, 例如: a7e61c373e219033c21091fa607bf3b8
    },
    "hls": {                 // 如果期望输出包含 hls 格式, 则可以选择配置此参数(不配置的话就用默认值即可)
        "startNumber": 0,    // 设置播放列表中sequence number的值. 默认值为0
        "segTime": 3,        // 设置每片的长度,默认值为3 (单位秒)
        "listSize": 3,       // 设置播放列表保存的最多条目, 设置为0(非直播)会保存所有片信息. 默认值为3(直播),如果是直播不要设置为0
        "deleteSegs": 1,     // 是否删除不在播放列表中的片段,删除旧文件(以 listSize 的2倍作为删除的依据)
        "tempSegFile": 0,    // 是否先写临时文件片段(*.tmp, 写完后重命名为.ts)
        "appendList": 1,     // 是否读取并解析本地已经存在的m3u8并接着 append 写片段
        "discontStart": 0,   // 在 M3U8 第一个切片 (后续可能会刷掉) 信息的前面加一个 EXT-X-DISCONTINUTY 标签,常用于在切片不连续时
        "allowCache": 0      // 是否缓存hls切片, #EXT-X-ALLOW-CACHE:NO or YES
    },
    "rtmps": [
        {
            "outUrl": ""         // 推流url,至第三方rtmp服务器
        }
    ],
    "rtps": [
        {
            "outUrl": "",        // 推流url,至第三方rtp服务器
            "skipRtcp": false,   // 是否发送rtcp包
            "payloadType": 0,    // 负载类型
            "ssrc": 0,           // 媒体ssrc
            "startSeq": 0,       // rtp开始序列号
            "cname": ""          // rtcp包中包含的cname(skipRtcp=false时有效)
        }
    ]
}
]

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

Body

名称类型是否必须默认值备注其他信息
smsIdstring非必须指定推流的流媒体服务id,可选
sourceTypestring非必须取流源类型

枚举: GB,INGEST

枚举备注: GB: 国标取流 INGEST: 外部url取流

deviceIdstring必须
channelIdstring必须
startTimenumber非必须0取流开始时间
endTimenumber非必须0取流结束时间
speedinteger非必须0从设备取流传输速度,0/1/2/4,具体根据getDeviceConfig获取速度值,如果大于0代表下载历史文件
hasAudioboolean非必须false从设备取流是否处理音频,即是否输出音频
transmitstring非必须TCP以TCP或者UDP的方式从设备取流

枚举: TCP,UDP

枚举备注:

streamModestring非必须取流码流模式(主子码流)

枚举: stream:0,stream:1,streamMode:MAIN,streamMode:SUB,streamprofile:0,streamprofile:1

streamLoopboolean非必须是否循环读取输入,对于非标自定义输入流有效
ondemandboolean非必须true1或0,任务流无人观看时, 是否停止任务取流
audioFormatinteger非必须-1如果不为-1,则代表公网语音对讲的输入格式

枚举: 8,88

枚举备注: 8: PCMA 88: PCM

useTcpTalkboolean非必须false是否用tcp发送语音对讲数据
toH264boolean非必须false是否对svac/h265格式的输入流转码成h264
mediaIdstring非必须当sourceType==INGEST时, 代表外部输入url
policeNostring非必须警号,用于 GB35114
idCardNostring非必须身份证号,用于 GB35114
vkeksobject []非必须vkek列表,用于 GB35114

item 类型: object

├─ deviceIdstring必须媒体流接收者设备ID
├─ timestring必须VKEK产生时间(如2019-07-31 10:28:47)
├─ versionstring必须VKEK版本号(如2019-07-31 10:28:47)
├─ vkekstring必须使用用户证书加密后的VKEK
├─ widinteger必须客户端窗口ID
├─ sourceIdstring必须媒体流发送者设备ID
mediaobject []非必须媒体输出配置信息,数组中每一项代表输出一路流,第一个一般是直接copy原始流输出,不要重复copy输出。

item 类型: object

├─ enableRtspboolean非必须true1或0,是否输出rtsp直播流
├─ enableRtcboolean非必须true1或0,是否输出webrtc直播流
├─ enableRtmpboolean非必须false1或0,是否输出rtmp直播流(推流)
├─ enableRtpboolean非必须true1或0,是否输出rtp直播流(推流)
├─ enableFlvboolean非必须true1或0,是否输出flv直播流
├─ enableHlsboolean非必须false1或0,是否输出http-hls直播流或点播文件录制
├─ enableMp4boolean非必须false1或0,是否输出mp4文件录制
├─ recordIntervalinteger非必须0录制文件片段时间间隔 (秒),注意: 对 mp4 录制有效
├─ useClockTimeboolean非必须false录制文件片段以系统 clocktime 计算代替流包来切割生成。如果此参数为true, 则recordInterval必须大于0
├─ useStrftimeboolean非必须true录制文件用本地时间作为文件名
├─ threadsinteger非必须4编码和解码帧并发线程数

最大值: 16

最小值: 0

├─ audioobject非必须配置audio转码参数,如果为null,表示默认跟源输入流一致
├─ codecstring非必须音频编码器,不填自动用输入或者aac
├─ samplerateinteger非必须0音频采样率(比如44100),不填或者0代表跟原始流相同
├─ channelsinteger非必须0音频通道数(比如1,2..),不填或者0代表跟原始流相同
├─ bitrateinteger非必须0音频码率(单位Kb/s, 比如16K),不填或者0代表跟原始流相同
├─ videoobject非必须配置video转码参数,如果为null,表示默认跟源输入流一致
├─ codecstring非必须视频编码器,h264 or h265,不填或者null代表跟原始流相同

枚举: baseline,main,high

├─ profilestring非必须视频编码profile,baseline / main / high
├─ widthinteger非必须0视频宽,不填或者0代表跟原始流相同
├─ heightinteger非必须0视频高,不填或者0代表跟原始流相同
├─ bitrateinteger非必须0视频码率(单位Kb/s, 比如400K),不填或者0代表跟原始流相同
├─ fpsnumber非必须0视频帧率(比如25),不填或者0代表跟原始流相同

最大值: 150

最小值: 0

├─ gopinteger非必须视频关键字间隔

最大值: 250

最小值: 1

├─ vthreadsstring非必须0编码线程,默认0为自动,[1, 16]
├─ hwDevicestring非必须视频硬编解码加速设备编号, 如英伟达加速卡有多卡时可选择某一个编号(0, 1, 2 ...), 不填或者 auto: 自动, [0, 1, 2 ...]: 编号
├─ hwaccelstring非必须视频硬编解码加速设备编号, 如英伟达加速卡有多卡时可选择某一个编号(0, 1, 2 ...), 不填或者 auto: 自动, [0, 1, 2 ...]: 编号
├─ osdsobject []非必须osd水印,必须转码才能生效

item 类型: object

├─ idstring必须唯一id标识
├─ fontFilestring必须字体库文件
├─ colorstring必须字体颜色
├─ sizestring必须字体大小
├─ textstring必须水印内容
├─ xstring必须水印坐标x
├─ ystring必须水印坐标y
├─ showTimestring必须显示时长(秒)
├─ mp4object非必须mp4录像配置
├─ faststartboolean非必须true1或0,mp4文件二次封装,便于点播快速seek。注意:如果对于太大(建议不要超过4G大小 / 2个小时)的mp4文件录制完成再重新索引时此参数很耗时
├─ encryptSchemestring非必须加密方案, none / cenc-aes-ctr
├─ encryptKeystring非必须加密密钥, 例如: c7e16c4403654b85847037383f0c2db3
├─ encryptKidstring非必须加密密钥id, 例如: a7e61c373e219033c21091fa607bf3b8
├─ hlsobject非必须如果enableRtsp=1,则此参数表示生成hls流的配置参数
├─ startNumberinteger非必须0设置播放列表中sequence number的值

最小值: 0

├─ segTimeinteger非必须3设置每片的长度 (单位秒)

最小值: 1

├─ listSizeinteger非必须3设置播放列表保存的最多条目, 设置为0(非直播)会保存所有所片信息.默认值为3(直播).注意: 如果是直播不要设置为0

最小值: 0

├─ deleteSegsinteger非必须1是否删除不在播放列表中的片段,1为删除旧文件,0为不删除
├─ tempSegFileinteger非必须0是否先写临时文件片段(*.tmp, 写完后重命名为.ts)
├─ appendListinteger非必须1是否读取并解析本地已经存在的m3u8并接着 append 写片段
├─ discontStartinteger非必须0在 M3U8 第一个切片 (后续可能会刷掉) 信息的前面加一个 EXT-X-DISCONTINUTY 标签. 常用于在切片不连续时
├─ allowCacheinteger非必须0是否缓存hls切片, #EXT-X-ALLOW-CACHE:NO or YES
├─ rtmpsobject []非必须rtmp推流配置列表

item 类型: object

├─ outUrlstring必须推流url,至第三方rtmp服务器
├─ rtpsobject []非必须rtp推流配置列表

item 类型: object

├─ outUrlstring必须推流url,至第三方rtp服务器
├─ skipRtcpboolean非必须false是否发送rtcp包
├─ payloadTypeinteger非必须负载类型
├─ ssrcinteger非必须媒体ssrc值
├─ startSeqinteger非必须rtp开始序列号
├─ cnamestring非必须rtcp包中包含的cname(skipRtcp=false时有效)

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ idstring必须流id
├─ statestring必须PENDING流状态

枚举: PENDING,PROCESSING,TRYING,STOPPED,FAILED,FINISHED

枚举备注: PENDING: 准备中 PROCESSING: 处理中 TRYING: 重试中 STOPPED: 停止 FAILED: 失败 FINISHED: 完成

├─ paramobject必须
├─ smsIdstring必须
├─ sourceTypestring必须
├─ deviceIdstring必须
├─ channelIdstring必须
├─ startTimenumber必须
├─ endTimenumber必须
├─ transmitstring必须
├─ streamModestring必须取流码流模式(主子码流)

枚举: stream:0,stream:1,streamMode:MAIN,streamMode:SUB,streamprofile:0,streamprofile:1

├─ streamLoopboolean必须是否循环读取输入,对于非标自定义输入流有效
├─ speedinteger必须
├─ hasAudioboolean必须
├─ ondemandboolean必须
├─ useTcpTalkboolean必须
├─ audioFormatinteger必须
├─ toH264boolean必须
├─ mediaIdstring必须当sourceType==INGEST时, 代表外部输入url
├─ policeNostring必须警号,用于 GB35114
├─ idCardNostring必须身份证号,用于 GB35114
├─ vkeksobject []必须vkek列表,用于 GB35114

item 类型: object

├─ deviceIdstring必须
├─ timestring必须
├─ versionstring必须
├─ vkekstring必须
├─ widinteger必须
├─ sourceIdstring必须
├─ mediaobject []必须media 对象,详见备注说明

item 类型: object

├─ progressnumber非必须任务进度,[0-100]
├─ netFlowobject非必须流负载
├─ recvTsnumber必须接收数据时间(毫秒)
├─ sendTsnumber必须发送数据时间(毫秒)
├─ recvnumber必须接收数据大小(bytes/s)
├─ sendnumber必须发送数据大小(bytes/s)
├─ recvRatenumber必须接收数据速率(Kb/s)
├─ sendRatenumber必须发送数据速率(Kb/s)
├─ lossRatenumber必须丢包率(百分比),double 类型
├─ disorderRatenumber必须乱序率(百分比),double 类型
├─ loadinteger必须负载大小(百分比)
msgstring必须

通过url创建取流

基本信息

Path: /live/{deviceId}_{channelId}

Method: POST

接口描述:

通过rtsp 或者 http url 直接【创建取流】
注:
返回数据中的 param 字段里面的值请参考【创建取流】接口里面的说明

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
deviceId
channelId

Query

参数名称 是否必须 示例 备注
config 否 base64(httpPostData), httpPostData是接口【创建取流】的http post请求体
transmit 否 取流传输类型,UDP / TCP,如果存在则优先使用
audio 否 是否输出音频,如果存在则优先使用
ondemand 否 流无人播放观看时是否停止取流,如果存在则优先使用

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ idstring必须
├─ statestring必须
├─ paramobject必须
├─ progressnumber必须
msgstring必须

停止/删除流

基本信息

Path: /api/v1/stream/{streamId}?delete={delete}

Method: DELETE

接口描述:

如果 streamId 不为 null,则删除/停止对应ID的流;如果 streamId 为 null 并且 deviceId 和 channelId 不为 null,则删除/停止对应设备通道的实时流。

请求参数

路径参数

参数名称 示例 备注
streamId 流id
delete 表示停止任务时是否删除文件,默认为true,会删除流信息和录制文件,否则false

Query

参数名称 是否必须 示例 备注
deviceId 否
channelId 否

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
msgstring必须
databoolean必须成功与否

获取流总数

基本信息

Path: /api/v1/stream/count

Method: GET

接口描述:

请求参数

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
datainteger必须记录的stream总数
msgstring必须

分页获取所有流列表

基本信息

Path: /api/v1/stream/list

Method: GET

接口描述:

分页获取所有的流,如果offset和limit都是0,则获取所有指定deviceId和channelId的流。

注:
返回数据中的 param 字段里面的值请参考【创建取流】接口里面的说明
返回数据中的 netFlow 字段里面的值请参考【创建取流】接口里面的说明

请求参数

Query

参数名称 是否必须 示例 备注
deviceId 否
channelId 否
type 否 取流类型,Play / Playback / Download / Talk
state 否 取流状态,PENDING / PROCESSING / TRYING / STOPPED / FAILED / FINISHED
offset 否 偏移量
limit 否 每页的流数目

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ suminteger必须流总数
├─ listobject []必须分页流列表

item 类型: object

├─ idstring必须流id
├─ paramobject必须
├─ statestring必须流状态

枚举: PENDING,PROCESSING,TRYING,STOPPED,FAILED,FINISHED

枚举备注: PENDING: 准备中 PROCESSING: 处理中 TRYING: 重试中 STOPPED: 停止 FAILED: 失败 FINISHED: 完成

├─ progressinteger必须任务进度,[0-100]
├─ netFlowobject必须流负载
msgstring必须

获取流信息

基本信息

Path: /api/v1/stream/{streamId}

Method: GET

接口描述:

注:
返回数据中的 param 字段里面的值请参考【创建取流】接口里面的说明
返回数据中的 netFlow 字段里面的值请参考【创建取流】接口里面的说明

请求参数

路径参数

参数名称 示例 备注
streamId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ idstring必须任务id
├─ statestring必须
├─ paramobject必须
├─ progressnumber必须任务进度,[0-100]
├─ netFlowobject必须
msgstring必须

获取取流状态

基本信息

Path: /api/v1/stream/state

Method: GET

接口描述:

请求参数

Query

参数名称 是否必须 示例 备注
deviceId 否
channelId 否
type 否 取流类型,Play / Playback / Download / Talk
withCascade 否 是否包括级联的流,默认false

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否正在取流中
msgstring必须

获取流进度

基本信息

Path: /stream/{streamId}/progress

Method: GET

接口描述:

请求参数

路径参数

参数名称 示例 备注
streamId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ statestring必须流状态

枚举: PENDING,PROCESSING,TRYING,STOPPED,FAILED,FINISHED

枚举备注: PENDING: 准备中 PROCESSING: 处理中 TRYING: 重试中 STOPPED: 停止 FAILED: 失败 FINISHED: 完成

├─ progressinteger必须流进度,取历史流或者下载时可用,值在[0,100]之间
msgstring必须

获取流的流量

基本信息

Path: /api/v1/stream/{streamId}/stats

Method: GET

接口描述:

注:
返回数据中的 netFlow 字段里面的值请参考【创建取流】接口里面的说明

请求参数

路径参数

参数名称 示例 备注
streamId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须流量信息
msgstring必须

获取流地址

基本信息

Path: /api/v1/stream/{streamId}/streams

Method: GET

接口描述:

根据指定平台设备id获取对应的不同协议流地址

其中返回值中的:
实时流:/live/{deviceId} _ {channelId}.m3u8 或 /live/{streamId}.m3u8
回放流:/vod/{deviceId} _ {channelId}/{streamId}/{sid}/mp4/{streamId}.mp4

live:代表 实时流
vod:代表 点播流(针对hls和mp4)
{deviceId}_{channelId}:代表 设备Id_通道Id
{streamId}:代表 创建取流时返回的 streamId
{sid}:代表 post参数里面对应的某一路media列表里面的索引号即第几路流(可以为0,1,2...)

注意:
INGEST输入源、 回放 / 下载 / 语音对讲 类型的任务用streamId来标识流url(因为不唯一),不要用{deviceId}_{channelId}的方式(只针对实时取流或者录制)播放url

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
streamId

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ urlsobject []非必须

item 类型: object

├─ rtcstring非必须webrtc 流地址 比如:webrtc://ip:8552/live/deviceId_channelId?sid=0,如果不写?sid=0,则默认是sid=0
├─ rtspstring非必须rtsp 流地址 比如:rtsp://ip:8554/live/deviceId_channelId?sid=0,如果不写?sid=0,则默认是sid=0
├─ flvstring非必须http flv 流地址 比如:http://ip:80/live/deviceId_channelId.flv?sid=0
├─ hlsstring非必须http hls 流地址 比如:http://ip:80/live/deviceId_channelId/streamId/0/hls/streamId.m3u8
├─ hlsVodstring非必须hls 点播文件地址 比如:http://ip:80/vod/xxx/deviceId_channelId.m3u8?sid=0
├─ wsfstring非必须websocket flv 流地址 比如:http://ip:80/ws/live/deviceId_channelId.flv?sid=0
├─ mp4string非必须mp4 点播文件地址 比如:http://ip:80/vod/xxx/deviceId_channelId.mp4?sid=0
├─ idstring必须流streamId
├─ deviceIdstring必须平台(如nvr)设备id
├─ channelIdstring必须通道id
msgstring必须

获取语音地址

基本信息

Path: /api/v1/stream/{streamId}/talk

Method: GET

接口描述:

根据指定平台设备id获取对应的不同协议语音地址

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
streamId

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ urlsobject []非必须

item 类型: object

├─ rtspstring非必须rtsp 流地址 比如:rtsp://ip:8554/live/deviceId_channelId?sid=0,如果不写?sid=0,则默认是sid=0
├─ flvstring非必须http flv 流地址 比如:http://ip:80/live/deviceId_channelId.flv?sid=0
├─ wsstring非必须websocket 流地址 比如:http://ip:80/ws/live/deviceId_channelId.flv?sid=0
├─ idstring必须流streamId
├─ deviceIdstring必须平台(如nvr)设备id
├─ channelIdstring必须通道id
msgstring必须

获取流的所有客户端

基本信息

Path: /api/v1/stream/{streamId}/clients

Method: GET

接口描述:

注:
返回数据中的 netFlow 字段里面的值请参考【创建取流】接口里面的说明

请求参数

路径参数

参数名称 示例 备注
streamId

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject []必须

item 类型: object

├─ idstring必须客户端ip(唯一)
├─ ipstring必须客户端ip
├─ portinteger必须客户端端口
├─ typestring必须客户端播放协议

枚举: RTSP_TCP,RTSP_UDP,HTTP_FLV,HTTP_HLS,WEBSOCKET,WEBRTC

├─ createTsnumber必须开始播放时间,毫秒
├─ lastTsstring必须上一次请求时间,毫秒(对于hls播放不同于createTs)
├─ netFlowobject必须流量信息
msgstring必须

踢除指定流id的指定客户端

基本信息

Path: /api/v1/stream/{streamId}/client/{clientId}/kick

Method: GET

接口描述:

请求参数

路径参数

参数名称 示例 备注
streamId
clientId

Query

参数名称 是否必须 示例 备注
type 否 客户端连接的流协议类型,RTSP_TCP / RTSP_UDP / HTTP / HTTP_FLV / HTTP_HLS / WEBSOCKET / WEBRTC_UDP / WEBRTC_TCP
deviceId 否
channelId 否

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须成功与否
msgstring必须

开始/停止流云端录制

基本信息

Path: /api/v1/stream/{streamId}/{sid}/record

Method: GET

接口描述:

请求参数

路径参数

参数名称 示例 备注
streamId 流ID
sid 创建取流时参数里面对应的某一路media列表里面的索引号即第几路流(可以为0,1,2...)

Query

参数名称 是否必须 示例 备注
enable 否 默认true,代表开始(true)还是停止(false)云端录制
interval 否 默认-1,单位秒,大于等于0时代表录制文件片段时间间隔,比如60
id 否 随时随机录制返回的唯一ID,停止录制时必须
type 否 录像类型,time / alarm / manual
deviceId 否
channelId 否

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须true:成功,false:失败
msgstring必须

开始/停止流云端录制(带录像计划)

基本信息

Path: /api/v1/stream/{streamId}/{sid}/recordUrl

Method: GET

接口描述:

请求参数中的 plan 代表录像计划信息:

[
    [    // 星期一,s1 代表开始时间,e1 代表结束时间,允许有多个不重复不交错的的时间段
        {
            "s1":"02:30",
            "e1":"10:30"
        },
        {
            "s1":"12:00",
            "e1":"19:10"
        }
    ],
    [    // 星期二,s2 代表开始时间,e2 代表结束时间
        {
            "s2":"01:00",
            "e2":"08:00"
        }
    ],
    [    // 星期三,s3 代表开始时间,e3 代表结束时间
        {
            "s3":"03:30",
            "e3":"11:30"
        }
    ],
    [],    // 星期四
    [],    // 星期五
    [],    // 星期六
    []     // 星期日
]

请求参数

路径参数

参数名称 示例 备注
streamId 流ID
sid 创建取流时参数里面对应的某一路media列表里面的索引号即第几路流(可以为0,1,2...)

Query

参数名称 是否必须 示例 备注
enable 否 默认true,代表开始(true)还是停止(false)云端录制
interval 否 默认-1,单位秒,大于等于0时代表录制文件片段时间间隔,比如60
format 否 录像格式,mp4 / hls
id 否 随时随机录制返回的唯一ID,停止录制时必须
type 否 录像类型,time / alarm / manual
plan 否 录像计划
autoStartStream 否 是否自动开启流,默认0
encryptScheme 否 录像加密类型,none / cenc-aes-ctr
deviceId 否
channelId 否

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须true:成功,false:失败
msgstring必须

获取流录像信息

基本信息

Path: /api/v1/stream/{streamId}/{sid}/recordUrls

Method: GET

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
streamId
sid

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject []必须

item 类型: object

├─ idstring必须随时随机录制返回的唯一ID
├─ streamIdstring必须流ID
├─ sidinteger必须流索引
├─ plansobject []必须录像计划

item 类型: object

├─ weekinteger必须星期几, 1:星期一 2:星期二 3:星期三 4:星期四 5:星期五 6:星期六 7:星期日
├─ startTimestring必须开始时间(秒),如果 week!=null, 如 10:30 转换为long, 即 10x60x60+30x60,否则自动设置
├─ endTimestring必须结束时间(秒),如果 week!=null, 如 10:30 转换为long, 即 10x60x60+30x60,否则自动设置
├─ encryptSchemestring必须加密方案, none / cenc-aes-ctr
├─ encryptKeystring必须加密密钥, 例如: c7e16c4403654b85847037383f0c2db3
├─ encryptKidstring必须加密密钥id, 例如: a7e61c373e219033c21091fa607bf3b8
msgstring必须

流截图

基本信息

Path: /api/v1/stream/{streamId}/{sid}/snapshot

Method: GET

接口描述:

http 响应头里会生成 "Snapshot-Time": ms,ms 代表截图时间(毫秒)。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
streamId
sid

Query

参数名称 是否必须 示例 备注
format 否 图片格式,jpeg / jpg / bmp / png
update 否 true:强制更新本地存在的截图文件,默认false
withData 否 true:返回 base64 图片数据;false:返回 http url

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
datastring必须如果withData=true,返回 base64 图片数据;否则返回 http url
msgstring必须

服务

获取信令服务配置信息

基本信息

Path: /api/v1/sipper/config

Method: GET

接口描述:

请求参数

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ idstring必须信令服务唯一id
├─ sipIdstring必须sip服务id
├─ realmstring必须sip服务域
├─ hoststring必须sip服务内网ip
├─ wanIpstring必须sip服务公网ip
├─ portinteger必须sip服务监听端口
├─ pwdstring必须接入设备注册密码
├─ maxConnectionsinteger必须-1sip最大连接数, -1表示无限制
├─ maxThreadPoolSizeinteger必须sip最大线程池, -1表示无限制
├─ regDirectionstring必须Unidirection国密注册方向

枚举: Unidirection,Bidirection

枚举备注: Unidirection: 单向 Bidirection: 双向

├─ caDirstring必须国密证书本地目录
├─ checkSipIdboolean必须false检查客户端请求的sipId是否匹配
├─ checkDeviceStatusboolean必须true取流时是否检查设备状态
├─ checkSubjectHeaderboolean必须true取流时是否检查Subject头信息
├─ offlineDeviceWhenCloseboolean必须true当关闭服务时主动使设备离线
├─ authboolean必须true是否开启注册鉴权
├─ keepaliveTimeoutinteger必须300设备保活超时(秒)
├─ sipTimeoutinteger必须30接收信令超时(秒)
├─ sipIntervalinteger必须300每次取流的间隔(毫秒), 防止下级平台或设备无法承受高并发
├─ streamTransmitstring必须UDP默认取流协议

枚举: UDP,TCP

├─ useSdpIpRecvStreamboolean必须true是否使用sdp里的ip收流 (级联和语音对讲场景),注意:公网可能ip地址会变化
├─ maxPlaybackRecordNuminteger必须-1单设备点播录像最大并发数, -1表示无限制
├─ maxDownloadRecordNuminteger必须-1单设备下载录像最大并发数, -1表示无限制
├─ enableMergeRecordInfoboolean必须true是否根据时间首尾合并查询录像列表信息
├─ domainstring必须服务域名, 用于生成取流地址等
├─ httpApiPortinteger必须http api端口
├─ httpsApiPortinteger必须https api端口
├─ callbackUrlstring必须外部回调url,包括设备状态、告警和位置等信息回调
├─ blackliststring必须黑名单ip列表(逗号分隔多个, '*'代表拒绝所有ip访问) 例如: 192.168.0.1,192.168.0.2,192.168.0.*
├─ blacklistUastring必须黑名单User-Agent列表(逗号分隔多个, '*'代表拒绝所有ua访问) 例如: UA1,UA2
├─ refererListstring必须referer白名单列表(逗号分隔多个, '*'代表允许所有ip访问) 例如: 192.168.0.1,192.168.0.2,192.168.0.*
├─ logLevelstring必须ERROR信令日志级别: NONE DEBUG INFO ERROR

枚举: NONE,DEBUG,INFO,ERROR

├─ sslobject必须
├─ enabledboolean必须是否启用ssl
├─ typestring必须证书类型: PKCS12、JKS
├─ pathstring必须证书路径
├─ passwordstring必须证书密码
├─ aliasstring必须证书别名
├─ certstring必须证书文件路径,与上面证书配置二选一
├─ keystring必须证书密钥文件路径
msgstring必须

获取所有流媒体服务列表

基本信息

Path: /api/v1/sms/list

Method: GET

接口描述:

请求参数

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ suminteger必须
├─ liststring []必须所有流媒体服务smsId列表

item 类型: string

├─ 非必须smsId
msgstring必须

获取指定流媒体服务配置信息

基本信息

Path: /api/v1/sms/{smsId}/config

Method: GET

接口描述:

请求参数

路径参数

参数名称 示例 备注
smsId 流媒体服务唯一id

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ idstring必须流媒体服务唯一id(smsId)
├─ sipHoststring必须信令服务器ip
├─ hoststring必须流媒体服务sms内网ip
├─ wanIpstring必须收流ip,流媒体服务sms公网Ip(可选)
├─ domainstring必须服务域名, 用于生成取流地址等
├─ httpApiPortinteger必须http api端口
├─ httpsApiPortinteger必须https api端口
├─ secretstring必须密钥
├─ blackliststring必须黑名单ip列表(逗号分隔多个, '*'代表拒绝所有ip访问) 例如: 192.168.0.1,192.168.0.2,192.168.0.*
├─ refererListstring必须referer白名单列表(逗号分隔多个, '*'代表允许所有ip访问) 例如: 192.168.0.1,192.168.0.2,192.168.0.*
├─ streamProbeSizeinteger必须1048576探测码流信息最大字节数
├─ maxStreamProbePacketsinteger必须2500探测码流信息最大所需包数
├─ maxStreamAnalyzeDurationinteger必须3000探测码流信息最大分析时长(毫秒)
├─ streamMaxRetryinteger必须3取流失败最大重试次数
├─ nonePlayDelayinteger必须30000流无人播放观看时最大等待关闭时间(毫秒)
├─ maxPlayCountinteger必须1000最大并发播放取流数
├─ enableGopCacheboolean必须true是否使用gop缓存减少播放首帧显示延迟
├─ gopCacheSizeinteger必须100gop缓存队列长度
├─ useWanIpRecvStreamboolean必须false是否使用流媒体服务器sms公网Ip接收国标下级流
├─ useWanIpSendStreamboolean必须false是否使用流媒体服务器sms公网ip发流 (级联和语音对讲场景)
├─ useWanIpPlayStreamboolean必须false是否使用流媒体服务器sms公网Ip播放流
├─ enableStartStreamByUrlboolean必须true是否允许用直播地址直接取流
├─ enableRequestIFrameboolean必须false是否允许请求流关键帧
├─ enableApmboolean必须true是否启用apm(音频处理)
├─ maxRecvBandwidthstring必须-1最大并发收流带宽 (单位: B, KB, MB, GB, TB, PB 或者不填默认为B), -1表示无限制
├─ maxSendBandwidthstring必须-1最大并发发流带宽 (单位: B, KB, MB, GB, TB, PB 或者不填默认为B), -1表示无限制
├─ cpuLimitinteger必须最大CPU使用限制 (百分比, 0~100), -1表示无限制
├─ memoryLimitinteger必须最大内存使用限制 (百分比,0~100), -1表示无限制
├─ sslobject必须ssl证书和密钥文件(注意: 使用绝对路径)
├─ enabledboolean必须false是否启用ssl
├─ typestring必须证书类型: PKCS12、JKS
├─ pathstring必须证书路径
├─ passwordstring必须证书密码
├─ aliasstring必须证书别名
├─ certstring必须证书文件路径,与上面证书配置二选一
├─ keystring必须证书密钥文件路径
├─ rtpobject必须rtp媒体服务
├─ packetobject必须
├─ maxCacheinteger必须10000获取rtp数据最大缓存包数
├─ readTimeoutinteger必须30000读取rtp包超时时间(毫秒)
├─ waitTimeoutinteger必须3000等待rtp包超时时间(毫秒)
├─ demuxMaxCacheinteger必须300解封装rtp数据最大缓存包数
├─ jitterBufferSizeinteger必须100排序缓存大小(毫秒)
├─ recvPortinteger必须8070收流端口
├─ minPortinteger必须20000最小rtp监听端口
├─ maxPortinteger必须30000最大rtp监听端口
├─ rtspobject必须rtsp媒体服务
├─ portinteger必须8554rtsp端口
├─ rtpPortinteger必须8556rtsp中rtp本地发送端口
├─ enableMuxboolean必须false是否输出音视频复合流(mp2t格式),否则输出单路流
├─ playLimitinteger必须-1 观看者播放数限制, -1表示无限制
├─ httpobject必须http媒体服务
├─ portinteger必须8050http媒体服务端口
├─ wsPortinteger必须websocket媒体服务端口
├─ httpFlvPlayLimitinteger必须-1http-flv观看者播放数限制, -1表示无限制
├─ wsFlvPlayLimitinteger必须-1websocket-flv观看者播放数限制, -1表示无限制
├─ hlsPlayLimitinteger必须-1http-hls观看者播放数限制, -1表示无限制
├─ callbackUrlstring必须外部回调url,包括流状态和录制回调
├─ Webrtcobject必须webrtc媒体服务
├─ portinteger必须webrtc媒体服务端口
├─ protocolstring必须传输协议

枚举: udp,tcp,all

├─ enableTcpboolean必须false是否允许tcp候选
├─ enableDtlsboolean必须true是否允许dtls
├─ enableSrtpboolean必须true是否加密传输媒体数据
├─ enableNackboolean必须true是否允许nack
├─ enableTwccboolean必须true是否允许twcc
├─ stunStrictCheckboolean必须true是否严格检查stun信息
├─ stunTimeoutinteger必须30000stun超时时间,毫秒
├─ dtlsRolestring必须passivedtls角色类型

枚举: passive,active,actpass,

├─ dtlsVersionstring必须autodtls版本

枚举: auto,dtls1.0,dtls1.2,dtls1.3,

├─ playLimitinteger必须webrtc观看者播放数限制, -1表示无限制
├─ recordobject必须云端录像
├─ dirstring必须/data/gbs/video/存储目录(注意: 尽量使用绝对路径)
├─ encryptboolean必须false是否加密录像文件
├─ cleanobject非必须
├─ enabledboolean必须false是否启用自动清理
├─ thresholdFreeSpacePercentinteger必须剩余磁盘空间百分比阀值(百分比)
├─ thresholdFreeSpaceSizestring必须剩余磁盘空间大小阀值(单位: B, KB, MB, GB, TB, PB 或者不填默认为B)
├─ overdaysinteger必须录像超过几天执行清理(天)
├─ crontabstring必须定时清理计划(表达式)
├─ osdobject必须OSD水印
├─ enabledboolean必须false是否启用osd
├─ maxNuminteger必须5最大同时支持的水印数量
├─ fontFilestring必须字体文件路径
├─ transcodeobject必须
├─ enabledboolean必须false是否启用转码
├─ hwaccelstring必须视频硬编解码加速设备, 不填或者 none: 不使用, auto: 自动, cuda: 英伟达加速卡, videotoolbox: 苹果加速设备
├─ hwdevicestring必须视频硬编解码加速设备编号, 如英伟达加速卡有多卡时可选择某一个编号(0, 1, 2 ...), 不填或者 auto: 自动, [0, 1, 2 ...]: 编号
├─ vbitratenumber必须500默认视频输出码率(Kbps), 不填或者 0: 自动
├─ vthreadsinteger必须4线程数
msgstring必须

获取指定流媒体服务资源信息

基本信息

Path: /api/v1/sms/{smsId}/systemResourceInfo

Method: GET

接口描述:

如果 smsId 为空或者 null,则随机获取一个 流媒体服务。
返回的 data 对象数据形如:

{
    "smsId":"SMS@111111",
    "cpuUsage":{
        "processCpuTime":122332964, // long
        "systemCpuLoad":16,
        "processCpuLoad":0,
        "systemLoadAverageLastMinute":2.51708984375
    },
    "systemInfo":{
        "osName":"Mac OS X",
        "osArch":"x86_64",
        "javaVersion":"11",
        "processorCount":16
    },
    "systemMemoryInfo":{
        "memoryLoad":98,
        "totalMemory":"16GB",
        "availableMemory":"129MB",
        "freeMemory":"129MB",
        "inUseMemory":"15GB",
        "virtualMemory":"10GB",
        "totalSwapSpace":"1024MB",
        "freeSwapSpace":"882MB",
        "inUseSwapSpace":"141MB"
    },
    "fileSystemInfo":{
        "usableSpace":"655GB",
        "totalSpace":"931GB",
        "freeSpace":"910GB",
        "inUseSpace":"20GB"
    },
    "jvmMemoryUsage":{  // withJvm=true时生成
        "maxMemory":"4GB",
        "totalMemory":"308MB",
        "freeMemory":"175MB",
        "inUseMemory":"132MB"
    },
    "jvmNativeMemoryUsage":{  // withJvm=true时生成
        "inUseMemory":"329MB",
        "maxMemory":"16GB"
    },
    "gpuUsageInfo":[  // withGpu=true时生成
        {
            "index": 0,
            "gpuUtilization":10,
            "memoryUtilization":10,
            "memoryTotal":"280MB",
            "memoryFree":"140MB",
            "memoryUsed":"140MB",
            "deviceName":"test"
        }
    ],
    "sessionLoadList":[
        {
            "type": "Play",        // 直播
            "load": 1
        },
        {
            "type": "Playback",    // 回放
            "load": 1
        },
        {
            "type": "Download",    // 下载
            "load": 1
        },
        {
            "type": "Talk",        // 对讲
            "load": 1
        },
        {
            "type": "Cascade",     // 级联
            "load": 1
        },
        {
            "type": "PlayOut",    // 播放
            "load": 1
        },
        {
            "type": "Dvr",        // 录像
            "load": 1
        },
        {
            "type": "Udp",        // UDP流
            "load": 1
        },
        {
            "type": "Tcp",        // TCP流
            "load": 1
        },
        {
            "type": "H264",       // H264流
            "load": 1
        },
        {
            "type": "H265",       // H265流
            "load": 1
        }
    ],
    "totalStreamNetFlow":{
        "recvTs":0,          // 接收数据时间(毫秒),long类型
        "sendTs":0,          // 发送数据时间(毫秒),long类型
        "recv":0,            // 接收数据大小(bytes/s),long类型
        "send":0,            // 发送数据大小(bytes/s),long类型
        "recvRate":0,        // 接收数据速率(Kb/s),long类型
        "sendRate":0,        // 发送数据速率(Kb/s),long类型
        "lossRate":0,        // 丢包率(百分比),double类型
        "disorderRate":0,    // 乱序率(百分比),double类型
        "load":0             // 负载大小(百分比),int类型
    },
    "totalLiveStreamSize":1, // int类型
    "httpFlvViewers":1,
    "wsFlvViewers":2,
    "rtspViewers":3,
    "hlsViewers":4,
    "webRtcViewers":0,
    "serverTime":{
        "upTime":5537097,          // long类型
        "startTime":1633921674473  // long类型
    },
    "time":"2022-05-29 09:35:32"
}

请求参数

路径参数

参数名称 示例 备注
smsId 流媒体服务唯一id

Query

参数名称 是否必须 示例 备注
withJvm 否 是否获取jvm信息,默认false
withGpu 否 是否获取gpu信息,默认true

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须资源信息
msgstring必须

获取指定流媒体服务负载信息

基本信息

Path: /api/v1/sms/{smsId}/systemLoad

Method: GET

接口描述:

如果 smsId 为空或者 null,则随机获取一个 流媒体服务。
返回的 data 对象数据形如:

{
    "smsId":"SMS@111111",
    "cpuUsage":{
        "systemCpuLoad":[
            {
                "time": 1633921674473,    // 当前时间,long类型
                "load": 1,                // 当前时间的负载大小,int类型
            },
            {
                "time": 1633921675473,    // 当前时间,long类型
                "load": 1,                // 当前时间的负载大小,int类型
            },
            ... // 一般包含10组,间隔1秒
        ]
    },
    "systemInfo":{
        "osName":"Mac OS X",
        "osArch":"x86_64",
        "javaVersion":"11",
        "processorCount":16
    },
    "systemMemoryInfo":{
        "memoryLoad":98,
        "totalMemory":"16GB",
        "availableMemory":"129MB",
        "freeMemory":"129MB",
        "inUseMemory":"15GB",
        "virtualMemory":"10GB",
        "totalSwapSpace":"1024MB",
        "freeSwapSpace":"882MB",
        "inUseSwapSpace":"141MB"
    },
    "fileSystemInfo":{
        "usableSpace":"655GB",
        "totalSpace":"931GB",
        "freeSpace":"910GB",
        "inUseSpace":"20GB"
    },
    "jvmMemoryUsage":{  // withJvm=true时生成
        "maxMemory":"4GB",
        "totalMemory":"308MB",
        "freeMemory":"175MB",
        "inUseMemory":"132MB"
    },
    "jvmNativeMemoryUsage":{  // withJvm=true时生成
        "inUseMemory":"329MB",
        "maxMemory":"16GB"
    },
    "gpuUsageInfo":[  // withGpu=true时生成
        {
            "index": 0,
            "gpuUtilization":10,
            "memoryUtilization":10,
            "memoryTotal":"280MB",
            "memoryFree":"140MB",
            "memoryUsed":"140MB",
            "deviceName":"test"
        }
    ],
    "sessionLoadList":[
        {
            "type": "Play",        // 直播
            "load": 1
        },
        {
            "type": "Playback",    // 回放
            "load": 1
        },
        {
            "type": "Download",    // 下载
            "load": 1
        },
        {
            "type": "Talk",        // 对讲
            "load": 1
        },
        {
            "type": "Cascade",     // 级联
            "load": 1
        },
        {
            "type": "PlayOut",    // 播放
            "load": 1
        },
        {
            "type": "Dvr",        // 录像
            "load": 1
        },
        {
            "type": "Udp",        // UDP流
            "load": 1
        },
        {
            "type": "Tcp",        // TCP流
            "load": 1
        },
        {
            "type": "H264",       // H264流
            "load": 1
        },
        {
            "type": "H265",       // H265流
            "load": 1
        }
    ],
    "totalStreamNetFlow":{
        "recvTs":0,          // 接收数据时间(毫秒),long类型
        "sendTs":0,          // 发送数据时间(毫秒),long类型
        "recv":0,            // 接收数据大小(bytes/s),long类型
        "send":0,            // 发送数据大小(bytes/s),long类型
        "recvRate":0,        // 接收数据速率(Kb/s),long类型
        "sendRate":0,        // 发送数据速率(Kb/s),long类型
        "lossRate":0,        // 丢包率(百分比),double类型
        "disorderRate":0,    // 乱序率(百分比),double类型
        "load":0             // 负载大小(百分比),int类型
    },
    "totalLiveStreamSize":1, // int类型
    "httpFlvViewers":1,
    "wsFlvViewers":2,
    "rtspViewers":3,
    "hlsViewers":4,
    "webRtcViewers":0,
    "serverTime":{
        "upTime":5537097,          // long类型
        "startTime":1633921674473  // long类型
    },
    "time":"2022-05-29 09:35:32"
}

请求参数

路径参数

参数名称 示例 备注
smsId

Query

参数名称 是否必须 示例 备注
withJvm 否 是否获取jvm信息,默认false
withGpu 否 是否获取gpu信息,默认true

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须负载信息
msgstring必须

获取指定流媒体服务流量信息

基本信息

Path: /api/v1/sms/{smsId}/stream/stats

Method: GET

接口描述:

如果 smsId 为空或者 null,则获取所有流媒体服务流量,返回的 data 内容为:

{
    "smdId_1": {
        "recvTs": 0,        // 接收数据时间(毫秒)
        "sendTs": 0,        // 发送数据时间(毫秒)
        "recv": 0,          // 总接收流字节数,bytes/s
        "send": 0,          // 发送收流字节数,bytes/s
        "recvRate": 0,      // 接收速率,Kb/s
        "recvRate": 0,      // 发送速率,Kb/s
        "lossRate": 0,      // 丢包率(百分比)
        "disorderRate": 0,  // 乱序率(百分比)
        "load": 0           // 负载大小(百分比)
    },
    "smdId_2": {
        "recvTs": 0,        // 接收数据时间(毫秒)
        "sendTs": 0,        // 发送数据时间(毫秒)
        "recv": 0,          // 总接收流字节数,bytes/s
        "send": 0,          // 发送收流字节数,bytes/s
        "recvRate": 0,      // 接收速率,Kb/s
        "recvRate": 0,      // 发送速率,Kb/s
        "lossRate": 0,      // 丢包率(百分比)
        "disorderRate": 0,  // 乱序率(百分比)
        "load": 0           // 负载大小(百分比)
    },
    ......
}

其中 smsId_1、smsId_2 代表具体的某一个 sms id

如果 smsId 不为空,则获取指定 smsId 的流媒体服务流量,返回的 data 内容为:

{
    "recvTs": 0,        // 接收数据时间(毫秒)
    "sendTs": 0,        // 发送数据时间(毫秒)
    "recv": 0,          // 总接收流字节数,bytes/s
    "send": 0,          // 发送收流字节数,bytes/s
    "recvRate": 0,      // 接收速率,Kb/s
    "recvRate": 0,      // 发送速率,Kb/s
    "lossRate": 0,      // 丢包率(百分比)
    "disorderRate": 0,  // 乱序率(百分比)
    "load": 0           // 负载大小(百分比)
}

请求参数

路径参数

参数名称 示例 备注
smsId 流媒体服务唯一id

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须流媒体服务流量信息
msgstring必须

删除指定流媒体服务录像文件

基本信息

Path: /api/v1/sms/{smsId}/stream/records

Method: DELETE

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
smsId

Body

名称类型是否必须默认值备注其他信息
object []必须录像信息列表

item 类型: object

├─ idstring必须文件ID
├─ filePathstring必须文件路径

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
datanumber []必须id 列表

item 类型: number

├─ 非必须id
msgstring必须

重启信令服务

基本信息

Path: /api/v1/sipper/restart

Method: GET

接口描述:

请求参数

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

关闭信令服务

基本信息

Path: /api/v1/sipper/shutdown

Method: GET

接口描述:

请求参数

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

重启指定流媒体服务

基本信息

Path: /api/v1/sms/{smsId}/restart

Method: GET

接口描述:

请求参数

路径参数

参数名称 示例 备注
smsId 流媒体服务唯一id

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

关闭指定流媒体服务

基本信息

Path: /api/v1/sms/{smsId}/shutdown

Method: GET

接口描述:

请求参数

路径参数

参数名称 示例 备注
smsId 流媒体服务唯一id

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

黑名单

获取黑名单ip列表

基本信息

Path: /sipper/blacklist/ip

Method: GET

接口描述:

请求参数

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
datastring []必须ip列表

item 类型: string

├─ 非必须
msgstring必须

添加黑名单ip列表

基本信息

Path: /sipper/blacklist/ip

Method: POST

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

Body

名称类型是否必须默认值备注其他信息
ipListstring []必须ip列表

item 类型: string

├─ 非必须ip

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

删除黑名单ip列表

基本信息

Path: /sipper/blacklist/ip

Method: DELETE

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

Body

名称类型是否必须默认值备注其他信息
ipListstring []必须ip列表

item 类型: string

├─ 非必须

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

获取黑名单ua(用户代理)列表

基本信息

Path: /sipper/blacklist/ua

Method: GET

接口描述:

请求参数

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
datastring []必须ip列表

item 类型: string

├─ 非必须
msgstring必须

添加黑名单ua(用户代理)列表

基本信息

Path: /sipper/blacklist/ua

Method: POST

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

Body

名称类型是否必须默认值备注其他信息
uaListstring []必须ua列表

item 类型: string

├─ 非必须ip

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

删除黑名单ua(用户代理)列表

基本信息

Path: /sipper/blacklist/ua

Method: DELETE

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

Body

名称类型是否必须默认值备注其他信息
uaListstring []必须ua列表

item 类型: string

├─ 非必须

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

onvif

搜索设备

基本信息

Path: /api/v1/onvif/discover

Method: GET

接口描述:

请求参数

Query

参数名称 是否必须 示例 备注
ip 否 本地ip

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
datastring []必须设备

item 类型: string

├─ 非必须
msgstring必须

删除设备

基本信息

Path: /api/v1/onvif/account/{ids}

Method: DELETE

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
ids 设备ID列表,List类型

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

导入设备账号信息

基本信息

Path: /api/v1/onvif/import

Method: POST

接口描述:

在调用【搜索设备】接口完成后,再调用此接口完成对应设备ip的账号匹配。

等同于此接口:/api/v1/onvif/account/import

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

Body

名称类型是否必须默认值备注其他信息
object []非必须

item 类型: object

├─ idstring必须由外部指定的全局唯一id,可以是GBID
├─ hostnamestring必须设备ip地址
├─ usernamestring必须设备用户名
├─ passwordstring必须设备密码

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
datastring必须
msgstring必须

删除设备账号信息

基本信息

Path: /api/v1/onvif/account/{id}

Method: DELETE

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
id 账号ID

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

获取所有设备信息

基本信息

Path: /api/v1/onvif/device/infos

Method: GET

接口描述:

请求参数

Query

参数名称 是否必须 示例 备注
offset 否 数据偏移量
limit 否 每页大小
update 否 是否连接设备进行强制更新,0或1

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ suminteger必须设备总数
├─ listobject []必须分页设备列表

item 类型: object

├─ hostnamestring必须
├─ usernamestring必须
├─ passwordstring必须
├─ idstring必须唯一id,可以是GBID
├─ namestring必须
├─ manufacturerstring必须
├─ modelstring必须
├─ firmwareVersionstring必须
├─ serialNumberstring必须
├─ hardwareIdstring必须
├─ deviceUrlstring必须
├─ usersobject []必须

item 类型: object

├─ usernamestring必须
├─ passwordstring必须
├─ userLevelstring必须
├─ urlsobject必须多条对象集合
├─ profile具体名称,依据设备配置object必须设备的每个profile名称,每个设备可能不一样
├─ rtspUrlstring必须
├─ httpUrlstring必须
├─ snapshotUrlstring必须
msgstring必须

获取设备信息

基本信息

Path: /api/v1/onvif/device/info

Method: GET

接口描述:

请求参数

Query

参数名称 是否必须 示例 备注
update 否 是否连接设备进行强制更新,0或1
ip 否
hostname 否
username 是
password 是

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ hostnamestring必须
├─ usernamestring必须
├─ passwordstring必须
├─ idstring必须唯一id,可以是GBID
├─ namestring必须
├─ manufacturerstring必须
├─ modelstring必须
├─ firmwareVersionstring必须
├─ serialNumberstring必须
├─ hardwareIdstring必须
├─ deviceUrlstring必须
├─ usersobject []必须

item 类型: object

├─ usernamestring必须
├─ passwordstring必须
├─ userLevelstring必须
├─ urlsobject必须多条对象集合
├─ profile具体名称,依据设备配置object必须设备的每个profile名称,每个设备可能不一样
├─ rtspUrlstring必须
├─ httpUrlstring必须
├─ snapshotUrlstring必须
msgstring必须

获取设备信息

基本信息

Path: /api/v1/onvif/device/{id}/info

Method: GET

接口描述:

请求参数

路径参数

参数名称 示例 备注
id 自定义设备id

Query

参数名称 是否必须 示例 备注
update 否 是否连接设备进行强制更新,0或1

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
dataobject必须
├─ hostnamestring必须
├─ usernamestring必须
├─ passwordstring必须
├─ idstring必须唯一id,可以是GBID
├─ namestring必须
├─ manufacturerstring必须
├─ modelstring必须
├─ firmwareVersionstring必须
├─ serialNumberstring必须
├─ hardwareIdstring必须
├─ deviceUrlstring必须
├─ usersobject []必须

item 类型: object

├─ usernamestring必须
├─ passwordstring必须
├─ userLevelstring必须
├─ urlsobject必须多条对象集合
├─ profile具体名称,依据设备配置object必须设备的每个profile名称,每个设备可能不一样
├─ rtspUrlstring必须
├─ httpUrlstring必须
├─ snapshotUrlstring必须
msgstring必须

ptz控制

基本信息

Path: /api/v1/onvif/device/{id}/ptz

Method: GET

接口描述:

请求参数

路径参数

参数名称 示例 备注
id 自定义设备id

Query

参数名称 是否必须 示例 备注
x 否 x方向值,取值范围[-1.0f, 1.0f]
y 否 y方向值,取值范围[-1.0f, 1.0f]
z 否 zoom方向值,当movement=relative或者continous时,取值范围[-1.0f, 1.0f],当movement=absolute时,取值范围[0.0f, 1.0f]
movement 否 移动类型,取值:relative、continuous、absolute
start 否 是否开始还是停止ptz控制,默认true(或者1),false代表停止ptz控制

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

截图设备

基本信息

Path: /api/v1/onvif/device/{id}/snapshot

Method: GET

接口描述:

请求参数

路径参数

参数名称 示例 备注
id 自定义设备id

Query

参数名称 是否必须 示例 备注
profile 否 设备profile名称,默认主profile

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
datastring必须base64图片数据
msgstring必须

重启设备

基本信息

Path: /api/v1/onvif//device/{id}/reboot

Method: DELETE

接口描述:

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是

路径参数

参数名称 示例 备注
id 设备ID

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

非标

设备心跳

基本信息

Path: /api/v1/gb/control/{deviceId}/keepalive

Method: POST

接口描述:

按照 HTTP DIGEST 认证方式(摘要认证)。
参考:https://blog.csdn.net/jlq_diligence/article/details/128172793

注意:需要先调用【添加设备】接口添加一个设备,配置好设备编码ID、注册密码、注册周期 / 心跳 等参数。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是
User-Identify 是 设备编码ID

路径参数

参数名称 示例 备注
deviceId

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

设备注册

基本信息

Path: /api/v1/gb/control/{deviceId}/register

Method: POST

接口描述:

按照 HTTP DIGEST 认证方式(摘要认证)。
参考:https://blog.csdn.net/jlq_diligence/article/details/128172793

注意:需要先调用【添加设备】接口添加一个设备,配置好设备编码ID、注册密码、注册周期 / 心跳 等参数。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是
User-Identify 是 设备编码ID

路径参数

参数名称 示例 备注
deviceId

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

设备注销

基本信息

Path: /api/v1/gb/control/{deviceId}/unregister

Method: POST

接口描述:

按照 HTTP DIGEST 认证方式(摘要认证)。
参考:https://blog.csdn.net/jlq_diligence/article/details/128172793

注意:需要先调用【添加设备】接口添加一个设备,配置好设备编码ID、注册密码、注册周期 / 心跳 等参数。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json 是
User-Identify 是 设备编码ID

路径参数

参数名称 示例 备注
deviceId

Body

名称类型是否必须默认值备注其他信息

返回数据

名称类型是否必须默认值备注其他信息
codeinteger必须
databoolean必须是否成功
msgstring必须

Build by 上海南宙科技有限公司.