GA/T 1400

一、什么是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对接图片及视频流向图

  • 从IPC侧(智能或非智能)至GA1400视图库网关

    支持SDK接入、GA1400协议接入。(互联网环境下:海康支持EHOME、大华支持主动注册、华为支持主动注册,其它品牌通过私有SDK推送图片)

  • 从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:时区
相关推荐
方圆想当图灵1 天前
由 Mybatis 源码畅谈软件设计(九):“能用就行” 其实远远不够
后端·代码规范
古拉拉明亮之神4 天前
scala的统计词频
scala·命令模式·代码规范·源代码管理
沉默是金~5 天前
Vue 前端代码规范
前端·vue.js·代码规范
CreditFE信用前端7 天前
如何更好的应对技术债?
程序员·架构·代码规范
litGrey9 天前
【规范七】Git管理规范
git·代码规范
三原9 天前
写给我前端同事,从事一年多应该要怎么成长的路线
前端·代码规范
方圆想当图灵9 天前
由 Mybatis 源码畅谈软件设计(三):简单查询 SQL 执行流程
后端·代码规范
看山还是山,看水还是。10 天前
软件工程 设计的复杂性
笔记·流程图·软件工程·团队开发·代码规范·内容运营·代码覆盖率
古拉拉明亮之神11 天前
Scala的链式风格
scala·命令模式·代码规范·源代码管理
狂炫一碗大米饭12 天前
响应式设计:打造一个自动适应用户设备屏幕大小和方向的页面。
前端·javascript·代码规范