Appearance
消息订阅(设备)
消息订阅流程
- 在应开平台web端【控制台-行业视频集成应用-应用配置-消息推送地址】配置消息回调地址。
- 在应开平台web端【控制台-行业视频集成应用-应用配置-消息类型配置】配置需要推送的基本消息。
- 使用消息订阅接口订阅其他类型消息(设备告警、人脸事件消息、AI事件消息)。
- 应开平台把消息以发送HTTP POST请求的方式发送到回调地址。
- 应开平台推送服务出口网段为:183.230.40.0/24、111.10.41.199,若订阅服务侧有网络限制,请务必添加白名单。
消息订阅
接口功能
设备告警、AI事件订阅
请求地址
TEXT
https://open.qly.cmviot.cn/v3/open/api/app/alarm/subscribe请求方式
POST,需要鉴权
请求参数
| 参数名称 | 参数类型 | 是否必需 | 参数含义 | 说明 |
|---|---|---|---|---|
| subscribeInfos | List<subscribeInfo> | Y | 订阅信息集合 | 最大30条 |
subscribeInfo:
| 参数名称 | 参数类型 | 是否必需 | 参数含义 | 说明 |
|---|---|---|---|---|
| deviceId | String | Y | 设备id | |
| event | String | N | 订阅事件集合 | 为空或者不传,则为取消订阅;需订阅新事件,请带上历史订阅的事件,若仅传新事件名,代表仅订阅该事件 |
event可选类型如下:
- motion(运动告警)
- sound(声音告警)
- regional_invasion(区域入侵)
- border_intrusion(边界入侵)
- cross_border_detection(越界侦测)
- face_snap(人脸抓拍)
- face_recognition(人脸识别结果)
- ai (AI事件消息)
- car_snap(车辆抓拍)
- car_recognition(车辆识别)
- human(人形告警)
event格式: 一个json字符串数组。例如: ["motion","sound"],然后将json格式化成字符串,填入参数。
请求内容
json
{
"subscribeInfos": [{"deviceId":"xxxxS_12341234adf","event":"[\"motion\",\"sound\"]"}]
}响应参数
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| resultCode | String | 响应码 | 参考响应码定义 |
| resultMsg | String | 响应描述 |
返回数据示例
json
{
"resultCode": "000000",
"resultMsg": "成功"
}设备告警取消订阅
接口功能
设备告警取消订阅接口
请求地址
TEXT
https://open.qly.cmviot.cn/v3/open/api/app/alarm/unsubscribe请求方式
POST,需要鉴权
请求参数
| 参数名称 | 参数类型 | 是否必需 | 参数含义 | 说明 |
|---|---|---|---|---|
| unsubscribeInfos | List<unsubscribeInfo> | Y | 取消订阅信息集合 | 设备数量不能超过30个 |
unsubscribeInfo:
| 参数名称 | 参数类型 | 是否必需 | 参数含义 | 说明 |
|---|---|---|---|---|
| deviceId | String | Y | 设备id | |
| event | String | Y | 取消订阅事件集合 | 例:["motion","sound"] |
event可选类型如下:
- motion(运动告警)
- sound(声音告警)
- regional_invasion(区域入侵)
- border_intrusion(边界入侵)
- cross_border_detection(越界侦测)
- face_snap(人脸抓拍)
- face_recognition(人脸识别结果)
- ai (AI事件消息)
- car_snap(车辆抓拍)
- car_recognition(车辆识别)
- human(人形告警)
event格式: 一个json字符串数组。例如: ["motion","sound"],然后将json格式化成字符串,填入参数。
请求内容
json
{
"unsubscribeInfos": [{"deviceId":"xxxxS_12341234adf","event":"[\"motion\",\"sound\"]"}]
}响应参数
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| resultCode | String | 响应码 | 参考响应码定义 |
| resultMsg | String | 响应描述 |
返回数据示例
json
{
"resultCode": "000000",
"resultMsg": "成功"
}订阅查询
接口功能
查询已经订阅消息的设备以及订阅的事件
请求地址
TEXT
https://open.qly.cmviot.cn/v3/open/api/app/alarm/subscribe/query请求方式
POST,需要鉴权
请求参数
| 参数名称 | 参数类型 | 是否必需 | 参数含义 | 说明 |
|---|---|---|---|---|
| deviceId | String | N | 设备id | |
| page | int | Y | 页数 | |
| pageSize | int | Y | 页大小 | 最大100 |
请求内容
json
{
"deviceId": "xxxxS_12341234adf",
"page": 1,
"pageSize": 100
}响应参数
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| resultCode | String | 响应码 | 参考响应码定义 |
| resultMsg | String | 响应描述 | |
| total | Integer | 记录数 | 分页查询时使用 |
| page | Integer | 当前页 | 分页查询时使用 |
| pageSize | Integer | 页大小 | 分页查询时使用 |
| data | List | 响应数据 | 响应数据,支持普通业务数据以及列表两种方式 |
data数据模型
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| deviceId | String | 设备id | |
| event | String | 订阅事件集合 | 例:["motion","sound"] |
返回数据示例
json
{
"resultCode": "000000",
"resultMsg": "成功",
"total": 1,
"page": 1,
"pageSize": 100,
"data": [
{
"deviceId":"xxxxS_12341234adf",
"event":"[\"motion\",\"sound\"]"
}
]
}消息格式
消息统一数据结构:
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| appId | String | 应用id | |
| sig | String | 签名 | MD5(appId+secret),计算值为32位小写 |
| msgList | list | 消息列表 |
msgList数据格式:
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| msgType | String | 消息类型 | 参考消息类型 |
| timeStamp | String | 消息时间戳 | 13位毫秒 |
| data | String | 消息内容 | 不同的消息类型,data的格式不同,请根据消息类型分别解析 |
json
{
"appId": "xxx",
"sig": "xxx",
"msgList": [{
"msgType": "xxx",
"timeStamp": "xxx",
"data": {
"xxx": "xxx"
}
}, {
"msgType": "xxx",
"timeStamp": "xxx",
"data": {
"xxx": "xxx"
}
}]
}消息类型
| 消息类型 | 说明 |
|---|---|
MESSAGE_DEVICE_BIND | 设备绑定消息 |
MESSAGE_DEVICE_UNBIND | 设备解绑消息 |
MESSAGE_DEVICE_ONLINE | 设备上线消息 |
MESSAGE_DEVICE_OFFLINE | 设备下线消息 |
MESSAGE_DEVICE_MOTION | 设备运动告警消息 |
MESSAGE_DEVICE_SOUND | 设备声音告警消息 |
MESSAGE_REGIONAL_INVASION | 区域入侵消息 |
MESSAGE_BORDER_INTRUSION | 边界入侵消息 |
MESSAGE_CROSS_BORDER_DETECTION | 越界侦测消息 |
MESSAGE_DEVICE_HUMAN | 人形告警 |
MESSAGE_FACE_SNAP | 人脸抓拍消息 |
MESSAGE_FACE_RECOGNITION | 人脸识别结果 |
MESSAGE_AI | AI事件消息 |
MESSAGE_CAR_SNAP | 车辆抓拍消息 |
MESSAGE_CAR_RECOGNITION | 车辆识别结果 |
设备绑定解绑消息
从应开平台获取千里眼私有协议设备的设备绑定和解绑消息。国标协议设备不会产生这两类消息。
消息类型:
设备绑定消息:MESSAGE_DEVICE_BIND
设备解绑消息:MESSAGE_DEVICE_UNBIND
data结构
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| deviceId | String | 设备id | |
| tokenNum | String | token号 |
示例
设备绑定消息:
json
{
"...": "...",
"msgList": [{
"msgType": "MESSAGE_DEVICE_BIND",
"timeStamp": "1583317657000",
"data": {
"deviceId": "xxxxS_abcde",
"tokenNum": "11654109845187"
}
}]
}设备解绑消息:
json
{
"...": "...",
"msgList": [{
"msgType": "MESSAGE_DEVICE_UNBIND",
"timeStamp": "1583317657000",
"data": {
"deviceId": "xxxxS_abcde",
"tokenNum": "11654109845187"
}
}]
}设备上下线消息
从应开平台获取已绑定设备的上下线消息。
消息类型:
设备上线:MESSAGE_DEVICE_ONLINE
设备下线:MESSAGE_DEVICE_OFFLINE
data结构
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| deviceId | String | 设备id | |
| onlineTime | String | 上线时间 | 上线消息存在 |
| offlineTime | String | 离线时间 | 离线消息存在 |
示例
设备上线消息:
json
{
"...": "...",
"msgList": [{
"msgType": "MESSAGE_DEVICE_ONLINE",
"timeStamp": "1583317657000",
"data": {
"deviceId": "xxxxS_abcde",
"onlineTime": "1579141371720"
}
}]
}设备下线消息:
json
{
"...": "...",
"msgList": [{
"msgType": "MESSAGE_DEVICE_OFFLINE",
"timeStamp": "1583317657000",
"data": {
"deviceId": "xxxxS_abcde",
"offlineTime": "1579141371720"
}
}]
}设备告警消息
从应开平台获取设备告警消息。该消息是由设备触发后通知平台。
消息类型:
运动告警消息:MESSAGE_DEVICE_MOTION
声音告警消息:MESSAGE_DEVICE_SOUND
边界入侵消息: MESSAGE_BORDER_INTRUSION
越界侦测消息:MESSAGE_CROSS_BORDER_DETECTION
data结构
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| deviceId | String | 设备id | |
| detectTime | String | 告警时间 | 毫秒 |
示例
运动告警消息:
json
{
"...": "...",
"msgList": [{
"msgType": "MESSAGE_DEVICE_MOTION",
"timeStamp": "1583317657000",
"data": {
"deviceId": "xxxxS_abcde",
"detectTime": "1584599831303"
}
}]
}声音告警消息:
json
{
"...": "...",
"msgList": [{
"msgType": "MESSAGE_DEVICE_SOUND",
"timeStamp": "1583317657000",
"data": {
"deviceId": "xxxxS_abcde",
"detectTime": "1584599831303"
}
}]
}边界入侵告警消息:
json
{
"...": "...",
"msgList": [{
"msgType": "MESSAGE_BORDER_INTRUSION",
"timeStamp": "1583317657000",
"data": {
"deviceId": "xxxxS_abcde",
"detectTime": "1584599831303"
}
}]
}越界侦测告警消息:
json
{
"...": "...",
"msgList": [{
"msgType": "MESSAGE_CROSS_BORDER_DETECTION",
"timeStamp": "1583317657000",
"data": {
"deviceId": "xxxxS_abcde",
"detectTime": "1584599831303"
}
}]
}区域入侵消息:MESSAGE_REGIONAL_INVASION
人形告警:MESSAGE_DEVICE_HUMAN
data结构
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| deviceId | String | 设备id | |
| detectTime | String | 告警时间 | 毫秒 |
| deviceName | String | 设备名称 | |
| deviceAddress | String | 设备地址 | |
| region | String | 设备所在企业编码(本级企业) | |
| regionName | String | 设备所在企业名称(本级企业) | |
| storeId | String | 设备所属节点编码 | |
| storeName | String | 设备所属节点名称 |
区域入侵告警消息:
json
{
"...": "...",
"msgList": [{
"msgType": "MESSAGE_REGIONAL_INVASION",
"timeStamp": "1583317657000",
"data": {
"deviceId": "xxxxS_abcde",
"detectTime": "1584599831303"
}
}]
}人形告警消息:
json
{
"...": "...",
"msgList": [{
"msgType": "MESSAGE_DEVICE_HUMAN",
"timeStamp": "1583317657000",
"data": {
"deviceId": "xxxxS_abcde",
"detectTime": "1584599831303"
}
}]
}人脸事件消息
从应开平台获取设备人脸事件消息。人脸抓拍事件消息由前端设备触发。
消息类型:
人脸抓拍消息:MESSAGE_FACE_SNAP
人脸识别结果:MESSAGE_FACE_RECOGNITION
data结构
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| deviceId | String | 设备id | |
| detectTime | String | 事件触发时间 | 毫秒 |
| deviceName | String | 设备名称 | |
| deviceAddress | String | 设备地址 | |
| region | String | 设备所在企业编码(本级企业) | |
| regionName | String | 设备所在企业名称(本级企业) | |
| storeId | String | 设备所属节点编码 | |
| storeName | String | 设备所属节点名称 | |
| alarmContext | String | 事件的内容 | 不同的消息类型,告警的内容不同,请根据消息类型分别解析 |
人脸抓拍消息
alarmContext结构
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| url | String | 人脸抓拍的图片下载地址 | 有效期1个小时 |
| faceUrl | String | 人脸图片下载地址 | |
| snapUrl | String | 抓拍图片下载地址 | |
| top | int | 人脸事件框左上角顶点的 Y 坐标 | |
| left | int | 人脸事件框左上角顶点的 X 坐标 | |
| width | int | 人脸事件框宽度 | |
| height | int | 人脸事件框高度 | |
| snapImageId | String | 抓拍图片ID | |
| gender | int | 性别,-1:未知,0:女性 ,1:男性 | |
| age | int | 年龄 | |
| faceExpression | String | 情绪识别结果 | unknown:未知,surprised:惊讶,panic:害怕,disgusted:厌恶,happy:高兴,sad:难过,angry:愤怒,poker-faced:无表情 |
示例
json
{
"...": "...",
"msgList": [{
"msgType": "MESSAGE_FACE_SNAP",
"timeStamp": "1583317657000",
"data": {
"alarmContext": "{\"url\": \"http://oss-open.qly.cmviot.cn/andmu/open/xxxx\",\"faceUrl\": \"http://oss-open.qly.cmviot.cn/andmu/open/xxxx\",\"snapUrl\": \"http://oss-open.qly.cmviot.cn/andmu/open/xxxx\",\"snapImageId\": \"27897508881328\",\"top\": 362,\"left\": 897,\"width\": 39,\"height\": 36,\"gender\": 0,\"age\": 20}",
"deviceId": "xxxxS_abcde",
"detectTime": "1584599831303"
}
}]
}人脸识别结果:
alarmContext结构
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| faceUrl | String | 抓拍图片中的人脸小图 | 有效期1个小时 |
| faceId | String | 人脸ID | 同一个人的人脸ID相同,人员新增接口返回的监控人员id |
| gender | String | 性别 | AI识别出的性别:男、女、未知 |
| age | int | 年龄 | AI识别的年龄 |
| snapTime | int | 抓拍时间戳 | 13位时间戳 |
| snapUrl | String | 抓拍图片 | 有效期1个小时 |
| similarity | String | 相似度 | 最大100,返回100以内数值,string传输 |
| monitorTaskName | String | 布控任务名称 | 该设备对应的布控任务名称 |
| realName | String | 人员姓名 | 人员姓名 |
| faceObjectId | String | 人脸图片id | 人员新增时关联的人脸图片ID |
| snapObjectId | String | 抓拍图片在老视图库中的图片id | 抓拍图片的图片ID,新/老视图库ID只返回一个 |
| snapImageId | String | 抓拍图片在视联网视图库中的图片id | 抓拍图片的图片ID,视联网/老视图库ID只返回一个 |
示例
json
{
"...": "...",
"msgList": [{
"msgType": "MESSAGE_FACE_RECOGNITION",
"timeStamp": "1583317657000",
"data": {
"alarmContext": "{\"faceUrl\": \"http:/xxxx\",\"faceId\": \"11\",\"gender\": \"男\",\"age\": 1,\"snapTime\": 1654657463521,\"snapUrl\": \"http://xxxx\"}",
"deviceId": "xxxxS_abcde",
"detectTime": "1584599831303"
}
}]
}车辆事件消息
从应开平台获取设备车辆事件消息。车辆抓拍事件消息由前端设备触发。
消息类型:
车辆抓拍消息:MESSAGE_CAR_SNAP
车辆识别结果:MESSAGE_CAR_RECOGNITION
data结构
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| deviceId | String | 设备id | |
| detectTime | String | 事件触发时间 | 毫秒 |
| alarmContext | String | 事件的内容 | 不同的消息类型,告警的内容不同,请根据消息类型分别解析 |
车辆抓拍消息
alarmContext结构
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| vehicleLicenceId | String | 车牌号 | 车牌号 |
| snapUrl | String | 车辆抓拍图片 | 有效期1小时 |
| vehicleLicenceUrl | String | 车牌号抠图图片 | 有效期1小时 |
| type | String | 车辆类型 | 参考GAT-1400协议类型 |
| licenceColor | String | 车牌颜色 | 参考GAT-1400协议类型 |
| vehicleColor | String | 车身颜色 | 参考GAT-1400协议类型 |
| brand | String | 汽车品牌 | 参考GAT-1400协议类型 |
| snapObjectId | String | 任务ID | 内部任务ID |
示例
json
{
"...": "...",
"msgList":
[{
"msgType": "MESSAGE_CAR_SNAP",
"data":
{
"alarmContext":
{ "vehicleLicenceId": "京A88888",
"snapUrl": "http://picture-url",
"type": "大众高尔夫",
"licenceColor": "blue",
"vehicleColor": "white",
"brand": "大众",
"snapObjectId": ""
},
"deviceId": "xxxxS_abcde",
"detectTime": "1584599831303"
}
}]
}车辆识别结果:
alarmContext结构
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| vehicleLicenceId | String | 车牌号 | 车牌号 |
| snapUrl | String | 车辆抓拍图片 | 有效期1小时 |
| vehicleLicenceUrl | String | 车牌号抠图图片 | 有效期1小时 |
| type | String | 车辆类型 | 参考GAT-1400协议类型 |
| licenceColor | String | 车牌颜色 | 参考GAT-1400协议类型 |
| vehicleColor | String | 车身颜色 | 参考GAT-1400协议类型 |
| brand | String | 汽车品牌 | 参考GAT-1400协议类型 |
| monitorTaskName | String | 布控任务名称 | 布控任务名称 |
| snapObjectId | String | 任务ID | 内部任务ID |
示例
json
{
"...": "...",
"msgList": [{
"msgType": "MESSAGE_FACE_RECOGNITION",
"deviceId": "155dfs2525",
"detectTime": "1584599831303",
"data": {
"alarmContext": {
"vehicleLicenceId": "京A88888",
"snapUrl": "http://picture-url",
"type": "大众高尔夫",
"licenceColor": "blue",
"vehicleColor": "white",
"brand": "大众",
"monitorTaskName": "布控任务1",
"snapObjectId": ""
}
}
}]
}AI事件消息
从应开平台获取设备ai事件消息。
消息类型:
AI事件消息:MESSAGE_AI
data结构
| 参数名称 | 参数类型 | 参数含义 | 说明 |
|---|---|---|---|
| deviceId | String | 设备id | |
| detectTime | String | 事件触发时间 | 毫秒 |
| alarmContext | String | 事件的内容 | 不同的AI事件,告警的内容不同,请根据AI事件编码分别解析 |
json
{
"...": "...",
"msgList": [{
"msgType": "MESSAGE_AI",
"timeStamp": "1583317657000",
"data": {
"deviceId": "xxxxS_abcde",
"detectTime": "1584599831303",
"alarmContext":"参考下面alarmContext字符串格式"
}
}]
}事件编码
| 事件编码 | 事件说明(更改) |
|---|---|
| 001001 | 人脸检测(人脸结构化) |
| 001002 | 人脸识别 |
| 001003 | 人脸美颜 |
| 001004 | 人脸识别截取视频 |
| 002001 | 人体检测(人体结构化) |
| 003001 | 车辆检测(车辆结构化) |
| 003002 | 非机动车检测 (非机动车结构化) |
| 003003 | 车牌识别 |
| 000001 | 明厨亮灶三白检测 |
| 000002 | 抽烟检测 |
| 000003 | 打电话检测 |
| 000004 | 玩手机检测 |
| 000005 | 未戴手套检测 |
| 000007 | 垃圾桶 |
| 000008 | 老鼠检测 |
| 000000 | 其他事件 |
| 005001 | 人员倒地 |
| 005002 | 人员聚集 |
| 005003 | 绊线入侵 |
| 005004 | 区域入侵 |
| 005005 | 滞留徘徊检测 |
| 005006 | 在岗离岗检测 |
| 005007 | 快速奔跑 |
| 005008 | 逆行检测 |
| 005009 | 游泳检测 |
| 005010 | 钓鱼检测 |
| 005011 | 出店经营 |
| 005012 | 流动摊贩 |
| 005013 | 门前脏乱 |
| 005014 | 乱堆物料 |
| 005015 | 违规撑伞 |
| 005016 | 违规户外广告 |
| 005017 | 暴露垃圾 |
| 005018 | 沿街晾晒 |
| 005019 | 橱窗张贴 |
| 005020 | 非机动车违停 |
| 005021 | 机动车违停 |
| 005023 | 电瓶车进电梯 |
| 005024 | 消防占道 |
| 005025 | 物品遗留 |
| 005026 | 道路积水检测 |
| 005027 | 水位尺水位检测 |
| 005028 | 漂浮物堆积检测 |
| 005029 | 排污口排污识别 |
| 005030 | 横幅检测 |
| 005031 | 烟雾检测 |
| 005032 | 火焰检测 |
| 005033 | 工程车密闭不严 |
| 005034 | 工程车抛洒滴漏 |
| 005035 | 异常停车 |
| 005036 | 拥堵检测 |
| 005037 | 交通流量 |
| 005038 | 违章变道 |
| 005039 | 车辆逆行 |
| 005040 | 施工检测 |
| 005041 | 路障检测 |
| 005042 | 交通事故 |
| 005043 | 压线检测 |
| 005044 | 抛锚检测 |
| 005045 | 超速检测 |
| 005046 | 倒车检测 |
| 005047 | 单人作业 |
| 005048 | 无人作业 |
| 005049 | 传送带跑偏 |
| 005050 | 传送带大块异物 |
| 005051 | 传送带阻塞 |
| 005052 | 传送带空载 |
| 005053 | 客流统计 |
| 005054 | 人员密度超限 |
| 005055 | 挖沙船检测 |
| 005056 | 河岸垃圾倾倒 |
| 005057 | 工程车检测 |
| 005058 | 高空抛物 |
| 005059 | 打架斗殴 |
| 005060 | 区域人数统计 |
| 005061 | 垃圾桶垃圾溢出检测 |
| 005062 | 垃圾桶未盖盖检测 |
| 005063 | 未穿厨师服检测 |
| 005064 | 未戴厨师帽检测 |
| 005065 | 未戴口罩检测 |
| 005066 | 安全帽检测 |
| 005067 | 围栏翻越 |
| 005069 | 占道经营 |
| 005071 | 未穿防护服检测 |
| 005072 | 未戴安全帽检测 |
| 005073 | 垃圾识别 |
| 005075 | 渣土车识别 |
| 005076 | 攀高检测 |
| 005077 | 未穿反光衣检测 |
| 005078 | 危险犬类识别 |
| 005081 | 遗撒物检测 |
| 005083 | 行人检测 |
| 005084 | 非机动车检测 |
| 005085 | 垃圾桶检测 |
| 005090 | 灭火器检测 |
| 005091 | 卸油管检测 |
| 005092 | 静电线检测 |
| 005093 | 油枪拉断 |
| 005094 | 油机侧盖打开 |
| 005095 | 液体泄漏 |
| 005096 | 堆积渣土 |
| 005097 | 消防设施检测 |
| 005098 | 夜间人员逗留 |
| 005099 | 睡岗检测 |
| 005100 | 火星作业识别 |
| 005101 | 高危区域人员徘徊检测 |
| 005102 | 人员靠近检测 |
| 005103 | 跳跃检测 |
| 005104 | 冷链货柜号识别 |
| 005105 | 空调识别 |
| 005107 | 人员靠近轨道识别 |
| 005108 | 站场巡检识别 |
| 005109 | 轨迹跟踪 |
| 005110 | 漏水检测 |
| 005111 | 疲劳检测 |
| 005112 | 未戴安全带检测 |
| 005113 | 分心检测 |
| 005114 | 电瓶车未戴头盔检测 |
| 005116 | 雾炮车识别 |
| 005117 | 动火离人检测 |
| 005118 | 离开事件检测 |
| 005119 | 超员检测 |
| 005120 | 少员检测 |
| 005121 | 人员持械检测 |
| 005122 | 物品看守 |
| 005123 | 大卡车检测 |
| 005124 | 人员超载 |
| 005125 | 穿反光衣检测 |
| 005126 | 穿防护服检测 |
| 005127 | 佩戴口罩检测 |
| 005128 | 未穿工服检测 |
| 005129 | 燃放烟花检测 |
| 005130 | 反光衣工作人员离岗 |
| 005131 | 图像质量诊断 |
| 005134 | 垃圾混投 |
| 005135 | 垃圾未破袋 |
| 005136 | 店招变更 |
| 005137 | 垃圾分时投放 |
| 005138 | 垃圾桶撤离 |
| 005139 | 人员拎袋 |
| 005155 | 燃气罐 |
alarmContext结构
| 消息字段 | 类型(长度) | M/O | 描述 | |||
| taskId | String | M | 任务id,与创建任务时id对应 | |||
| sourceId | string | M | 视频源唯一标识,建议与设备ID对应,保证唯一性 | |||
| sourceName | string | O | 资源名称,资源的描述信息 | |||
| taskStatus | String | M | 任务状态(1-调度中,2-执行中,3-暂停,4-已完成,5-异常) | |||
| events | object[] | M | 事件信息 | |||
| parseTime | String | M | 事件分析时间,格式yyyy-MM-dd HH:mm:ss | |||
| bkgUrl | String | M | 处理背景图片url地址,三方平台需要自己存储,一天后地址失效。 | |||
| eventCode | string | M | AI事件编码 | |||
| eventAttr | object | O | 发生事件的全局属性,object具体值根据需要返回属性值的事件定义。部分事件返回属性详见附录E | |||
| info | object[] | M | 事件信息 | |||
| rect | object | O | 事件框 | |||
| height | long | O | 长度,以px为单位 | |||
| width | long | O | 宽度,以px为单位 | |||
| left | long | O | X轴坐标,左上角顶点的 X 坐标,以px为单位 | |||
| top | long | O | Y轴坐标,左上角顶点的 Y 坐标,以px为单位 | |||
以上字段所有AI事件消息都有,以下字段是各自算法独有字段,字段位于事件信息(info)下面,参考最后的样例。
000001:明厨亮灶三白检测:
| 消息字段 | 类型(长度) | M/O | 描述 |
| mask | string | O | 是否戴口罩:no-否,yes-是,unknown-未知 |
| chefcloth | string | O | 是否规范穿厨师服:no-否,yes-是, unknown-未知 |
| upperColor | string | O | 上身颜色:"unknown"(未知),"red"(红), "orange"(橙), "yellow"(黄), "green"(绿), "blue"(蓝), "violet"(紫), "pink"(粉), "black"(黑), "white"(白), "grey"(灰), "brown"(棕) |
| hat | string | O | 是否戴帽子:no-否,yes-是,unknown-未知 |
000002:抽烟检测:
| 消息字段 | 类型(长度) | M/O | 描述 |
| smoke | string | O | 是否抽烟:no-否,yes-是,unknown-未知 |
000003:打手机检测:
| 消息字段 | 类型(长度) | M/O | 描述 |
| usePhone | string | O | 是否打手机:no-否,yes-是,unknown-未知 |
000004:看手机检测
| 消息字段 | 类型(长度) | M/O | 描述 |
| watchPhone | string | O | 是否看手机:no-否,yes-是,unknown-未知 |
000005:手套检测
| 消息字段 | 类型(长度) | M/O | 描述 |
| glove | string | O | 是否规范佩戴手套:no-否,yes-是,unknown-未知 |
000006:烟火检测
| 消息字段 | 类型(长度) | M/O | 描述 |
| fire | string | O | 是否存在烟火:no-否,yes-是,unknown-未知 |
000007:垃圾桶检测
| 消息字段 | 类型(长度) | M/O | 描述 |
| trashbox | string | O | "垃圾桶状态:0 - 正常,1 - 垃圾桶满溢,2 - 垃圾桶倾倒,3 - 垃圾桶未盖,4 - 状态未知 |
000008:老鼠检测
| 消息字段 | 类型(长度) | M/O | 描述 |
| mouse | string | O | 是否有老鼠:no-否,yes-是,unknown-未知 |
其他事件:其他事件定义
| 消息字段 | 类型(长度) | M/O | 描述 |
| objectAttr | object | O | object具体值根据需要返回属性值的事件定义。部分事件返回属性详见附录E |
附录E
005053:客流统计
| 消息字段 | 类型(长度) | M/O | 描述 |
|---|---|---|---|
| numEnter | long | O | 进入客流 |
| numLeave | long | O | 离开客流 |
示例
json
{
"taskId": "dcef3af8-fa1a-4401-bda9-a08364fe17f2",
"sourceId": "dcef3af8-fa1a-4401-bda9-a08364fe17f1",
"sourceName": "大厦23楼分析点位",
"taskStatus": 3,
"events": [{
"parseTime": "2022-12-23 00:00:00",
"bkgUrl": "http://10.12.30.72:10000/oss-file/456.jpg",
"eventCode": "000005",
"info": [{
"rect": {
"height": "37",
"left": "253",
"top": "154",
"width": "38"
},
"mouse": "yes"
}]
},
{
"parseTime": "2022-12-23 00:00:00",
"bkgUrl": "http://10.12.30.72:10000/oss-file/456.jpg",
"eventCode": "0000xx",
"eventAttr": "{\"xxxx\": \"xxxx\", \"xxxx\": \"xxxx\"}",
"info": [{
"rect": {
"height": "137",
"left": "223",
"top": "14",
"width": "381"
},
"objectAttr": "{\"xxxx\": \"xxxx\", \"xxxx\": \"xxxx\"}"
}]
}
]
}