一、什么是GA/T 1400
GA/T 1400是一种公安视频图像信息应用系统的传输协议,它于2017年首次发布,主要规定了如何传输、接收和处理图片、视频片段、文件等属性对象。该协议主要应用于公安系统的视频图像信息应用平台,能够实现快速的平台搭建,支持二次开发,已经实现了主流上层视图库平台互通,包括海康、大华、华为等平台。
根据GA/T 1400协议,平台结构化数据和视频数据可以通过国标、协议接口、标准视频流等方式提供给上层应用平台。同时,该协议还支持h.265播放器播放,无需更改前端视频设备编码。此外,通过网关对接第三方视图平台也是GA/T 1400的特性之一。
对于设备终端,GA/T 1400提供了采集接口,只需要关注采集接口即可。同时,GA/T 1400还支持互联网前端设备接入GA1400网关。
总体来说,GA/T 1400是一种传输协议,主要用于公安系统中的视频图像信息处理和传输。
1400标准有4部分:
- GA-T 1400.1-2017 公安视频图像信息应用系统 第1部分:通用技术要求
- GA-T 1400.2-2017 公安视频图像信息应用系统 第2部分:应用平台技术要求
- GA-T 1400.3-2017 公安视频图像信息应用系统 第3部分:数据库技术要求
- GA-T 1400.4-2017 公安视频图像信息应用系统 第4部分 接口协议要求
1400与28181有共性的地方,比如设备编码规范、信令交互规范等,肤浅一点说,28181定义的是视频联网,1400定义的图片传输,目前几乎没有安防厂家能完全吃透1400标准,应用最多的是ipc传输图片及相关信息到后端设备/平台,以及视图库平台与平台对接等,比如人脸抓拍机传输人脸图片、人脸特征等到人脸应用平台,车辆抓拍机传输车辆图片、车牌信息到车辆卡口平台。
二、GA/T 1400对接图片及视频流向图
-
从3方平台GA1400网关至上级GA1400视图库对接
通过通过GA1400协议,实现联网、查询与检索、布控及告警、订阅与通知、用户管理、设备管理等功能。
三、GA1400系统对视图图像数据的相关定义
系统中主要使用的数据类型包括:人(人脸、人员),车(机动车、非机动车),物(场景及物品),视频图像标签。把这些数据分为图像、视频、文件3大类。
公安视图库与视频监控信息采集终端(人脸抓拍摄像头)数据交互,接口支持注册、保活、注销、校时等。
公安1400标准视图库与GB28181对接图,支持视频监控系统联网平台或共享平台接入(通过Gb/T28181-2016),在线及离线视频监控图像接入,AI智能分析接入,公安视图库接入,PGIS/GIS系统接入。同时还支持统一认证及鉴权。
四、GAT1400的部分测试数据
1.人脸对象接口:批量人脸新增
URL: /VIID/Faces
请求方法: POST
Body:
json
{
"FaceListObject": {
"FaceObject": [{
"FaceID": "111110220200710143217001770600178",
"InfoKind": 1,
"SourceID": "11111022020071014321700177",
"DeviceID": "11111",
"ShotTime": "20200710143217",
"LeftTopX": 512,
"LeftTopY": 369,
"RightBtmX": 749,
"RightBtmY": 707,
"LocationMarkTime": "20200710143217",
"FaceAppearTime": "20200710143217",
"FaceDisAppearTime": "20200710143217",
"GenderCode": "1",
"AgeUpLimit": 28,
"AgeLowerLimit": 28,
"GlassStyle": "99",
"Emotion": "1",
"IsDriver": 2,
"IsForeigner": 2,
"IsSuspectedTerrorist": 2,
"IsCriminalInvolved": 2,
"IsDetainees": 2,
"IsVictim": 2,
"IsSuspiciousPerson": 2,
"Similaritydegree": 0,
"SubImageList": {
"SubImageInfoObject": [{
"ImageID": "11111022020071014321700177",
"EventSort": 10,
"DeviceID": "11111",
"StoragePath": "",
"Type": "14",
"FileFormat": "Jpeg",
"ShotTime": "20200710143217",
"Width": 1920,
"Height": 1264,
"Data": "图片数据"
}, {
"ImageID": "11111022020071014321700180",
"EventSort": 10,
"DeviceID": "11111",
"StoragePath": "",
"Type": "11",
"FileFormat": "Jpeg",
"ShotTime": "20200710143217",
"Width": 896,
"Height": 700,
"Data": "图片数据"
}]
},
"RelatedType": "01",
"RelatedList": {
"RelatedObject": [{
"RelatedType": "01",
"RelatedID": "111110220200710143217001770100179"
}]
}
}]
}
}
响应体:
json
{
"ResponseStatusObject": {
"RequestURL":"http://192.168.1.133:10003/VIID/Faces",
"StatusCode": 0,
"StatusString": "正常",
"Id": "666666",
"LocalTime": "20200713140520"
}
}
说明:
css
FaceID:人脸标识;
InfoKind:信息分类:人工采集/自动采集;
SourceID:来源标识:来源图像信息标识;
DeviceID:设备编码,自动采集必选;
ShotTime:拍摄时间;
LeftTopX:左上角X坐标;
LeftTopY:左上角Y坐标;
RightBtmX:右下角X坐标;
RightBtmY:右下角Y坐标;
LocationMarkTime:位置标记时间;
FaceAppearTime:人脸出现时间;
FaceDisAppearTime:人脸消失时间;
GenderCode:性别代码;
AgeUpLimit:年龄上限;
AgeLowerLimit:年龄下限;
GlassStyle:眼镜款式;
Emotion:不清楚字段含义;
IsDriver:是否驾驶员:0-否;1-是;2-不确定;
IsForeigner:是否涉外人员:0-否;1-是;2-不确定;
IsSuspectedTerrorist:是否涉恐人员:0-否;1-是;2-不确定;
IsCriminalInvolved:是否涉案人员:0-否;1-是;2-不确定;
IsDetainees:是否在押人员::0-否;1-是;2-不确定,人工采集必填;
IsVictim:是否被害人:0-否;1-是;2-不确定;
IsSuspiciousPerson:是否可疑人:0-否;1-是;2-不确定;
Similaritydegree:相似度:人脸相似度[0,1]
ImageID:图像标识;
EventSort:事件分类:自动分析事件类型,设备采集必选;
DeviceID:设备编码;
StoragePath:存储路径:图像文件的存储路径,采用URI命名规则;
Type:不清楚字段含义;
FileFormat:图像文件格式;
ShotTime:拍摄时间;
Width:宽度;
Height:高度;
Data:图片数据,使用BASE64加密
2.人员对接接口:批量人员新增
URL:/VIID/Persons
请求方法: POST
Body:
json
{
"PersonListObject": {
"PersonObject": [{
"PersonID": "111110220200713152053010710101072",
"InfoKind": 1,
"SourceID": "11111022020071315205301071",
"DeviceID": "11111",
"LeftTopX": 1,
"LeftTopY": 188,
"RightBtmX": 999,
"RightBtmY": 997,
"LocationMarkTime": "20200713152053",
"PersonAppearTime": "20200713152053",
"PersonDisAppearTime ": "20200713152053",
"GenderCode": "2",
"HairStyle": "99",
"CoatLength": "1",
"CoatColor": "99",
"TrousersColor": "99",
"TrousersLen": "1",
"IsDriver": 2,
"IsForeigner": 2,
"IsSuspectedTerrorist": 2,
"IsCriminalInvolved": 2,
"IsDetainees": 2,
"IsVictim": 2,
"IsSuspiciousPerson": 2,
"SubImageList": {
"SubImageInfoObject": [{
"ImageID": "11111022020071315205301071",
"EventSort": 9,
"DeviceID": "11111",
"StoragePath": "",
"Type": "14",
"FileFormat": "Jpeg",
"ShotTime": "20200713152053",
"Width": 1920,
"Height": 1264,
"Data": "图片1"
}, {
"ImageID": "11111022020071315205301073",
"EventSort": 9,
"DeviceID": "11111",
"StoragePath": "",
"Type": "10",
"FileFormat": "Jpeg",
"ShotTime": "20200713152053",
"Width": 704,
"Height": 368,
"Data": "图片2"
}]
}
}]
}
}
响应体:
json
{
"ResponseStatusObject": {
"RequestURL":"http://192.168.1.133:10003/VIID/Persons",
"StatusCode": 0,
"StatusString": "正常",
"Id": "666666",
"LocalTime": "20200713140520"
}
}
说明:
PersonID:人员标识;
HairStyle:发型;
CoatLength:上衣长度;
CoatColor:上衣颜色;
TrousersColor:裤子颜色;
TrousersLen:裤子长度
3. 注册接口
URL:/VIID/System/Register
请求方法: POST
Body:
json
{
"RegisterObject":{
"DeviceID":"666666"
}
}
响应体:
json
{
"ResponseStatusObject": {
"RequestURL":"http://192.168.1.133:10003/VIID/Register",
"StatusCode": 0,
"StatusString": "正常",
"Id": "666666",
"LocalTime": "20200710141428"
}
}
说明:
javascript
DeviceID:设备ID;
RequestURL:资源定位符,对应操作的URL;
StatusCode:状态码:0-OK,正常;
OtherError,其它未知错误;
Device Busy,设备忙;
Device Error,设备错;
Invalid Operation,无效操作;
Invalid XML Format,XML格式无效;
Invalid XML Content,XML内容无效;
Invalid JSON Format,JSON格式无效;
Invalid JSON Content,JSON内容无效;
Reboot,系统重启中
StatusString:状态描述;
Id:资源ID;
LocalTime:日期时间:当前时间,用于需要校时的场合
4.保活接口
URL:/VIID/System/Keepalive
请求方法: POST
Body:
json
{
"KeepaliveObject":{
"DeviceID":"666666"
}
}
响应体:
json
{
"ResponseStatusObject": {
"RequestURL":"http://192.168.1.133:10003/VIID/Keepalive",
"StatusCode": 0,
"StatusString": "正常",
"Id": "666666",
"LocalTime": "20200710141428"
}
}
5.校时接口
URL:/VIID/System/Time
请求方法: GET
Body:
json
无
响应体:
json
{
"SystemTimeObject": {
"VIIDServerID":"8C5BED13-5CBC-4EFB-AEFB-D57DB4F24F60",
"TimeMode": "",
"LocalTime": "20200713140520",
"TimeZone": ""
}
}
说明:
sql
VIIDServerID:服务器标识符;
TimeMode:校时模式;
LocalTime:日期时间;
TimeZone:时区