近年来,国内视频监控应用发展迅猛,系统接入规模不断扩大,涌现了大量平台提供商,平台提供商的接入协议各不相同,终端制造商需要给每款终端维护提供各种不同平台的软件版本,造成了极大的资源浪费。各地视频大规模建设后,省级、国家级集中调阅,对重特大事件通过视频掌握现场并进行指挥调度的需求逐步涌现,然而不同平台间缺乏统一的互通协议。在这样的产业背景下,基于终端标准化、平台互联互通的需求,GB/T28181应运而生。 GB28181标准规定了公共安全视频监控联网系统(以下简称联网系统) 的互联结构, 传输、 交换、 控制的基本要求和安全性要求, 以及控制、 传输流程和协议接口等技术要求。
以上功能就是GB28181协议所要介绍的主要内容,整个GB28181协议都是围绕以上功能进行展开介绍的 。
SIP协议:会话初始协议(支持语音、视频、数据等多媒体业务)。GB28181协议是以sip协议为核心进行规定的。
联网系统网络层为ip协议,传输层为tcp/udp协议。
IP协议:是tcp/ip协议的核心,所有的TCP/UDP/IMCP/IGMP都是以ip协议传输的,ip不是可靠协议,一般用于网络层中的点对点通信等。
SDP协议:描述多媒体会话的应用层协议(文本协议)。以下为各个字段的含义。
V:协议版本 O:所有者/创建者会话标识 S:会话名 U:视音频文件的URI
C:连接信息 T:回放/下载时的开始/结束时间 M:媒体描述类型(video/audio)
B:宽带信息 A:零或多个媒体行属性 Y:一般指一路数据流的id F:一般指媒体描述
(1)请求命令:
Contral(控制)、Query(查询)、Notify(通知)。
(2)应答命令:
Response(请求动作应答)。
(3)全局类型名称及说明:
deviceIDType(设备编码类型)、statusType(状态类型)、resultType(结果类型);
PTZType(控制码类型)、recordType(录像控制类型)、guardType(布防/撤防控制类型);
itemType(设备目录项类型)、itemFileType(文件目录项类型)。
Message消息体格式如下:
Messagesip:目的设备编码@目的域名或IP地址端口SIP/2.0
To:sip:目的设备编码@目的域名
Content-Length:消息实体的字节长度
CSeq:1Message
Call-ID:a84b4c76e66710
Via:SIP/2.0/UDP 源域名或IP地址
From:;tag=237f57dc
Content-Type:Application/MANSCDP+xml
Max-Forwards:69
Header |
含义说明 |
Via |
Via头域是被服务器插入request中,用来检查路由环的,并且可以使response根据via找到返回的路 |
Max-Forwards |
用于表示这个包最多可以传送多少跳,每经过一跳都会减一当Max-Forwards==0系统会返回483。默认为70 |
From |
表示请求的发起者 |
To |
表示请求的接收者 |
Call-ID |
对话的地址ID |
Contact |
包含源的URI信息,用来给响应方直接和源建立连接用 |
Content-Type |
指明消息体的类型 (SDP会话描述协议) |
Content-Length |
指明消息体的字节大小 |
状态码 |
含义 |
1xx |
临时响应、表示请求消息正在被处理 |
2xx(200) |
成功响应、表示请求已被成功接收完全理解并接收(成功响应) |
3xx(302) |
重定向响应、表示需采取进一步完成请求(临时迁移) |
4xx |
客户机错误、表示请求消息中包含语法错误信息或服务器无法完成客户机的请求 |
5xx(504) |
服务器错误、表示服务器无法合法完成请求(服务器超时) |
6xx(600) |
全局故障 、表示任何服务器都无法完成该请求(全忙) |
Method |
方法说明 |
REGISTER |
注册联系信息 |
INVITE |
发起会话请求 |
ACK |
INVITE 请求的响应的确认(与INVITE配套使用) |
CANCEL |
取消请求 |
BYE |
终结会话(与INVITE配套使用) |
OPTIONS |
查询服务器能力 |
MESSAGE |
RFC3428对Sip协议的扩展,增加了MESSAGE方法。采用Pager Model进行通信,传递不超过1300字节的数据。 |
编码规则A:系统编码(20位)==中心编码(8位)+行业编码(2位)+类型编码(3位)+序号(7位)。
eg:37030000001320000023代表:山东省淄博市的社会治安路面接入网络摄像机(IPC)编码序号。
编码规则B:系统编码(16位)==中心编码(8位)+行业编码(2位)+序号(4位)+类型编码(2位)。
eg:3703000000002302代表:山东省淄博市的社会治安路面接入序号数字视频解码设备。
在gb28181中视音频数据是先按照ISO/IEC13818-1:2000将其封装为PS包后,再将PS包以负载形式封装为 RTP包。
PS包结构 == System Heade(系统头)+PSM(程序流图)+PESV(视频PES包)+PESA(音频PES包。如下:典型的视频关键帧PS包结构。
PS包头 | System header | PSM | PESV | PESA |
RTP协议 == RTP Header(RTP头部占12byte) + RTP Payload(RTP负载);
RTP payload=NALU(网络提取单元层)=NAL header(占1byte=8bit)+H264原始码流(RBSP);
RTP payload=NALU(网络提取单元层)/分包后的FU-A(分片单元)/PPS(图像参数集)+SPS(序列参数集);
MTU的默认值一般为1500byte,一般NALU(或FU-A)需小于MTU
FU-A的分片格式:12byte的RTP头+fu-a分片
(1)联系:二者都是流媒体协议用于传输视音频数据流的。
(2)区别:
RTMP:实时消息协议(Real Time Messaging Protocol)。
底层协议:TCP。
一般用于第三方流媒体应用(B站等)。
RTSP:实时流协议(Real Time Streaming Protocol)。
底层协议:TCP和UDP。
一般用于IP摄像头、物联网设备等。
参考资料:
《GBT 28181-2016 公共安全视频监控联网系统信息传输、交换、控制技术要求》