一、引言
在工业物联网的浪潮中,视频监控作为重要的数据源,其接入和管理一直是企业关注的焦点。GB/T 28181作为中国公共安全视频监控联网系统领域的国家标准,为我们提供了一套标准化的视频监控联网解决方案。本文将介绍国标GB/T 28181视频监控设备的高效接入和管理。
二、背景
GB28181协议,全称为国家标准GB/T 28181—2016《公共安全视频监控联网系统信息传输、交换、控制技术要求》,是视频监控领域的一项重要国家标准。该标准详细规定了公共安全视频监控联网系统的互联架构,包括传输、交换、控制的基本要求,以及系统的安全性标准。此外,它还涵盖了控制和传输流程,以及协议接口等关键技术要求,为确保视频监控系统的高效、安全运行提供了规范和指导。 GB28181协议在信令层面采用SIP(会话初始协议)进行通信,而在流媒体传输层面则使用RTP(实时传输协议)。这意味着GB28181协议实际上是在国际通用标准的基础上进行了定制,以适应视频监控联网系统在互联传输方面的特定需求,实现了标准化和私有化的结合。
三、协议流程
3.1 SIP协议
SIP是一种基于文本的协议,它的语法和消息非常类似于HTTP协议,不同之处在于SIP不仅可以用TCP,也可以用UDP封装。SIP采用统一资源定位(URL,Uniform Resource Locators)来指示会话的发起方(From)当前请求的目的地(RequestURL)和最终的接收方(To)。
SIP中一个比较重要的概念是用户代理(User Agent),指的是一个SIP逻辑网络端点,用于创建、发送、接收SIP消息并管理一个SIP会话,SIP用户代理又可分为用户代理客户端UAC(User Agent Client)和用户代理服务端UAS(User Agent Server)。UAC创建并发送SIP请求,UAS接收处理SIP请求,发送SIP响应。
SIP协议会与许多其它的协议协同工作,如SIP报文内容发送会话描述协议(Session Description Protocol,SDP),SDP协议描述了会话所使用流媒体细节,如:使用哪个IP端口,采用哪种编解码器等等。SIP(会话初始协议)负责建立和管理会话,而RTP(实时传输协议)才是实际承载语音或视频数据的核心。在GB28181协议框架下,联网系统在进行视音频传输和控制时,需要建立两个独立的通道:会话通道和媒体流通道。
会话通道的作用是在设备之间建立会话,并传输系统级的控制命令,以协调和管理会话的生命周期。媒体流通道专门用于传输视音频数据。经过压缩编码的视音频流通过流媒体协议RTP(实时传输协议)和RTCP(RTP控制协议)进行传输,确保数据的实时性和同步性。通过这种双通道的设计,可以有效地分离控制信号和媒体流,提高系统的稳定性和扩展性。
3.2 注册
注册是指设备或系统在加入网络时,向SIP服务器(如FFmpeg这样的SIP用户代理服务器,UAS)进行登记的过程。在这个流程中,设备会向FFmpeg发送一个注册请求。一旦FFmpeg接收到这个请求,它会回复相应的确认消息,从而完成整个设备的注册过程。基本注册流程如下所示:
3.3 保活
当用户代理(UA)检测到工作异常时,它应立即向其所属的SIP监控域内的SIP服务器发送状态更新。在系统运行正常的情况下,UA也应定期向同一SIP服务器发送状态报告。这些状态报告遵循IETF RFC3427标准中定义的MESSAGE方法。通过这种周期性的状态报告,可以建立注册服务器与源设备之间的状态监测和心跳机制,以确保系统的稳定运行。
3.4 数据流
在GB28181协议中,视频流可以是PS流、H.264流或MP4格式,国标流媒体服务器的作用是将这些格式的视频流转封装为ES流,然后通过RTSP、RTMP、FLV、HLS等协议进行分发,以实现在不同终端上的播放。PS流(Program Stream)和ES流(Elementary Stream)是两种不同的视频流格式,它们在视频数据的组织和封装方式上有所区别:
ES流(Elementary Stream),也称为基本码流,是直接从编码器出来的数据流,可以是编码过的视频数据流(如H.264、MJPEG等),音频数据流(如AAC),或其他编码数据流的统称。ES流由若干个存取单元(AU)组成,每个视频AU或音频AU都是由头部和编码数据两部分组成。1个AU相当于编码的1幅视频图像或1个音频帧。ES流不包含时间戳和音视频同步信息,因此不适合直接用于网络传输。
PS流(Program Stream),也称为节目流,是由PS包组成,而一个PS包又由若干个PES包组成。PS流对ES流进行了两层的封装,添加了同步信息与时钟恢复信息,使得数据流更加适合存储和传输。一个PS包最多可包含具有同一时钟基准的16个视频PES包和32个音频PES包。PS流的包结构是可变长度的,适合于信道环境较好、传输误码较低的场合。常用于DVD视频等存储介质中,也适用于一些网络传输场景。
总结来说,ES流是原始的编码数据流,而PS流是在ES流的基础上进行了进一步封装,加入了更多的控制信息,以适应不同的应用场景。
3.5 传播方式
GBT28181协议规定码流使用RTP包负载,推荐为PS流,也可以是ES流,对于媒体流的传输在原有UDP传输的基础中,增加了主动tcp和被动tcp的方式。
UDP被动是普遍的传输方式。GB28181流媒体服务器监听单个UDP端口,然后发送一个SIP信令(INVITE),其携带的SDP中包含了接收媒体的端口设备端收到信令后,解析该端口,然后设备主动通过UDP向流媒体服务端监听的端口上发送视频流。
TCP主动是由设备端告知服务端自己的媒体流tcp端口,服务端主动去连接设备端的该端口,获取数据,这种场景应用较少,可以忽略。
TCP被动是由流媒体服务器监听单个TCP端口,然后通过SIP信令(INVITE)告诉设备端口,设备主动向当前流媒体服务端发送视频流,基本等同于UDP流。
四、结语
GB/T 28181标准为中国的视频监控系统提供了统一的技术规范,促进了监控资源的共享与利用,提高了公共安全和城市管理的效率。随着物联网、大数据等新技术的融合,GB/T 28181标准将继续推动视频监控技术向前发展。