转发同事搞GB28181协议的经历

2017年刚参加工作,项目中就用到了摄像头。内网用rtsp拉流可以通,外网行不通,当时一直研究怎么穿透网络,最后根据客户的情况,选择了比较麻烦的一种方案:

  客户门店使用电信宽带拨号上网,路由器绑定在锐捷平台。在路由器上做好端口映射(映射NVR的web访问端口)。
需要观看的时候,登陆锐捷的平台得到路由器的外网地址,再访问NVR。
当然这样做弊端很多:

穿透率低,拨号上网不一定能分配到公网ip,很有可能还是内网的ip。即使分配到了公网ip,很多宽带都屏蔽了端口(NAT限制)。即使用花生壳等穿透工具,宽带的问题穿透不了的还是穿透不了,还是需要服务器来转发实现穿透。
速度慢。
自此以后,脑海里一直有个问题,摄像头怎么才能友好的出内网?

  2018年,新公司,新项目当中又用到了摄像头,出外网的问题随之而来。不同于之前,这次摄像头是用在室外,通过4G卡上网。领导也提出了一些方案,最后也都是无疾而终,搁置不前。

  在开发部标JT1078流媒体服务时,发现终端通过TCP连接上Server,Server可以通过TCP通道给终端下发推流命令,终端再向服务器推流。我艹,瞬间感觉这种方式多方便、多友好啊。随之即想到,难道之前的安防摄像头不能通过这样方式推流吗?是摄像头厂商发展太慢,还是我太菜了?拿起了海康的摄像头,又是一阵研究,结果显然是我太菜了。原来有GB28181协议啊,完美解决出外网的问题。后面也基于GB28181实现了流媒体平台,解决了这一大憾事。后面也将带来几篇文章讲解GB28181的文章(基于Java)。随着对国标的研究发现,安防监控解决方案大致分两种:

1. 本地架设服务器方案
  此方案相对来说自由很多,rtsp直接拉流/onvif/gb28181以及各种私有协议,如果有静态IP外网可直接访问。但是很少直接访问摄像头,一般都通过平台集中管理摄像头,同时对外提供服务。

如果没静态ip,还需要本地服务器和公网服务器自定义协议,实现流媒体转发。

2. 国标方案
  在终端设置绑定到服务器,终端上电联网后,向服务器注册,发送心跳维持通道,以及各种交互信令。需要观看监控时,server给摄像头下发信令,摄像头推流。

  除此之外,各个厂家都有自己的私有协议,例如海康的萤石云,ehome。萤石云是p2p穿透方案,按流量收费,现在4G基本穿透不了(对称型NAT)。有的p2p摄像头自带wifi热点,不知道是不是以此 来增加穿透几率,但是4G的Nat那层还是穿透不了啊,有空再研究。ehome协议,看了下服务器抓包数据和文档,出外网应该也没有问题,有兴趣的朋友可以研究下。

————————————————
版权声明:本文为CSDN博主「sinat_35938012」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_35938012/article/details/104748551

有关car-eye 的开源资源下载地址:https://github.com/Car-eye-team

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值