GB28181协议

        如果您从事安防监控行业应该对GB28181这个词不陌生,很多刚入行的小白可能对GB28181并不了了解,本文主要讲述

GB28181用途以及基本的协议内容。

      GB28181(也被称为国标)基本的作用是解决平台之间互通的问题(广义上说摄像机、NVR也是平台)。第一个国标版本

是GB28181-2011,在这之前平台之前互通主要是采用 对方平台的SDK,比如说海康的平台A要获取大华的平台B视频流 需要

大华提供平台B的SDK。试想建一个省级综合视频大平台要汇聚管辖内各市区视频(每个市区可能有几十个不同厂家平台,部分

平台可能年代久过了厂家维护期) 都按SDK的方式对接得花多少时间和精力。有了GB28181标准以后,大家都遵守这个平台互

通只需要配置基本的GB28181基本参数信息,一般也就半天时间,运气好的可能就几分钟时间。采用GB28181以后平台互通效

率得到了很大的提升。

       学习GB28181协议首先得搞清楚上级和下级概念。资源方是下级,获取资源方是上级。比如说,平台C 是 小区平台管辖小

区内数百个视频源,平台D是市级平台需要获取小区平台C下的视频,此时 平台C是下级,平台D是上级。假如平台C也是通过

GB28181获取管辖下的摄像机视频,在这个环节摄像机是下级,平台C是上级。此外,GB28181是基于sip应用层的协议,它只

规定了事务(比如注册、请求视频、请求录像、语音对讲、运镜控制、报警等)基本的流程。比如由谁先发起,关键字段是什么,

对方回复字段信息是什么,结束字段是什么等等。具体发送的信令包需符合SIP协议。很多厂商开发GB28181程序也都是基于开

源sip库,例如PJSIP。了解了这些,下面具体看下GB28181基本流程。

       1. 注册(Register)

       两个平台互通的第一个流程便是注册,它是有下级平台发起,注册信息包含了上级平台的ID,IP,端口等信息。如果上级平台

不需要鉴权可直接回复OK,如果需要鉴权会回复401,下级平台收到401后携带上鉴权信息(上级平台设置的用户名及密码)

再次注册。

      

                                                   图1. 下级向上级注册

 

                                                               图2. 下级向上级注册抓包信息(不鉴权)

                  图3. 下级向上级注册抓包信息(鉴权)

 2. 保活(keepALive)

  保活 消息由 下级 平台发送到上级平台,其作用是告诉上级平台本下级平台还在线。

                                                          图4. 下级向上级发送保活信令

                                                       图5. 下级向上级发送保活信令抓包

  3. 获取设备信息(Catalog)

       获取设备信息由上级平台发起,正常情况下下级平台收到Catalog请求后,会将自身管辖的视频源信息推送给上级。需要注意

的是,返回的Catalog信息会有两个DeviceID字段。第一个DeviceID表示的是平台ID,第二个表示的是视频通道ID(具体的视频源

设备)。另外设备的名称采用是GB2312编码,存入数据库时需做编码转换。

                                                   图6. 上级 向下级发送获取Catalog

 

                                           图7. 上级 向下级获取设备命令抓包

                                   图8. 下级向上级返回设备信息抓包

 4. 请求实时流(Invite)

  请求实时流由上级平台发起,信令包含 请求实时流的ID,请求实时流类型(视频或音频)、编码方式、视频接收端口等SDP

信息。下级平台收到请求实时流信令后正常情况下会回复trying以及OK,上级平台收到OK后会发送Ack进行确认。下级平台接收

到Ack后开始推送实时流。GB28181规定了实时流格式为RTP+PS,也就是先将原始裸流封装成MpegPS流,再打包Rtp格式,具体

如何封装PS流,如果打包成Rtp包可查阅相关协议。

                                                    图9. 上级向下级请求实时流

 

                                                   图10. 上级向下级请求实时流抓包

                                              图11. 上级向下级请求实时流抓包

如需交流,可以加QQ群1038388075,766718184,或者微信:18355123565

抓包示例下载 地址:http://www.chungen90.com/?list_52_3/

GB28181Demo 下载地址:http://www.chungen90.com/?list_52/88.html

posted @ 2024-02-23 15:23  王纲  阅读(177)  评论(0编辑  收藏  举报