一、问题来源
在遍地都是摄像头的今天,往往需要在各种信息化、数字化、可视化等B/S系统中集成实时视频流播放等功能,海康、大华、华为等厂家摄像头或录像机等设备一般也都遵循安防行业标准,支持国际标准的视频主流传输协议RTSP(实时视频流)输出,不幸的是Chrome、Edge、Firefox等新一代浏览器从2015年开始不再支持NPAPI插件加载运行,直接导致RTSP视频流从此无法在高版本浏览器网页中原生播放。对于绝大部分没有影视频处理经验的前、后端工程师来说是一个非常棘手的问题,专业性强,技术门槛高,而对做B/S系统集成的大多数公司来说,为了这部分的功能单独招聘专职音视频研发人员来负责的话,成本高昂不说,还未必做的好。
当前主流版本浏览器既然已都不支持原生播放RTSP流,为了能够播放RTSP流,不少公司各显神通,出了各种商用及开源方案,不过总的说来就是在后端先转码再转流给前端播放的方案,这也是号称无插件的技术方案。对浏览器可直接硬件加速播放的H.264编码视频流,现在一般是在服务器端将RTSP流转为WebRTC通讯标准的视频流,前端接收后可通过Vedio标签播放;对于浏览器不能支持加速播放的其它编码视频流,要么在后端先转流转码为H.264编码后按前述方案播放,要么后端转流到前端,前端再通过对应编码的WASM程序利用CPU软解码播放。转流到前端WASM转码播放时,即使配置了性能不错的电脑,受限于WASM的固有缺陷,比如多线程支持差、能使用的内存大小始终受限,无法充分利用终端电脑显卡的硬件加速能力(GPU),这就导致同时播放多路或高清RTSP流时也会比较吃力,而且大量占用终端电脑的CPU和内存资源,其它操作基本无法进行,对音视频格式的兼容能力也很有限。
虽然无插件播放方案能够播放出画面,但是往往延迟高,高分辨率视频流基本上都在数秒之久,在一些对延迟敏感的场合客户要求的是毫秒级延迟,显然无插件技术方案是无法满足的;而且首屏画面显示慢,这就导致切换播放源时迟迟看不到画面出来,用户体验很差;况且无插件技术方案,需要在后端或前端持续运行高负荷运转的视频转码转流服务,也有部分采用WebSocket直接从摄像头拉流播放的方案,不过需要设备支持才行,适用性不够。如果摄像头路数多、高清甚至是4K视频或需要在线播放的终端比较多,服务器的压力就会很大,播放卡顿、花屏、黑屏、断播等现象就会时常出现,很难让客户满意。为了解决这些问题,相关硬件、软件的投入和持续不断的带宽占用往往也让客户难以接受。现在越来越多的客户追求高大上的视频播放效果,采用高清摄像头的越来越多,播放显示器1080P已是低配,2K甚至4K大屏正在成为主流之选。这种无插件技术方案,在中高配的屏幕上如果只能播放出慢如蜗牛的画面,想不让客户吐槽实在是太难。
一个好的RTSP视频流网页播放方案,首先是要能做到持续稳定播放多路视频,还需同时支持H.264、H.265编码及其它编码格式、兼容RTSP、RTMP、HLS等流协议播放,最核心的是要做到低延迟、切换画面快,最好能支持高清甚至4K视频流畅播放。另外就是对当前主流版本的浏览器兼容能力要强,多路播放时分屏样式多,还有就是开发接口丰富并可定制,如果还能做到开源或采用免费的主流播放引擎实现,那就最好不过了,毕竟开源在商业领域的应用越来越多,是大趋势。从系统集成商的角度来说,尽可能采用成熟开源工程来使用意味着有更多的自主可控机会来降低整个系统的实施风险。
猿大师针对当前行业痛点,经过数年持续不断的技术攻关,研发出了核心技术具有专利保护的猿大师中间件产品,成功突破了浏览器收紧其插件技术的限制,在浏览器之上重新搭建了一套外接程序系统并可无缝嵌入浏览器网页运行,可实现2015年之前Chrome、Firefox、IE等浏览器支持的ActiveX控件和NPAPI插件播放效果,是原来采用了跨浏览器插件框架FireBreath的最佳替代技术方案。2020年发布了基于猿大师中间件的VLC网页播放器,2021年发布了基于猿大师中间件的海康原生网页播放器,基本完成网页中低延迟单路播放或多路流畅播放视频流的方案拼图,2022年上半年实现双显卡高性能网页播放器,另外支持FFPlayer播放引擎,2023年初实现视频画面叠加透明网页内容的显示特效,2023年中实现了大华原生网页播放器,最终形成了猿大师播放器网页低延迟播放RTSP产品。此播放器在不少客户现场已成功实施,赢得了客户的一致好评。猿大师中间件是此领域全球唯一实现商用的成熟中间件,核心技术实现方案在2019年就申请了中国大陆软件发明专利保护,2023年5月正式获得专利证书,专利号:ZL 2019 1 1323165.1。
二、猿大师播放器产品特性
1.低延迟播放
从播放性能上说,摄像头和录像机的硬件厂家提供的私有协议播放方式无疑是最快的,单路播放延迟可做到100-300毫秒级,其次是RTSP流播放,大致是200-500毫秒级,再次是无插件方案的转码流,优化比较好的单路播放大致在1-3秒级。猿大师的多引擎网页播放器,除了支持海康及大华设备的私有协议直接播放之外,还内置了格式兼容更好的MP4播放库和兼容能力强大的LibVLC开源播放引擎。另外2020年发布的VLC网页播放器,基于VLC的ActiveX控件开发,封装了控件的大多数接口给前端调用,在同等条件下,延迟时间和VLC桌面程序播放保持一致,并可支持多路组合实现多种分屏样式播放,支持叠加透明网页的内容显示。
2.兼容性强
1.绝大部分浏览器兼容,同时兼容Chrome、Edge、Firefox、IE、Opera、Vivaldi、Brave、Electron、360、QQ、搜狗等浏览器的低版本到最新版都可以使用;
2.设备兼容性强,同时支持海康、大华、华为、宇视等厂家的硬件设备,只要能输出RTSP、RTMP、HLS、HTTP、TCP、UDP等流媒体协议,就可以直接播放;
3.支持多种视频编码方式,不管是H.264还是H.265都可以同时支持播放,在一些采用WASM的无插件技术方案中,往往只支持H.265编码的视频流、而且音频格式兼容差,服务器转码方案中,编码兼容能力直接依赖这个转码服务的实现,哪怕都是MP4的视频也千差万别,对播放引擎很挑剔,时常会遇到播放黑屏或无声音等现象;
4.几乎能播放任何内容,依托最主流的开源VLC、FFPlayer、海康及大华原生播放引擎等,支持文件、光盘、摄像头、设备及流媒体可直接播放MPEG-2, MPEG-4, H.264, H.265, MKV, WebM, WMV, MP3, MP4等文件,而无插件技术方案往往能播放的格式有限,比如不支持本地文件播放,不支持4K视频播放;
5.分辨率支持范围广,从480P到1080P,还是更高的2K或4K,都能轻松应对,无插件方案从1080P开始,多路播放效果基本上就差强人意了;
6.最低支持Windows XP系统,建议使用Windows 10及以上版本,可充分利用双显卡的硬件加速能力(GPU)实现低延迟的流畅多路播放效果。
3.功能丰富
1.最核心的无疑是播放功能,包含单路播放、多路播放、全屏播放、快播、慢播、按侦播放、独立显卡播放、双显卡播放等等,其中多路播放分屏风格支持多达31种,总有一款适合您,需要的分屏风格没有时也可以委托定制开发,还有指定视频名称或指定时间段回看视频等;
2.抓图功能,定时批量抓、支持保存指定本地路径或图片数据直接返回前端、图片质量可控制等,无插件方案由于无法访问本地文件系统是无法抓图直接保存到本地的,也不是基于视频原有分辨率进行抓取,图片质量是无法保证的;
3.录像功能,支持直接录像保存到本地MP4文件,而无插件方案由于无法访问本地文件系统,自然也无法直接完成此功能;
4.视频画面中叠加透明网页内容显示,为视频处理和交互提供可定制的强大支持,如人像及车辆识别显示详细信息等;
5.弹幕及水印功能,播放状态实时提示等支持,无插件方案基本只能在服务器端先行添加,无法针对终端区别对待;
6.性能最好的私有协议播放、语音对讲及云台控制等,无插件方案都不支持私有协议播放和语音对讲。
4.可定制
猿大师播放器的播放分屏风格、中间件产品名称及公司信息等,接受付费定制开发使用,实现个性化的播放效果。
5.开源
猿大师播放器主要基于开源播放引擎LibVLC及FFPlayer开发,视频播放底层模块后续服务有保障,网页播放器本身也支持客户付费获得源码后自行再定制开发,实现源代码级别的自主可控。因为基于视频画面定制实现一些其它功能也是常有的,比如人脸识别、车牌识别,识别出来同时需要在画面中加入一些标记元素,也可以设计触发某些条件时自动抓图并保存。
6.低成本
由于采用终端直接播放的技术方案,无需服务器提供转码转流支持,因此可节省大量软硬件投入成本和持续的带宽占用成本。
7.简单可靠
延续原有插件播放技术路线,可实现平滑升级,前后端改造小,提供VUE集成范例,集成简单,节省成本。
三、技术优势
借助猿大师中间件独特的专利技术,相对于无插件播放方案来说,猿大师播放器具有无可替代的技术优势,具体表现如下:
1.可充分利用终端电脑的硬件加速能力(GPU)解码和渲染,在同等硬件、网络带宽及流输出条件下,延迟可做到毫秒级,可播放更多视频源、支持更高的分辨率、实现更流畅的播放效果。
2.播放程序可直接调用操作系统及硬件厂家提供的原生播放功能,也可以调用其它程序模块,不受浏览器的限制,实现丰富的个性化播放功能。这个优势或许有人认为也是缺点,比如有安全隐患,其实对于企业的各种业务系统来说,都是需要经过充分测试才会上线,而猿大师中间件承诺本身无任何病毒或木马行为,不会有未授权的网络请求行为,也提供了运行过程中的安全调用验证机制,即使未授权的第三方拿到了播放器的开发接口,没有经过安全验证也是无法请求播放的,一定程度上解决了浏览器原有插件技术不安全的缺陷。安全问题关键是具体如何看待,其实B/S等各种系统前端代码的运行在浏览器厂家看来,其实就是裸奔的状态,只要浏览器厂家想要获取前端代码中的敏感信息,从技术角度完全没有任何问题,相反的是,通过猿大师的技术方案,浏览器可获得的信息反而受限,除非和操作系统开发商一起配合来进行才有可能。
3.猿大师中间件不依赖浏览器的插件和扩展技术支持,浏览器的升级不会导致技术方案失效,通讯技术采用国际标准的Web Socket技术,数据采用主流的JSON打包,通用性强,各种前端框架都可以对接,兼容性好。
猿大师中间件提供了前端可调用的自动升级中间件或小程序的机制,解决了传统C/S系统升级终端软件的大难题,具有了和B/S接近的分发便利优势。