一、历史背景
在遍地都是摄像头的今天,往往需要在各种B/S信息化系统中集成视频播放功能,海康、大华、华为等大厂摄像头遵循监控行业标准,一般只支持RTSP传输协议,而Chrome、Firefox、Edge等现代浏览器的主流版本并不支持RTSP流的直接原生播放!
二、现有方案
在未来也没有计划支持的情况下,想要在网页中实现播放RTSP流,目前常用可选方案有以下3种:
1、先在服务器端把RTSP流转码到浏览器可直接播放的视频流后再提供给终端浏览器播放,这也是号称无插件播放的方法,虽然这种方案对操作系统和浏览器兼容性好,但延迟往往很高,时常达到数秒之久,尤其是首屏画面显示很慢,体验糟糕。实际使用时,由于需要在服务器端搭建一个始终高负荷运转的视频转码转流服务,CPU和内存消耗大,带宽占用大,长期使用成本很高,如果摄像头路数比较多或在线播放视频的终端比较多,服务器的压力就会很大。终端想要看到多路、高分辨率或H.视频时,此方案实际使用过程中常出现播放卡顿、花屏,缺陷就越发明显。尤其是在在一些非常关键的应用场合,如果不能通过监控视频早一点发现险情并及时排除,可能就无法规避不可承受的风险,失去了上视频监控的重要意义。
2、与第1种方案不同,此方案把服务器端转码过程转移到前端来进行,压力也就转移到了终端电脑之上。因为在现代高版本浏览器中,都已经支持WASM技术(IE除外),所以纷纷采用此技术在前端实现将RTSP流转码后播放。由于终端电脑的硬件参差不齐,在一些中低配电脑上,就很难获得比较好的播放效果。最主要的问题还是受限于WASM的缺陷,只能软解码,无法利用终端电脑的硬件加速能力,而且不支持多线程,这就导致播放多路RTSP流时就非常吃力了,在面对高分辨率和H.的视频流时,同样效果不好,而且大量占用终端电脑的CPU和内存,无法再做其它事情,所以基本无法满足甲方客户的硬性要求。
3、沿用原有插件技术方案,在年前Chrome等浏览器还可以用NPAPI插件技术的时候,前2种方案遇到的问题都不是问题,通过本地原生播放器控件直接播放,服务器也没多少压力,终端也可以充分利用本机硬件加速能力,多路播放时利用多线程技术,可以实现比较好的播放效果。缺点就是需要安装插件,操作系统的兼容性上差一些。此方案如果能解决高版本的Chrome等浏览器兼容使用,无疑这是当下能够实现低延迟多路稳定播放的最佳技术方案,满足甲方客户硬性播放指标也无压力。
二、最终方案
猿大师中间件VLC网页播放小程序应需而生,基于跨浏览器的原生小程序系统-猿大师中间件开发,通过借助猿大师中间件提供的内嵌网页播放的独家专利技术,在Chrome等现代浏览器高版本中完全模拟实现了ActiveX控件和NPAPI插件的播放效果,底层调用VLC(是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及DVD、音频CD、VCD及各类流媒体协议)桌面客户端的ActiveX控件实现在网页中低延迟直接播放海康、大华、华为等摄像头的标准RTSP流,由于实际调用的是VLC本地原生播放控件,因此可充分利用本机硬件加速能力实现高效硬解码播放多路或高清视频(H.),最多可支持25路同时播放,最低可用在Chrome41、Firefox50、Edge80(Chromium内核)、极速/安全、IE、Oprea36、QQ等浏览器,也兼容运行于这些浏览器的最新版本。
猿大师中间件免费体验