华为云用户手册

  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 failed_num Integer 请求失败数:取值范围[0,100] data Array of Data objects 响应信息 表5 Data 参数 参数类型 描述 data_id String 智能数据id urls Array of DownloadInfo objects 图片网络下载路径,该路径有效期为五分钟 result Result object 请求结果 表6 DownloadInfo 参数 参数类型 描述 type String 图片类型 TARGET业务: ALL 全部 BODY 人体图 BACKGROUND 背景图 TARGET 人脸图 VEHICLE业务: ALL:全部 VEHICLE 车辆图 BACKGROUND 背景图 PLATE 车辆图 url String 图片下载url 表7 Result 参数 参数类型 描述 code String 错误码 msg String 错误信息
  • 请求示例 获取图片下载路径请求体 POST /v1/123456789*****/intelligence-data/pictures { "data_classification" : "VEHICLE", "type" : "VEHICLE", "data_ids" : [ "06cac6be36394e2a813088bf0c0cb31c", "32a0223a911b44468c376a61f2c4d8a7" ] }
  • 响应示例 状态码: 200 OK { "failed_num" : "integer", "data" : [ { "data_id" : "string", "urls" : [ { "type" : "string", "url" : "string" } ], "result" : { "code" : "string", "msg" : "string" } } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Access-Token 是 String 用户认证token,从获取用户认证token接口获取 表3 请求Body参数 参数 是否必选 参数类型 描述 data_classification 是 String 智能类型: 枚举值: TARGET 目标(通过订阅TARGET_DATA类型获取到的TLV数据,使用该参数获取图片URL) VEHICLE 车辆(通过订阅VEHICLE_DATA类型获取到的TLV数据,使用该参数获取图片URL) type 是 String 图片类型枚举值: TARGET业务: ALL 全部 BODY 人体图 BACKGROUND 背景图 TARGET 人脸图 VEHICLE业务: ALL:全部 VEHICLE 车辆图 BODY 人体图 BACKGROUND 背景图 PLATE 车牌图 data_ids 是 Array of strings 数据ID:从设备智能数据(TLV)消息体结构中查阅(仅支持TLV数据),数组长度[1,100]
  • 设备能力集 设备能力集 释义 ptz 云台控制能力 talk 对讲能力 localstorage 本地存储能力 flowstatis 客流统计能力 intelligent 智能分析能力 cloudstorage 云端录像能力 alarmvoice 报警声音能力 brotate 画面旋转能力 mediaencryptgcm 媒体加密算法能力 soundlightalarm 声光告警能力 algorithm 算法能力 reportupgrade 升级状态上报能力 logcollect 日志采集能力 audiovideoswitch 音视频切换能力 sdcardformat SD卡格式化能力 lightcontrol 指示灯开关能力 wifiinfo 网络配置信息能力 supplement 补光灯能力 certdelive 证书下发能力 batch_upgrade 批量更新能力 ptzspin 云台转动能力 zoom 缩放能力 autofocus 自动自动聚焦能力 volumnset 音量调节能力 reset 远程重置能力 maskmode 隐私遮蔽能力 motionflow 移动追踪能力 iris 云台-光圈能力 preset 云台-预置位能力 cruise 云台-巡航 securitykey SDC密码设置能力 tlvframe tlv显示框能力 alarmsound 声音警戒能力-有声光警戒能力此能力不显示 alarmlight 灯光警戒能力-有声光警戒能力此能力不显示 microphone 拾音器能力 devnormalrecord 设备前端录像支持连续录像能力 abilityauth 支持目标识别和特征协同功能 ptz_3d_locate 3d云台控制能力 父主题: 附录
  • 消息结构体介绍 表1 message_type为device_unbind时,data结构体如下: 字段名 类型 说明 message_type(Json内层) String 消息类型 枚举值: DELETE_DEVICE 设备删除 UNBIND_DEVICE 设备解绑 UNBIND_MANAGE 接入调阅解绑 UNBIND_MOTION 动检 云存储 解绑 UNBIND_NORMAL 连续云存储解绑 UNBIND_DATAFLOW 行业数据流解绑 devices Array of Device Objects 设备对象,包含一或多个设备的对象 表2 Device 字段名 类型 说明 device_id String 设备ID channel_id String 通道ID message Message Object 套餐解绑时的详细信息 表3 Message 字段名 类型 说明 resource_id String 套餐ID 示例一、删除设备 { "message_id": 1676624636867660931, "message_type": "device_unbind", "data": { "message_type": "DELETE_DEVICE", "devices": [ { "device_id": "11111111111111111111", "channel_id": "", "message": null } ] }, "test": false } 示例二、解绑套餐 { "message_id": 1676624334098133709, "message_type": "device_unbind", "data": { "message_type": "UNBIND_MANAGE", "devices": [ { "device_id": "210123456SMY***", "channel_id": "0", "message": { "resource_id": "791afbac769f4edea98fea92bc5fcc7d" } } ] }, "test": false }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Access-Token 是 String 用户认证AccessToken:从获取用户北向接口认证AccessToken中获取 表3 请求Body参数 参数 是否必选 参数类型 描述 device_id 是 String 设备ID: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取 target_ids 是 Array of strings 目标ID列表:数组长度范围[1,100] 目标ID:支持数字和-,长度范围[1,20],SDC的目标ID需要带上目标库ID(目标库ID_目标ID的形式), 可以从按索引范围获取目标ID列表、获取目标信息、按索引范围获取目标ID信息中获取
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 targets Array of TargetVo objects 目标列表(SDC仅返回图片信息和用户传入的目标ID) 表5 TargetVo 参数 参数类型 描述 target_id String 目标ID:目标标识符 name String 姓名 gender String 性别 age Integer 年龄 country String 国家 nation String 民族 native String 籍贯 occupation String 职业 organization String 组织名称 work_no String 工号或身份证号 phone String 电话 email String email domicile String 居住地 remark String 备注 eigen_value String 图片特征值 jpg String 图片内容:经过base64编码 start_time String 开始时间 end_time String 结束时间 external_target_id String 用户传入的目标ID:用户自定义的,在添加目标的时候由客户填入
  • 响应示例 状态码: 200 OK { "targets" : [ { "name" : "mark", "gender" : "male", "age" : 24, "country" : "中国", "nation" : "汉", "native" : "杭州", "occupation" : "工人", "work_no" : "124****77", "phone" : "15********61", "email" : "1*********@qq.com", "domicile" : "杭州", "remark" : "无", "jpegBase64" : "/9j/4AAQSkZJRgABAQAAAQABAAD..." } ], "target_id" : "2", "external_target_id" : "1234567890123456" }
  • 查询设备码流能力和码流列表 接口 说明 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/stream-ability 查询设备码流能力和码流列表 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/stream-detail 查询设备码流详情,目前仅支持好望设备 POST /v1/{user_id}/devices/{device_id}/channels/{channel_id}/stream-detail 设备码流配置
  • 巡航轨迹和预置位 接口 说明 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/cruise-track/list 获取巡航轨迹列表 DELETE /v1/{user_id}/devices/{device_id}/channels/{channel_id}/preset-position 删除摄像机预置位 PUT /v1/{user_id}/devices/{device_id}/channels/{channel_id}/cruise-track 修改摄像机巡航轨迹 POST /v1/{user_id}/devices/{device_id}/channels/{channel_id}/cruise-track 添加摄像机巡航轨迹 POST /v1/{user_id}/devices/{device_id}/channels/{channel_id}/preset-position 添加摄像机预置位 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/cruise-track 查询指定巡航轨迹详情 PUT /v1/{user_id}/devices/{device_id}/channels/{channel_id}/cruise-track/enable 启停摄像机巡航轨迹 DELETE /v1/{user_id}/devices/{device_id}/channels/{channel_id}/cruise-track 删除摄像机巡航轨迹 PUT /v1/{user_id}/devices/{device_id}/channels/{channel_id}/preset-position 修改摄像机预置位 POST /v1/{user_id}/devices/{device_id}/channels/{channel_id}/preset-position/move 移动摄像机转到预置位 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/preset-position 查询摄像机预置位列表
  • 设备目标授权配置 接口 说明 PUT /v1/{user_id}/devices/{device_id}/channels/targets/authorization 批量设置通道目标授权状态,只支持好望设备 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/targets/authorization 查询设备目标授权状态,仅支持好望设备
  • 设备密码修改 接口 说明 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/security-key 查询设备密码状态,仅支持好望SDC直连设备 PUT /v1/{user_id}/devices/{device_id}/channels/{channel_id}/security-key 设置或修改设备密码,仅支持好望SDC直连设备
  • 录像配置管理 接口 说明 PUT /v1/{user_id}/devices/channels/record-plan 批量为通道设置录像计划 POST /v1/{user_id}/devices/channels/record-plan 批量删除通道录像计划 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/record-plan 查询通道的录像计划 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/time-policy 查询通道存储时间策略 PUT /v1/{user_id}/devices/channels/record-config 批量设置通道录像参数 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/record-config 查询通道录像参数 PUT /v1/{user_id}/devices/channels/time-policy 批量设置通道存储时间策略 PUT /v1/{user_id}/devices/channels/record-alarm-plan 批量设置通道动检录像计划 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/record-alarm-plan 查询通道的动检录像计划
  • 目标库 接口 说明 POST /v1/{user_id}/target/batch-delete 删除目标信息 PUT /v1/{user_id}/targets 批量修改目标信息 POST /v1/{user_id}/targets/batch-add 目标批量添加 GET /v1/{user_id}/targets/ids 按索引范围获取目标ID列表 GET /v1/{user_id}/target-groups 获取目标库分组 POST /v1/{user_id}/target-groups 新增目标库分组 PUT /v1/{user_id}/target-groups 修改目标库分组 DELETE /v1/{user_id}/target-groups 删除目标库分组 POST /v2/{user_id}/target-groups 新增目标库分组v2 PUT /v2/{user_id}/target-groups 修改目标库分组v2 DELETE /v2/{user_id}/target-groups 删除目标库分组v2 GET /v1/{user_id}/targets 按索引范围获取目标信息列表 POST /v1/{user_id}/targets 获取目标信息(IVS1800不支持) GET /v1/{user_id}/targets/count 获取目标库分组中的目标数量
  • 资源管理 接口 说明 GET /v1/{user_id}/resources 查询包周期和按需资源列表 GET /v1/{user_id}/resources/{resource_id}/channels 查询包周期或按需资源下的通道列表 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/resources 查询通道下的资源列表
  • 云台控制 接口 说明 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/control-lock 获取云台控制权 POST /v1/{user_id}/devices/{device_id}/channels/{channel_id}/control-lock 释放云台控制权 POST /v1/{user_id}/devices/{device_id}/channels/{channel_id}/ptz/angle-spin 云台点动转动
  • 设备组管理 接口 说明 GET /v1/{user_id}/device-orgs/{device_org_id}/sub-orgs 查询子级设备组织 GET /v1/{user_id}/device-orgs/{device_org_id}/devices 查询企业下的组织的设备列表 PUT /v1/{user_id}/device-orgs/{device_org_id} 修改设备分组名称 POST /v1/{user_id}/device-orgs 添加设备分组 DELETE /v1/{user_id}/device-orgs/{device_org_id} 删除单个设备组 POST /v1/{user_id}/device-orgs/{device_org_id}/move-devices 移动多个设备到新的设备组 GET /v1/{user_id}/device-orgs/tree 根据设备组名称查询设备组织树(支持设备组名称模糊查询)
  • 媒体播放管理 接口 说明 POST /v2/{user_id}/devices/channels/media/live-connections 获取实况地址统一接口 GET /v2/{user_id}/devices/{device_id}/channels/{channel_id}/media/records 查询回放列表统一接口 GET /v2/{user_id}/devices/{device_id}/channels/{channel_id}/media/playback-connections 获取回放地址统一接口 POST /v1/{user_id}/media/urls/batch-delete 批量删除播放地址 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/cloud-records 【旧】查询通道的云端录像列表 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/cloud-records/playback-url 【旧】查询通道的云端录像回放地址 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/device-records 【旧】查询通道的前端录像列表 GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/device-records/playback-url 【旧】查询通道的前端录像回放地址(仅支持国标协议) GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/device-records/web-playback-url 【旧】查询通道的前端录像回放地址 POST /v1/{user_id}/devices/channels/cloud-live/url 【旧】批量获取设备实况播放地址 POST /v1/{user_id}/devices/channels/p2p-connect/live 【旧】批量获取通道实况P2P地址(仅支持好望协议) POST /v1/{user_id}/devices/channels/p2p-connect/playback 【旧】批量获取通道录像回放P2P地址(仅支持好望协议)
  • 设备管理 接口 说明 GET /v1/{user_id}/devices/{device_id} 用户根据设备ID查询设备信息详情 GET /v1/{user_id}/devices 用户查询设备列表 GET /v1/{user_id}/devices/{device_id}/gateway 查询设备网关(仅支持国标) PUT /v1/{user_id}/devices/{device_id} 修改设备信息 PUT /v1/{user_id}/devices/{device_id}/gb-account 修改国标设备帐号 POST /v1/{user_id}/devices/holosens 添加好望设备 POST /v1/{user_id}/devices/gb/batch-add 批量添加国标设备 POST /v1/{user_id}/devices/batch-delete 批量删除设备
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Access-Token 是 String 用户认证AccessToken:从获取用户北向接口认证AccessToken中获取 表3 请求Body参数 参数 是否必选 参数类型 描述 device_id 是 String 设备ID: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取 verification_code 是 String 验证码:支持大小写字母、数字,长度固定为8位 description 否 String 设备描述:字符组成,,长度范围[1,128]
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 device_id String 设备ID,设备唯一标识符 device_name String 设备名称 device_type String 设备类型 枚举值 IPC 通用相机 NVR NVR设备 MEdge IVS1800设备 IPC-BULLET 枪机 IPC-BOX 筒机 IPC-CONCH 半球/海螺 IPDOME 球机 device_state String 设备状态 枚举值: OFFLINE 离线 ONLINE 在线 manufacture String 设备生产厂商
  • 响应参数 状态码: 200 表7 响应Body参数 参数 参数类型 描述 failed_num Integer 失败数量 channels Array of ChannelResult objects 通道结果 表8 ChannelResult 参数 参数类型 描述 device_id String 设备ID: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取 国标设备:由数字组成,长度为20个字符长度,由客户自行设置,其中第11-13位,必须是以下之一132(IPC)、111(DVR)、118(NVR),用来区分设备类型 channel_id String 通道ID: 好望设备:取值范围[0,999] 国标设备:由数字组成,长度为20个字符,由客户自行在设备侧设置,可以在web界面获取 result Result object 结果信息 表9 Result 参数 参数类型 描述 code String 错误编码 msg String 错误信息
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Access-Token 是 String 用户认证AccessToken:从获取用户北向接口认证AccessToken中获取 表3 请求Body参数 参数 是否必选 参数类型 描述 channels 是 Array of SetChannelRecordAlarmPlanReq objects 设置通道录像计划请求体 表4 SetChannelRecordAlarmPlanReq 参数 是否必选 参数类型 描述 device_id 是 String 设备ID: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取 国标设备:由数字组成,长度为20个字符长度,由客户自行设置,其中第11-13位,必须是以下之一132(IPC)、111(DVR)、118(NVR),用来区分设备类型 channel_id 是 String 通道ID: 好望设备:取值范围[0,999] 国标设备:由数字组成,长度为20个字符,由客户自行在设备侧设置,可以在web界面获取 stream_type 否 String 码流类型(目前定为主码流,不用传,为后续需求留用) plans 是 Array of SetChannelRecordAlarmPlan objects 录像计划:列表长度范围[1,21] all_day 否 Boolean 是否全程录像:枚举类型,默认为false,如果为true,time_sections省略(不进行校验) 枚举值: true 是 false 否 time_sections 否 Array of TimeSection objects 通道录像计划时间段,取值范围[1,+∞)。如果all_day字段为空或为false,则字段必填 表5 SetChannelRecordAlarmPlan 参数 是否必选 参数类型 描述 alarm_type 是 String 告警类型:枚举类型 枚举值: motion_detection 移动侦测报警 io_event 外部IO输入报警 target_alarm 目标报警 mask_alarm 口罩报警 people_queue_alarm 排队长度报警 people_count_region_alarm 区域人数统计报警 people_count_line_alarm 过线人数统计报警 over_line_alarm 越线检测报警 region_invasion_alarm 区域入侵报警 region_in_alarm 区域进入报警 region_out_alarm 区域离开报警 fast_move_alarm 快速移动报警 linger_alarm 徘徊检测报警 thirdparty_intelligent 第三方告警 face_alarm 人脸告警 abandon_alarm 物品遗留告警 removed_alarm 物品移走告警 electric_bicycle_alarm 电瓶车检测告警 people_leave_station_alarm 人员离岗告警 lift_electric_alarm 电梯电瓶车告警_新 occlusion_alarm 遮挡告警 advance_time 是 Integer 预录时间,取值范围[1,59] after_time 是 Integer 延录时间,取值范围[1,59]。advance_time和after_time相加要不超过60s。 表6 TimeSection 参数 是否必选 参数类型 描述 day_of_week 是 Integer 日期:取值范围[1,7](对应周一~周日) start_time 是 String 录像开始时间:格式为HH:mm:ss,范围为[00:00:00~23:59:59] end_time 是 String 录像结束时间:格式为HH:mm:ss,范围为[00:00:00~23:59:59]
  • 消息结构体介绍 表1 message_type为vehicle_data时,data结构体如下: 字段名 类型 说明 device_id String 设备ID,正常情况下不为空,必传 channel_id String 通道ID,正常情况下不为空,必传 data_id String 数据ID:正常情况下不为空,必传。可用于查询智能图片数据,参考链接:智能图片下载 itgt_type Int 智能业务场景 枚举值: 6 机非人业务目标整体信息 7 机非人业务机动车信息 8 机非人业务非机动车信息 53 非机动车上目标检测 report_time String 上报时间,示例:2021-03-15T16:43:00+08:00 global_obj_id Int64 全局ID,设备传入的唯一标识 lane_id Int64 车道号 vehicle_direction Int 车辆运动方向 枚举值: 0 未知 1 向左 2 向右 3 向上 4 向下 plate_char String 车牌字符,当检测到机动车属性时传该值 plate_color Int 车牌颜色,当检测到机动车属性时传该值,见附录车牌颜色 vehicle_type Int 机非人类型,当检测到机非人属性时传该值,见附录机非人类型 vehicle_color Int 车辆颜色,当检测到机动车属性时传该值,见附录车辆颜色 car_pre_brand Int 品牌字符索引,当检测到机动车属性时传该值,见附录车款类型 car_sub_brand Int 子款符号索引,当检测到机动车属性时传该值 car_year_brand String 年款符号,当检测到机动车属性时传该值 rider_age_range Int 骑行人年龄范围 枚举值: 0 未知 1 少年 2 青年 3 老年 rider_gender Int 骑行人性别 枚举值: 0 未知 1 男性 2 女性 has_helmet Boolen 是否戴头盔 helmet_color Int 头盔颜色 motor_color Int 非机动车颜色 has_motor_sunshade Boolen 是否有遮阳伞 has_motor_carry Boolen 是否有携带物 has_license_plate Boolen 是否有车牌 rider_num Int 骑行人数 motor_type Int 非机动车类型 vehicle_url String 车辆特写图url target_all_pic_url String 目标整体抠图url panorama_url String 全景图片url vehicle_pos RectCor object 车辆检测框位置万分比 human_pos RectCor object 目标整体位置万分比 human_age Int 行人年龄 枚举值: 0 未知 1 少年 2 青年 3 老年 human_gender Int 行人性别 枚举值: 0 未知 1 男性 2 女性 human_upperstyle Int 上衣款式 0 未知 1 长袖 2 短袖 human_uppercolor Int 上衣颜色 human_lowstyle Int 下衣款式 human_lowercolor Int 下衣颜色 human_shape Int 体型 human_mouthmask Int 行人口罩 human_hair Int 行人头发 common Common object 通用数据定义 target Target object 目标:设备上传TLV时的设备的原始数据,该字段是设备上传的原始数据的解析,不同的业务场景传入的字段会不相同。 moto_type Int 非机动车类型 表2 RectCor 字段名 类型 说明 x_cor Int 上层业务检测框左上角坐标点x计算方式,x1 = x_cor *全景图像素宽度/ 10000 y_cor Int 上层业务检测框左上角坐标点y计算方式,y1 = y_cor *全景图像素高度/ 10000 width Int 上层业务检测框宽度 计算方式 widht1 = widht *全景图像素宽度/ 10000 height Int 上层业务检测框长度 计算方式 height1 = height *全景图像素高度/ 10000 表3 Common 字段名 类型 说明 channel_id Int64 通道ID channel_id_ex Int64 相机扩展通道ID pts Int64 时间戳 sdc_device_id String 主从机设备ID sdc_uuid String 摄像机视频源通道号 intelligence_type Int 智能类型 image_height Int 图片高度 image_width Int 图片宽度 meta_type_mask Int 元数据类型掩码 枚举值: 1 框数据 2 图数据 8 保活数据 16 告警数据 表4 Target 字段名 类型 说明 car_pre_brand String 品牌字符:中文字符,例如大众 car_pre_brand_index Int 品牌字符索引,当检测到机动车属性时传该值,见附录车款类型 car_sub_brand String 子款字符:中文字符,例如明锐 car_sub_brand_index Int 子款字符索引 car_year_brand String 年款字符:例如2011 cur_snap_index Int 当前抓拍序列号 global_object_id Int64 智能目标全局ID human_pic String 目标整体抠图:已转化为图片url human_pic_kps Int 目标整体抠图kps质量过滤标志位 human_pic_roi Rect object 目标整体抠图中的目标整体目标框:目标整体抠图中可能存在其它干扰,此坐标用于精确圈定目标整体范围 human_rect_position Rect object 目标整体位置 lane_id Int 车道号 panorama_pic String 全景图:已转化为图片url pic_snapshot_dst_offset Int64 夏令时偏移时间:单位秒/s pic_snapshot_time Int 抓拍时间 pic_snapshot_timems Int64 抓拍时间:单位毫秒/ms pic_snapshot_tzone Int64 抓拍时区:单位毫秒/ms 东区为+ 西区为-,支持夏令时 plate_char String 车牌字符,当检测到机动车属性时传该值 plate_color Int 车牌颜色,当检测到机动车属性时传该值,见附录车牌颜色 plate_pic String 车牌抠图:已转化为图片url plate_pos Rect object 车牌位置万分比 plate_pos_abs Rect object 车牌位置绝对坐标 plate_pos_com Rect object 车牌位置万分比 plate_type Int 车牌类型,参考附录车牌类型 target_type Int 智能业务场景 枚举值: 6 机非人业务目标整体信息 7 机非人业务机动车信息 8 机非人业务非机动车信息 53 非机动车上目标检测 trecord_type Int 告警类型,见附录告警类型 vehicle_color Int 车辆颜色,当检测到机动车属性时传该值,见附录车辆颜色 vehicle_direction Int 车辆运动方向 枚举值: 0 未知 1 向左 2 向右 3 向上 4 向下 vehicle_pic String 车辆图,已转化为图片url vehicle_pos Rect object 车身位置万分比 vehicle_pos_abs Rect object 车辆位置绝对坐标 vehicle_pos_com Rect object 车辆位置相对坐标万分比 vehicle_type Int 机非人类型,当检测到机非人属性时传该值,见附录机非人类型 vehicle_type_ext Int 机非人扩展类型,当检测到机非人属性时传该值,见附录机非人类型 ,例如机非人类型为轿车,扩展类型为两厢轿车 vhd_object_id Int64 机非人ID human_gender Int 行人性别 枚举值: 0 未知 1 男性 2 女性 human_umbrella Int 是否撑伞 枚举值: 0 未知 1 否 2 是 human_lower_color Int 下衣颜色 枚举值: 0 未知 1 黑 2 蓝 3 绿 4 白/灰 5 黄/橙/棕 6 红/粉/紫 human_direct Int 行进方向 human_carry Int 是否拎东西 枚举值: 0 未知 1 否 2 是 human_mouth_mask Int 是否戴口罩 枚举值: 0 未知 1 否 2 是 human_age Int 年龄人群 枚举值: 0 未知 1 少年 2 青年 3 老年 human_upper_texture Int 上衣纹理 枚举值: 0 未知 1 纯色 2 条纹 3 格子 human_view Int 朝向 枚举值: 0 未知 1 正面 2 背面 3 左倾 4 右倾 human_feature Feature Object 目标整体属性 human_luggage Int 是否有行李箱 human_backpack Int 是否有背包 human_lower_style Int 下衣款式 枚举值: 0 未知 1 长裤 2 短裤 3 裙子 human_upper_color Int 上衣颜色 human_hair Int 发型 枚举值: 0 未知 1 长 2 短 3 秃头 human_shape Int 体型 枚举值: 0 未知 1 标准 2 肥 3 瘦 human_speed Int 行进速度 human_upper_style Int 上衣款式 枚举值: 0 未知 1 长袖 2 短袖 human_hat Int 是否戴帽子 human_frontpack Int 是否有前面背包 human_satchel Int 是否有斜挎包 human_glass Int 是否戴眼镜 motor_color Int 非机动车颜色 motor_license_plate Int 是否有车牌 motor_motor_carry Int 是否有携带物品 motor_sunshade Int 是否有遮阳伞 motor_sunshade_color Int 遮阳伞颜色 motor_type Int 非机动车类型 riderman_age Int 骑行人年龄人群 riderman_feature RidermanFeature Object 骑行人属性 riderman_gender Int 骑行人性别 riderman_helmet Int 骑行人是否戴头盔 riderman_helmetcolor Int 骑行人头盔颜色 riderman_num Int 骑行人数量,具体人数 riderman_uppercolor Int 骑行人上衣颜色 riderman_upperstyle Int 骑行人上衣款式 vehicle_pos_abs Rect Object 车辆位置绝对坐标 face_id Int64 人脸号 face_pic_time Int 人脸抓拍时间 face_pic_tzone Int64 人脸抓拍时区:单位毫秒/ms 东区为+ 西区为-,支持夏令时 表5 Rect 字段名 类型 说明 x Int 上层业务检测框左上角坐标点x计算方式,x1 = x *全景图像素宽度/ 10000 y Int 上层业务检测框左上角坐标点y计算方式,y1 = y *全景图像素高度/ 10000 width Int 上层业务检测框宽度 计算方式 widht1 = widht *全景图像素宽度/ 10000 height Int 上层业务检测框长度 计算方式 height1 = height *全景图像素高度/ 10000 表6 Feature 字段名 类型 说明 age Int 年龄人群 backpack Int 是否有背包 carry Int 是否拎东西 front_pack Int 是否有前面背包 gender Int 行人性别 枚举值: 0 未知 1 男性 2 女性 glass Int 是否戴眼睛 hair Int 发型 hat Int 是否戴麦子 lower_color Int 上衣颜色 lower_style Int 上衣款式 luggage Int 是否有行李箱 mouth_mask Int 是否戴口罩 move_direct Int 行进方向 move_speed Int 行进速度 satchel Int 是否有斜挎包 shape Int 体型 umbrella Int 是否有雨伞 upper_color Int 下衣颜色 upper_style Int 下衣款式 upper_texture Int 上衣纹理 view Int 朝向 表7 RidermanFeature 字段名 类型 说明 age Int 年龄人群 gender Int 行人性别 枚举值: 0 未知 1 男性 2 女性 helmet Int 是否戴头盔 helmet_color Int 头盔颜色 upper_color Int 下衣颜色 upper_style Int 下衣款式 示例一、机非人业务目标整体信息 { "message_id": 1676253459558286045, "message_type": "vehicle_data", "data": { "device_id": "219123456CYP***", "channel_id": "0", "data_id": "167625345941400200060000rwnwv130", "report_time": "2023-02-13T09:57:37+08:00", "itgt_type": 6, "global_obj_id": 7198857782190185688, "lane_id": 1, "vehicle_type": 9, "target_all_pic_url": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625345941400200040000rwnwv130.jpg/static", "panorama_url": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625345941400200020000rwnwv130.jpg/static", "human_lowstyle": 1, "human_gender": 1, "human_uppercolor": 2, "human_hair": 2, "human_shape": 1, "human_age": 2, "human_mouthmask": 1, "human_lowercolor": 2, "human_upperstyle": 2, "human_pos": { "x_cor": 3218, "y_cor": 1601, "width": 1057, "height": 6046 }, "common": { "channel_id": 101, "channel_id_ex": 101, "meta_type_mask": 2, "pts": 167668079703, "sdc_device_id": "40619954-b309-46b1-7d1a-a3f443a58c87", "sdc_uuid": "224440c1-966e-57eb-fd7b-8ca03739be7e" }, "target": { "global_object_id": 7198857782190185688, "human_pic": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625345941400200040000rwnwv130.jpg/static", "human_pic_roi": { "x": 2916, "y": 0, "width": 4229, "height": 10000 }, "human_gender": 1, "human_umbrella": 1, "human_lower_color": 2, "human_direct": 2, "human_carry": 1, "human_mouth_mask": 1, "human_age": 2, "human_upper_texture": 1, "human_view": 1, "human_feature": { "age": 2, "backpack": 1, "carry": 1, "front_pack": 1, "gender": 1, "glass": 65536, "hair": 2, "hat": 65536, "lower_color": 2, "lower_style": 1, "luggage": 1, "mouth_mask": 1, "move_direct": 2, "move_speed": 0, "satchel": 1, "shape": 1, "umbrella": 1, "upper_color": 2, "upper_style": 2, "upper_texture": 1, "view": 131072 }, "human_luggage": 1, "human_backpack": 1, "human_lower_style": 1, "human_upper_color": 2, "human_hair": 2, "human_shape": 1, "human_speed": 2, "human_upper_style": 2, "human_hat": 1, "human_frontpack": 1, "human_satchel": 1, "human_glass": 1, "human_rect_position": { "x": 3218, "y": 1601, "width": 1057, "height": 6046 }, "lane_id": 1, "panorama_pic": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625345941400200020000rwnwv130.jpg/static", "pic_snapshot_dst_offset": 0, "pic_snapshot_time": 1676253453, "pic_snapshot_timems": 1676253453434, "pic_snapshot_tzone": 28800000, "target_type": 6, "trecord_type": 34, "vehicle_type": 9, "vehicle_type_ext": 9, "vhd_object_id": 40152 } }, "test": false } 示例二、机非人业务机动车信息 { "message_id": 1676252528838941764, "message_type": "vehicle_data", "data": { "device_id": "219123456CYP***", "channel_id": "0", "data_id": "167625252854900210110000rwnwv130", "report_time": "2023-02-13T09:42:06+08:00", "itgt_type": 7, "global_obj_id": 7198857782190185052, "lane_id": 2, "vehicle_direction": 4, "plate_char": "浙XXXXXX", "plate_color": 1, "vehicle_type": 1, "vehicle_color": 2, "car_pre_brand": 74, "car_sub_brand": 554, "car_year_brand": "2010", "vehicle_url": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625252854900210010000rwnwv130.jpg/static", "panorama_url": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625252854900210020000rwnwv130.jpg/static", "vehicle_pos": { "x_cor": 3218, "y_cor": 111, "width": 3085, "height": 3402 }, "common": { "channel_id": 101, "channel_id_ex": 101, "meta_type_mask": 2, "pts": 166735159705, "sdc_uuid": "224440c1-966e-57eb-fd7b-8ca03739be7e", "sdc_device_id": "40619954-b309-46b1-7d1a-a3f443a58c87" }, "target": { "car_pre_brand": "斯柯达", "car_pre_brand_index": 74, "car_sub_brand": "明锐", "car_sub_brand_index": 554, "car_year_brand": "2010", "cur_snap_index": 0, "global_object_id": 7198857782190185052, "lane_id": 2, "panorama_pic": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625252854900210020000rwnwv130.jpg/static", "pic_snapshot_dst_offset": 0, "pic_snapshot_time": 1676252525, "pic_snapshot_timems": 1676252525274, "pic_snapshot_tzone": 28800000, "plate_char": "浙XXXXXX", "plate_color": 1, "plate_pic": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625252854900210080000rwnwv130.jpg/static", "plate_pos": { "x": 5437, "y": 1958, "width": 601, "height": 666 }, "plate_pos_abs": { "x": 696, "y": 141, "width": 77, "height": 48 }, "plate_pos_com": { "x": 5437, "y": 1958, "width": 601, "height": 666 }, "plate_type": 1, "target_type": 7, "trecord_type": 34, "vehicle_color": 2, "vehicle_direction": 4, "vehicle_pic": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625252854900210010000rwnwv130.jpg/static", "vehicle_pos": { "x": 3218, "y": 111, "width": 3085, "height": 3402 }, "vehicle_pos_abs": { "x": 412, "y": 8, "width": 395, "height": 245 }, "vehicle_pos_com": { "x": 3218, "y": 111, "width": 3085, "height": 3402 }, "vehicle_type": 1, "vehicle_type_ext": 17, "vhd_object_id": 39516 } }, "test": false } 示例三、机非人业务非机动车信息 { "message_id": 1676253298093565055, "message_type": "vehicle_data", "data": { "device_id": "219123456CYP***", "channel_id": "0", "data_id": "167625329805000220030000rwnwv130", "report_time": "2023-02-13T09:54:56+08:00", "itgt_type": 8, "moto_type": 1, "motor_color": 1, "rider_num": 1, "global_obj_id": 7198857782190185592, "lane_id": 2, "vehicle_type": 8, "vehicle_url": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625329805000220010000rwnwv130.jpg/static", "panorama_url": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625329805000220020000rwnwv130.jpg/static", "vehicle_pos": { "x_cor": 3484, "y_cor": 3805, "width": 1953, "height": 6180 }, "common": { "channel_id": 101, "channel_id_ex": 101, "image_height": 720, "image_width": 1280, "meta_type_mask": 2, "pts": 167506599705, "sdc_uuid": "224440c1-966e-57eb-fd7b-8ca03739be7e" }, "target": { "motor_color": 1, "motor_license_plate": 1, "motor_motor_carry": 1, "motor_sunshade": 1, "motor_sunshade_color": 0, "motor_type": 1, "riderman_age": 0, "riderman_feature": { "age": 0, "gender": 0, "helmet": 0, "helmet_color": 0, "upper_color": 0, "upper_style": 0 }, "riderman_gender": 0, "riderman_helmet": 0, "riderman_helmetcolor": 0, "riderman_num": 1, "riderman_uppercolor": 0, "riderman_upperstyle": 0, "global_object_id": 7198857782190185592, "lane_id": 2, "panorama_pic": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625329805000220020000rwnwv130.jpg/static", "pic_snapshot_dst_offset": 0, "pic_snapshot_time": 1676253294, "pic_snapshot_timems": 1676253294194, "pic_snapshot_tzone": 28800000, "target_type": 8, "trecord_type": 34, "vehicle_pic": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625329805000220010000rwnwv130.jpg/static", "vehicle_pos_abs": { "height": 345, "width": 140, "x": 146, "y": 192 }, "vehicle_pos": { "x": 3484, "y": 3805, "width": 1953, "height": 6180 }, "vehicle_type": 8, "vehicle_type_ext": 8, "vhd_object_id": 40056 } }, "test": false } 示例四、非机动车上目标检测 { "message_id": 1676253298093565055, "message_type": "vehicle_data", "data": { "device_id": "219123456CYP***", "channel_id": "0", "data_id": "167625329805000220030000rwnwv130", "report_time": "2023-02-13T09:54:56+08:00", "itgt_type": 8, "global_obj_id": 7198857782190185592, "human_lowercolor": 1, "human_lowstyle": 1, "human_mouthmask": 1, "human_pos": { "height": 2513, "width": 515, "x_cor": 6265, "y_cor": 1027 }, "human_shape": 1, "human_uppercolor": 4, "moto_type": 1, "motor_color": 1, "rider_num": 2, "lane_id": 2, "vehicle_type": 8, "vehicle_url": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625329805000220010000rwnwv130.jpg/static", "panorama_url": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625329805000220020000rwnwv130.jpg/static", "vehicle_pos": { "x_cor": 3484, "y_cor": 3805, "width": 1953, "height": 6180 }, "common": { "channel_id": 101, "channel_id_ex": 101, "image_height": 720, "image_width": 1280, "meta_type_mask": 2, "pts": 167506599705, "sdc_uuid": "224440c1-966e-57eb-fd7b-8ca03739be7e" }, "target": { "face_id": 349, "face_pic_time": 1681289694842, "face_pic_tzone": 28800000, "global_object_id": 7198857782190185592, "human_age": 0, "human_backpack": 1, "human_carry": 1, "human_direct": 2, "human_frontpack": 1, "human_gender": 0, "human_glass": 1, "human_hair": 0, "human_hat": 0, "human_lower_color": 1, "human_lower_style": 1, "human_luggage": 1, "human_mouth_mask": 1, "human_pic": "https://www.example.com/v1/holo/tlv_219123456CYP***_6_20230412_tlv_168129058721800230040000rdhfp020.jpg/static", "human_pic_kps": 1, "human_pic_roi": { "height": 10000, "width": 6125, "x": 2000, "y": 0 }, "human_rect_position": { "height": 2513, "width": 515, "x": 6265, "y": 1027 }, "human_satchel": 1, "human_shape": 1, "human_speed": 2, "human_umbrella": 1, "human_upper_color": 4, "human_upper_style": 0, "human_upper_texture": 1, "human_view": 0, "motor_color": 1, "motor_license_plate": 1, "motor_motor_carry": 1, "motor_sunshade": 1, "motor_sunshade_color": 0, "motor_type": 1, "lane_id": 2, "panorama_pic": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625329805000220020000rwnwv130.jpg/static", "pic_snapshot_dst_offset": 0, "pic_snapshot_time": 1676253294, "pic_snapshot_timems": 1676253294194, "pic_snapshot_tzone": 28800000, "riderman_age": 0, "riderman_gender": 0, "riderman_helmet": 0, "riderman_helmetcolor": 0, "riderman_num": 2, "riderman_uppercolor": 4, "riderman_upperstyle": 0, "target_type": 8, "trecord_type": 34, "vehicle_pic": "https://www.example.com/v1/holo/tlv_219123456CYP***_0_20230213_tlv_167625329805000220010000rwnwv130.jpg/static", "vehicle_pos": { "x": 3484, "y": 3805, "width": 1953, "height": 6180 }, "vehicle_type": 8, "vehicle_type_ext": 8, "vhd_object_id": 40056 } }, "test": false }
  • 功能介绍 机非人业务:机动车/非机动车/行人相关的智能场景。 机非人业务消息体的message_type值为target_data。 目前行业视频管理服务会处理以下场景: itgt_type/target_type枚举值: 6 机非人业务目标整体信息(摄像机SDC/NVR800开启机非人模式,行人进入区域,会被自动抓拍,提取行人特征信息,如:年龄段、是否戴眼镜、长头发还是短头发、是否戴帽子、衣服款式和颜色等) 7 机非人业务机动车信息(摄像机SDC/NVR800开启机非人模式, 机动车进入区域,会被自动抓拍,提取机动车特征信息,如:机动车品牌、款型、车牌号、车牌颜色等) 8 机非人业务非机动车信息(摄像机SDC/NVR800开启机非人模式,非机动车进入区域,会被自动抓拍,提取非机动车特征信息,如:非机动车类型、颜色、骑行者的特征信息等) 53 非机动车上目标检测(特定混行摄像机SDC开启混行模式,非机动车进入区域,会被自动抓拍,提取非机动车及其骑行者特征信息,如:非机动车类型、颜色、骑行者的特征信息等。注意:与8不同的是,53有更多的关于骑行者的特征信息,如骑行者是否背包、是否有撑伞等)
  • Redis 6.0企业版主备实例架构设计 Redis 6.0企业版主备实例架构设计如图3所示。 图3 Redis 6.0企业版主备实例示意图 图说明如下: VPC 虚拟私有云。实例的内部所有服务器节点,都运行在相同VPC中。 VPC内访问,客户端需要与Redis 6.0企业版主备实例处于相同VPC,并且配置安全组访问规则。如何选择和配置Redis实例以及客户端的安全组。 客户应用 运行在E CS 上的客户应用程序,即Redis的客户端。 Redis实例兼容开源协议,可直接使用开源客户端进行连接,关于多语言客户端连接示例,请参考用户指南的连接缓存实例。 DCS缓存实例 DCS实例。主备实例包含了Master和Replica两个节点。 Redis 6.0企业版主备实例使用哨兵模式(Sentinel)进行管理,Sentinel会一直监控主备节点是否正常运行,当主节点出现故障时,进行主备倒换。 Sentinel对用户不可见,仅在服务内部中使用。Sentinel的详细介绍可参考什么是哨兵。 Redis的访问端口默认为6379。
  • 主备实例特点 DCS的主备实例在单机实例基础上,增强服务高可用以及数据高可靠性。 主备实例具有以下特性: 持久化,确保数据高可靠 实例包含一个主节点和一个备节点,都默认开启数据持久化。 Redis 3.0主备实例的备节点对用户不可见,不支持客户端直接读写数据。 Redis 4.0、Redis 5.0和Redis 6.0基础版主备实例的备节点对用户可见,用户可以通过只读地址连接到备节点上读取数据。 数据同步 主备节点通过增量数据同步的方式保持缓存数据一致。 当网络发生异常或有节点故障时,主备实例会在故障恢复后进行一次全量同步,保持数据一致性。 故障后自动切换主节点,服务高可用 当主节点故障后,连接会有秒级中断、不可用,备节点在30秒内自动完成主备切换,切换完成后恢复正常访问,无需用户操作,保证业务平稳运行。 多种容灾策略 跨AZ部署(可用区):DCS支持将主备实例的主备副本部署在不同的AZ内,节点间电力与网络均物理隔离。您可以将应用程序也进行跨AZ部署,从而达到数据与应用全部高可用。 读写分离 Redis 4.0、Redis 5.0和Redis 6.0基础版主备实例支持客户端读写分离,分别提供可读写的连接地址(主节点)和只读地址(备节点),客户端连接时,可分别选择主节点或备节点。 主备实例实现客户端读写分离,需要在客户端做配置。如需使用读写分离功能,推荐使用读写分离实例。
  • Redis 3.0主备实例架构设计 DCS的Redis 3.0主备实例架构,如图1所示。 图1 Redis 3.0主备实例示意图 示意图说明: VPC 虚拟私有云。实例的内部所有服务器节点,都运行在相同VPC中。 VPC内访问,客户端需要与主备实例处于相同VPC,并且配置安全组访问规则。 Redis 3.0主备实例除了VPC内访问,还支持公网访问,客户端可以部署在外部网络,并通过实例绑定的弹性公网ip地址访问Redis主备实例。Redis 4.0和5.0主备及Redis 6.0主备实例暂不支持公网访问。 相关参考:公网连接Redis3.0实例,如何选择和配置Redis实例以及客户端的安全组。 客户应用 运行在ECS上的客户应用程序,即Redis的客户端。 Redis实例兼容开源协议,可直接使用开源客户端进行连接,关于多语言客户端连接示例,请参考用户指南的连接缓存实例。 DCS缓存实例 DCS实例。主备实例包含了Master和Replica两个节点。默认开启数据持久化功能,同时保持节点间数据同步。 DCS实时探测实例可用性,当主节点故障后,备节点升级为主节点,恢复业务。 Redis的访问端口默认为6379。
  • Redis 4.0/5.0/6.0基础版主备实例架构设计 Redis 4.0/5.0/6.0基础版主备实例的架构设计,如下图所示。 图2 Redis 4.0/5.0/6.0基础版主备实例示意图 图说明如下: Redis 4.0/5.0/6.0基础版主备实例,分别提供可读写的域名连接地址(用于连接主节点)和只读地址(用于连接备节点)。 连接地址和只读地址,可通过控制台的实例详情页面获取。 Redis 4.0/5.0/6.0基础版主备实例使用哨兵模式(Sentinel)进行管理,Sentinel会一直监控主备节点是否正常运行,当主节点出现故障时,进行主备倒换。 Sentinel对用户不可见,仅在服务内部中使用。Sentinel的详细介绍可参考什么是哨兵。 只读节点和读写节点规格一致,用户创建主备实例时,默认包含一个主节点和一个备节点。 Redis 4.0/5.0/6.0基础版实例支持定义端口,如果不自定义端口,则使用默认端口6379。图中以默认端口6379为例,如果已自定义端口,请根据实际情况替换。 Redis 4.0/5.0/6.0基础版主备实例在只读域名不带负载均衡,对于可靠性和时延敏感的应用场景,建议使用集群或读写分离类型的实例。 Redis 4.0/5.0/6.0基础版主备实例的只读域名在从节点发生故障场景下会出现请求失败的情况,对于可靠性和时延敏感的应用场景,建议使用读写分离类型的实例。
共100000条