GB28181协议实现简介

          国家为了规范安防行业的设备平台互联互通,在2012年出台了GB/T-28181的第一版标准:

          

           这个版本我13年在工作中开发IPC设备使用过,当时觉得协议对流媒体的规范还是比较好(H.264+G711封装成PS流,再经过RTP协议进行实时传输),但是控制方面有很多不足,相对于当前流行的ONVIF协议在控制信令上还是有很多不足。去公安一所检测拿个证书也简单,因为只要信令符合,必选项的功能实现即可(当时就是感觉规范了注册和流媒体,不过这一般监控领域也只需要这关键的信息)。

          后续公安一所又感觉2011版本的协议不能满足方方面面的信令需求,于是增加了修改补充协议,如下:

          

            这次的补充,完善之前协议各地方说辞有误或是不清晰的地方,还增加了不少的信令需求,如:回放、下载、配置、传输协议、设备控制(拉宽放大、缩小)等待一系列的功能。

            但是这个14年修改补充的文件,很多厂家都不知道,我也是15年才知道有这个文件,为此又在原先的协议基础上进行开发完善。

            不可否定的是国家公安机关一直在强推这套协议,也有很多厂家积极响应号召,如我们的一个大客户中星电子,他们的平台就是纯基于GB28181协议实现的,在重点城市进行平安智慧城市的创建。海康和大华虽然也有平安城市的平台,但是不是纯基于GB28181的,只是作为一个协议接入,毕竟他们自己的产品很多走的私有协议(市场决定这些因素),所以个人觉得往往是新兴的科技企业在没有利益的驱使下更愿意推行国家标准。

           2016年公安部一所又推出了GB/T-28181 - 2016版本,此版本就是对之前的2011版和修改补充版进行合并,并增加一些信令,说明制定协议的同志们一直都在努力。

         

             这次的版本应该算是阶段性的版本了,短时间内应该不会修改了。

             

             好了,协议的背景已经讲完了。下面来说下怎么去实现这个GB28181的协议栈功能。

             GB/T-28181协议其实就是在国际上通用的SIP协议进行私有化定制,流媒体方面就是在国际最流行的编码上进行封装(当然也有我们国家的编码标准SVAC)。

             既然是国际上通用协议,那肯定就可以借助开源组织的力量了,要知道这是全球最大的软件组织,几乎所有的程序员都为之敬佩!开源组织给了推进计算机技术发展的很好良方。SIP协议实现完全可以用osip来作为基础协议栈(至少我看到绝大多数厂家是如此实现,海康、大华。。。。),使用开源没什么不好的,至少我们知道他们是稳定的,可靠的,会一直维护的。

           我采用的是libosip+libexosip+libxml来实现IPC和平台协议功能,前面两者负责sip协议的实现,libxml用来封装和解析实体信令。通过3~4年的市场应用感觉挺稳定的。

           流媒体方面:从编码中获取的h.264+g711的视音频帧,进行PS媒体协议封装(自己写的PS封装协议),再经过RTP传输协议(自己实现)发送至平台。

           平台对收到的RTP流媒体进行解RTP,解PS,再进行h.264+g711的解码。

  GB28181协议已经慢慢的进行了规范完善,现在大的趋势也已经是这样,虽然以前有很多的私有协议平台,但新建的平安城市等政府都需要能支持GB28181的互联互通,GB28181协议还有互联功能,这个功能比ONVIF好很多,因为可以进行大面积的组网,可以有上下级平台的区分,这一点是ONVIF不能做到的。

           ONVIF协议其实也有很多不足,如对事件的具体定义,如对视频分析的定义都是模糊的。用户开发自己的需要自己定义,而且没有对流媒体的方面的定义,因为媒体是通过RTSP协议进行的。

            专业提供国标解决方案    QQ:421954511

  • 9
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
GB28181协议是中国监控领域的一种视频监控设备间通信协议,旨在实现设备之间的互通互联。GB28181协议实现源码对于开发者来说非常重要,可以帮助他们理解和实现协议相关功能。 针对GB28181协议的Android源码实现,主要包括以下几个方面的内容: 1. SIP协议处理:GB28181协议使用SIP协议作为信令传输协议,Android源码实现需要涉及到SIP协议的处理。包括SIP消息的解析、组装和传输等。 2. RTP媒体传输:GB28181协议使用RTP协议传输视频和音频数据,Android源码实现需要包括RTP协议的解析和组装,以及相应的数据传输功能。 3. 设备管理功能:GB28181协议实现源码还需要包括设备管理的相关功能,例如设备注册、心跳、查询设备列表等。这些功能可以通过Android源码实现,提供给开发者进行二次开发和定制。 4. 实时监控功能:GB28181协议主要用于实现视频监控设备之间的实时监控功能,Android源码实现需要包括视频流的接收、解码和显示等功能。 实现GB28181协议的Android源码可以通过使用Android的网络通信框架,如SIP协议实现可以使用Jain-SIP库,RTP协议实现可以使用Android的MediaCodec等相关API。 需要指出的是,GB28181协议实现源码是非常复杂的,其中涉及到的技术细节较多,需要开发者具备相应的网络通信和视频处理的知识。因此,在使用和修改GB28181实现源码时,开发者需要谨慎并且具备相应的专业知识,以确保功能的正确性和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值