当前,视频监控应用场景越来越多,传统的视频监控厂商提供的解决方案需要安装厂商自己的手机APP或PC客户端软件,非常不方便在互联网环境下与第三方应用平台融合对接。比如智慧城市系统、基于H5的电子地图系统等。
目前有些公司将其转换成HLS协议去实现H5的视频播放功能,但是延时很大(几秒到几十秒钟不等),无法满足实时监控的应用需求,这成为阻碍监控视频大规模应用的主要障碍。
基于这种情况,我们在多年流媒体平台开发的基础上推出了兼容H5技术的低延时直播监控方案,该方案实现简单,成本可控,不受监控设备厂商和平台的制约,支持对各个厂商的网络摄像头统一管理和统一发布,支持几乎各大监控厂商的网络摄像头和NVR设备,支持用户端通过PC、手机内置的浏览器直接访问,支持微信等第三方应用程序直接访问,极大地提升了用户的使用体验,扩大了监控视频的应用范围。
同时,该方案在终端支持HTML5标准,用户可以基于H5浏览器直接收看,兼容PC、Android终端、iOS终端,兼容微信公众号和微信小程序,方便与各种应用系统进行集成,比如智慧城市、地图导航等,同时可以保证端到端延时低于1秒,在优质的网络环境下可以达到500ms以下的延时。
首先,该方案基于H.264的视频编码技术和低延时的流媒体直播技术来实现,整个方案的架构如下:
首先,该方案基于H.264的视频编码技术和低延时的流媒体直播技术来实现,整个方案的架构如下:
该方案主要由四部分组成:
1. 前端监控设备
基于用户已有的设备,包括各大监控厂商的网络摄像机,NVR等设备;
2. 视频转码工作站
实现监控视频流的实时转码,转码后的节目直接推送给流媒体内容分发平台。
该工作站根据不同的应用需要,分为不同配置的版本。单台工作站可以同时转码20~100路监控视频。
3. 低延时流媒体内容分发平台
用于接收视频转码工作站推送上来的视音频信号,然后将其以流媒体的方式进行发布。
该平台采用通用的硬件服务器+流媒体平台软件来实现,可以为用户有效节省投资。
流媒体内容发布平台可以实现如下功能:
1) 支持上千路网络摄像头的并发接入;
2) 支持PC、智能手机、机顶盒等多终端设备通过浏览器直接播放;
3) 单台服务器支持2000以上用户并发收看;
4) 支持多服务器负载均衡技术和服务器的容灾备份;
5) 支持直播节目的同步录制功能,录制完成后可以自动生成点播内容;
6) 支持服务器的性能和状态监控,包括CPU和内存占用率、实时连接数、网络带宽占用等。
7) 多终端自动适配技术。
针对当前主流的客户端设备,我们开发了终端自适应播放功能,可以自动适配PC端的主流浏览器(Fifrfox、Chrome、Safari),Android端的HTML5浏览器,iOS端的HTML5浏览器,微信小程序等。
流媒体软件功能截图:
4. 终端内容发布
监控节目通过流媒体方式发布后,还需要将发布后的网络流在内容管理平台中以网页方式进行发布,以便于终端用户可以通过浏览器进行访问和收看。
节目的发布方式和效果如下:
这是控制直播延时的一个关键环节,因为前面诸多环节即使延时控制得很低,在这个环节一旦产生较大的数据缓存,就会严重影响整个系统的效率。因此,在这个终端播放环节我们开发了自主实现的视频播放器,从而有效控制终端的解码延时。
在这里,我们用的的核心技术包括:
1) 超低数据缓存技术
播放器端接收到数据流以后,只缓冲几个关键帧就将音视频数据送给解码器;
2) 实时解码技术
解码器接收到音视频数据后,立刻启动解码功能进行音视频的解码;
3) 多终端适配技术
针对当前主流的客户端设备,我们开发了终端自适应播放插件,可以兼容PC端的主流浏览器(Fifrfox、Chrome、Safari),Android端的HTML5浏览器、iOS端的HTML5浏览器、微信小程序。
该平台基于模块化的设计思想,在保障平台整体稳定性的同时让用户安装简单,使用方便。
第一步:准备IP监控信号源
系统支持IP摄像机、NVR等网络监控设备;
第二步:设备连接
将监控信号源和视频转码工作站连入同一个局域网络;
第三步:配置转码服务器
流媒体服务器的管理界面如下:
在“性能监控”面板中,我们看到发布者数显示1,说明直播流已经推送到服务器端了。
将流媒体服务器部署在互联网IDC机房或者单位局域网的中心机房,保障服务器和前端网络监控设备之间的互联互通。
该服务器可以采用通用品牌的服务器,比如DELL、HP、IBM、联想、浪潮等,
也可以租用网络服务器或者云服务器,比如从Amazon、阿里云、腾讯云租用云服务器。
流媒体直播发布服务器配置要求:
CPU: Intel EXON E5-2650
内存:>32GB
硬盘:>1TB
操作系统:CentOS 7.2 x64 以上版本或Windows Server 2016 x64 以上版本
网卡:千兆以太网
应用软件:顺景科技流媒体服务系统
【流媒体服务器的并发承载规划】
通常,流媒体服务器按照单台支持200路信号源/1000并发用户收看来设计。
主要依据如下:
首先,高清摄像机的主码流分辨率通常为1920x1080,在采用H.264编码格式的情况下平均码率设置在4Mb/s左右。200路高清摄像头所需的总带宽为800Mb/s左右。
考虑到大多数网络的主干带宽为千兆,带宽利用率通常在85%左右,因此千兆网络的实际可用带宽在850Mb/s左右,所以接入在千兆骨干网络上的服务器可以稳定承载200路高清摄像机信号输入。
【多服务器负载均衡】
当需要接入更多前端信号源时,就需要部署多台流媒体服务器来承载,这时候需要采用多服务器的负载均衡技术来实现。
多服务器负载均衡示意图如下:
【流媒体服务系统部署】:
首先下载和安装顺景科技流媒体服务器系统,如下图:
流媒体服务器下载地址(点此下载):
第一步,点击右下角的“联机注册软件”
第二步,在打开的网页中,输入必要的注册信息,点击“开始注册”
第三步,联系技术支持开通测试授权
第五步,配置服务器相关参数,其中主要有以下信息需要注意:
流媒体平台搭建好以后,还需要将监控内容以HTML5方式通过网站发布出去,这样用户端才能通过多种终端进行浏览和收看,这个功能主要依赖“数字新媒体资源管理平台”来实现。如下图所示:
第一步,登录管理后台,打开左侧菜单中的“网络直播管理→管理直播频道”,如下图;
第二步,点击“添加直播频道”,在下方的“播放地址”中将3.4章节获取到的4种节目地址输入,然后提交即可。
打开发布后的网站前台,点击节目信息后即可收看,如下图:
手机端收看:
点击PC页面中的“手机看”按钮,即可用手机扫码后收看。
在专网环境下,端到端的直播延时通常在500ms以内;
在同一个电信运营商的互联网环境下,端到端的直播延时通常在800ms以内;
经过实际测试,我们的低延时直播服务器软件系统的并发性能指标如下:
服务器硬件配置环境:
CPU:Intel E5-2650
内存:16GB
硬盘:120GB固态硬盘
网卡:Intel 千兆网卡x 4端口
服务器操作系统:
CentOS x64 7.4/Windows Server 2016
直播码流:2Mb/s
图像分辨率:1280x720
视频编码格式:H.264 Main Profile
并发性能指标:2000并发直播接收
峰值CPU占用率:42%
平均CPU占用率:35%
平均内存占用率:56%
根据项目情况,系统集成商可以参考如下设备规格进行方案配置。
以下是所需设备的软硬件产品清单:
有缘的朋友可以多多交流,微信:liufeihong668