一、国标GB28181
1、概述
所谓国标GB28181,是我国制订的一项视频流接入协议。好处是,只要摄像头支持该项协议,那么无论是海康还是大华,或者别的什么摄像头,都能接入一个支持该协议的媒体平台,达到无缝集成、统一管理的目的。
对普通用户来说,假如拥有好几个厂商的摄像头,海康也、大华也、宇视也,每个厂商都自带一套管理系统。那么利用上述方法,就能统一浏览,统一管理了。
对软件开发商来说,国标GB28181也给接入摄像头带来了便利。如果没有这种协议,那么我们就要分别直接对接各个厂商的摄像头。每个厂商访问形式可能都不一样,需要更多的工作量。
曾几何时,我做的项目需要接入摄像头,摄像头的技术支持方问我们,是国标接入还是摄像头SDK方式接入,结果我瞠目结舌,只好唯唯诺诺,局促不安,顾左右而言他,然后尿遁。
2、工作原理
GB28181协议会话通道实际上使用的是SIP协议,并且在SIP协议的基础之上做了些私有化处理。SIP是一个由IETF MMUSIC工作组开发的协议,作为标准被提议用于创建,修改和终止包括视频,语音,即时通信,在线游戏和虚拟现实等多种多媒体元素在内的交互式用户会话。
这其中,摄像头与媒体平台之间的交互、握手过程就不必细说了。按我的理解,摄像头与媒体平台通过国标协议建立连接以后,就是推流。摄像头向媒体平台推流。摄像头推,媒体平台收。
1)摄像头向媒体平台(SIP服务器)注册
2)媒体平台展示注册的摄像头
点击右侧的“通道”,即可进入播放页面。
二、媒体平台wvp-GB28181-pro
wvp-GB28181-pro是一个国产的,开源的WEB媒体平台,开发语言是Java。利用它,可以接入各品牌的摄像头,实现播放、控制、视频存储等功能。简而言之,不同的摄像头厂商有不同的管理系统,各自为政,形成信息孤岛;而有了wvp-GB28181-pro,就可以将不同品牌的摄像头都管理起来。
“WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的开箱即用的网络视频平台,负责实现核心信令与设备管理后台部分,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR接入。支持国标级联,支持将不带国标功能的摄像机/直播流/直播推流转发到其他国标平台。”
1、系统结构
wvp-GB28181-pro是一个平台,主要用于摄像头接入和管理。至于视频流转码、播放、存储,都通过外挂程序来实现。有意思的是,外挂的的程序又有外挂,比如
如上图所示,各种摄像头接入到媒体平台wvp-GB28181-pro。而wvp-GB28181-pro调用了wvp_pro_assist对视频流进行处理;但实际上,wvp_pro_assist也只是一个类似协调者的角色,它本身也并不直接处理视频流,是调用了zlm这个工具;更有意思的是,zlm也类似,是一个封装工具,它依赖于ffmpeg。ffmpeg将视频流转换成MP4和支持hls的m3u8等格式,用nginx承载,前端用浏览器即可进行访问。
2、播放
略过不提。
3、控制
wvp-GB28181-pro提供了界面,可对摄像头进行控制。略过不提。
4、云端录像
监控视频存储,然后保存一段时间,比如30天,这都是标配,摄像头厂家提供了相应的管理系统,应该都很完善了。不过,这种存储都是放在本地,如果条件更好一些,放在云上呢?wvp-GB28181-pro提供了支持(叫云端录像)。具体原理,我猜是将视频流转码的时候,存储在指定的位置。
这里面就有一个问题。视频播放的时候,当然会转码;如果不播放,难道视频就不保存吗?就算我们将全部摄像头都打开、播放;万一不小心关掉,或者机器重启了呢?这显然不符合要求。
不过,wvp-GB28181-pro较好地解决了这个问题。只要开启自动点播,做好相关设置,系统会自动进行录像。如果网络故障、系统重启,恢复后会继续进行。
三、总结
wvp-GB28181-pro开源,免费,国产。在开发环境测试,效果不错。云端录像因为持续运行时间还不太长,目前只有几天,可靠性未知。
相关文章:
WEB页面播放大华摄像头视频解决方案
参考文章:
国标GB28181介绍
7*24不间断录像
wvp-GB28181-pro的docker镜像