什么是 GB28181 协议
GB28181协议指的是国家标准GB/T 28181—2016《公共安全视频监控联网系统信息传输、交换、控制技术要求》1,该标准规定了公共安全视频监控联网系统的互联结构, 传输、交换、控制的基本要求和安全性要求, 以及控制、传输流程和协议接口等技术要求,是视频监控领域的国家标准。GB28181协议信令层面使用的是SIP(Session Initiation Protocol)协议2,流媒体传输层面使用的是实时传输协议(Real-time Transport Protocol,RTP)协议3,因此可以理解为GB28181是在国际通用标准的基础之上进行了私有化定制以满足视频监控联网系统互联传输的标准化需求。
传输协议
SIP 协议是一个应用层的点对点协议,用于初始、管理和终止网络中的语音和视频会话,是 GB28181
的核心之一。,它的主要目的是为了解决IP网中的信令控制,以及同软交换的通信,从而构成下一代的增值业务平台,对电信、银行、金融等行业提供更好的增值业务。SIP协议是一种基于文本的类似于HTTP的协议,报文结构与HTTP也一样,即包括请求行,头域字段,body。报文结构如下:
start-line
message-header
CRLF
[ message-body ]
GB28181 流媒体传输协议是 RTP,去掉 RTP 头部,剩余数据为 H264 PS 流,可使用 VLC 直接播放。
基本操作
注册 REGISTER
(a) SIP代理向SIP服务器发送Register请求;
(b) SIP服务器向SIP代理发送响应401,并在响应的消息头WWW_Authenticate字段中给出适合SIP代理的认证体制和参数;
(c) SIP代理重新向SIP服务器发送REGISTER请求, 在请求的Authorization字段给出信任书,包含认证信息;
(d) SIP服务器对请求进行验证,如果检查出SIP代理身份合法,向SIP代理发送成功响应200OK,如果身份不合法则发送拒绝服务应答。
这里的 sip 代理可以是设备本身
GB28181 协议是设备端主动向服务端发起注册消息,并定时发送保活消息,服务端收到后就认为设备在线,超时收不到保活的话就认为设备离线了。客户端发起播放视频请求时,服务端给指定的设备发送 INVITE 请求,通知设备将指定的通道的视频推送到服务端,服务端再转发给客户端,用户就可以播放了。
注销 CANCEL
取消当前的请求,但它并不能中止已经建立的连接
心跳 Keepalive
(a) 源设备向SIP服务器发送设备状态信息报送命令。设备状态信息报送命令采用MESSAGE方法携带;
(b) SIP服务器收到命令后返回200 OK。
INVITE
(a) 媒体流接收者向SIP服务器发送INVITE消息, 消息头域中携带Subject字段, 表明点播的视频源ID、发送方媒体流序列号、媒体流接收者ID、接收端媒体流序列号等参数,SDP消息体中s字段为“Play”代表实时点播。
(b) SIP服务器收到INVITE请求后,通过三方呼叫控制建立媒体服务器和媒体流发送者之间的媒体连接。向媒体服务器发送INVITE消息,此消息不携带SDP消息体。
(c) 媒体服务器收到SIP服务器的INVITE请求后,回复200 OK响应,携带SDP消息体,消息体中描述了媒体服务器接收媒体流的IP、端口、媒体格式等内容。
(d) SIP服务器收到媒体服务器返回的200 OK响应后,向媒体流发送者发送INVITE请求,请求中携带消息3中媒体服务器回复的200 OK响应消息体,s字段为“Play”代表实时点播, 增加y字段描述SSRC值,f字段描述媒体参数。
(e) 媒体流发送者收到SIP服务器的INVITE请求后,回复200 OK响应,携带SDP消息体,消息体中描述了媒体流发送者发送媒体流的IP、端口、媒体格式、SSRC字段等内容。
(f) SIP服务器收到媒体流发送者返回的200 OK响应后,向媒体服务器发送ACK请求,请求中携带消息5中媒体流发送者回复的200 OK响应消息体, 完成与媒体服务器的INVITE会话建立过程。
(g) SIP服务器收到媒体流发送者返回的200 OK响应后,向媒体流发送者发送ACK请求,请求中不携带消息体,完成与媒体流发送者的INVITE会话建立过程。
(h) 完成三方呼叫控制后,SIP服务器通过B2BUA代理方式建立媒体流接收者和媒体服务器之间的媒体连接。在消息1中增加SSRC值,转发给媒体服务器。
(i) 媒体服务器收到INVITE请求,回复200OK响应,携带SDP消息体,消息体中描述了媒体服务器发送媒体流的IP、端口、媒体格式、SSRC值等内容。
(j) SIP服务器将消息9转发给媒体流接收者。
(k) 媒体流接收者收到200 OK响应后,回复ACK消息,完成与SIP服务器的INVITE会话建立过程。
(l) SIP服务器将消息11转发给媒体服务器,完成与媒体服务器的INVITE会话建立过程。
(m) 媒体流接收者向SIP服务器发送BYE消息,断开消息1、10、11建立的同媒体流接收者的INVITE会话。
(n) SIP服务器收到BYE消息后回复200 OK响应, 会话断开。
(o) SIP服务器收到BYE消息后向媒体服务器发送BYE消息,断开消息8、9、12建立的同媒体服务器的INVITE会话。
(p) 媒体服务器收到BYE消息后回复200 OK响应, 会话断开。
(q) SIP服务器向媒体服务器发送BYE消息,断开消息2、3、6建立的同媒体服务器的INVITE会话。
(r) 媒体服务器收到BYE消息后回复200 OK响应,会话断开。
(s) SIP服务器向媒体流发送者发送BYE消息,断开消息4、5、7建立的同媒体流发送者的INVITE会话。
(t) 媒体流发送者收到BYE消息后回复200 OK响应, 会话断开。
云台控制(PTZ)
PTZ操作常用分为
镜头变倍(缩小、放大)
云台水平和垂直方向控制(上、下、左、右4个方位的开始移动及停止移动)
级联
国标28181相对于国际上的安防协议标如ONVIF最大的优势是实现了平台级联方式。级联方式更是为中国政府机关和平安城市、智慧城市等概要非常贴切的应用。平台之间的级联实现了不同平台之间的互联互通,实现了有效的视频资源整合。
级联架构图
级联时序图
相关术语
B2BUA Back to Back User Agent 背靠背用户代理
CIF Common Intermediate Format 通用中间格式
DNS Domain Name System 域名系统
DVR Digital Video Recorder 数字硬盘录像机
IP Internet Protocol 因特网协议
MANSCDP Monitoring and Alarming Network System Control Description Protocol
监控报警联网系统控制描述协议
MANSRTSP Monitoring and Alarming Network System Real-Time Streaming Protocol
监控报警联网系统实时流协议
NAT/FW Network Address Translator and FireWall 网络地址翻译/防火墙
NTP Network Time Protocol 网络时间协议
PS Program Stream 节目流
RTCP Real-time Transport Control Protocol 实时传输控制协议
RTP Real-time Transport Protocol 实时传输协议
RTSP Real-Time Streaming Protocol 实时流化协议
SDP Session Description Protocol 会话描述协议
SIP Session Initiation Protocol 会话初始协议
S/MIME Secure Multipurpose Internet Mail Extensions 安全多用途网际邮件扩充协议
TCP Transmission Control Protocol 传输控制协议
TLS Transport Layer Security 传输层安全
UA User Agent 用户代理
UAC User Agent Client 用户代理客户端
UAS User Agent Server 用户代理服务端
UDP User Datagram Protocol 用户数据报协议
URI Universal Resource Identifier 全局资源标识符
XML EXtensible Markup Language 可扩展标记语言
SVAC Surveillance video and audio coding 安全防范监控数字视音频编码