安防监控平台技术总结

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

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

  1. 穿透率低,拨号上网不一定能分配到公网ip,很有可能还是内网的ip。即使分配到了公网ip,很多宽带都屏蔽了端口(NAT限制)。即使用花生壳等穿透工具,宽带的问题穿透不了的还是穿透不了,还是需要服务器来转发实现穿透。
  2. 速度慢。

自此以后,脑海里一直有个问题,摄像头怎么才能友好的出内网?

  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协议,看了下服务器抓包数据和文档,出外网应该也没有问题,有兴趣的朋友可以研究下。
安防监控平台技术总结_第1张图片

你可能感兴趣的:(GB28181)