早期很多摄像头视频流使用的是RTSP、RTMP协议,而播放这类协议的视频通常需要在网页上安装插件。但现在很多用户对安装插件比较反感,且随着移动设备的普及,用户更希望可以使用手机、平板等移动设备直接查看这些协议的视频。那么,是否有解决方案可以实现无需插件的情况下,在网页上直接观看RTSP、RTMP协议的视频,并且保证尽可能低的延迟以获取摄像头的实时画面呢?
目前很多厂家支持无插件播放,比如用WebSocket等新的传输协议取代RTSP等协议,通过网页直接播放。但这个方案对于新摄像头没问题,却不适用于RTSP/RTMP/FLV等格式或协议的视频。
另一种方案是基于JS、WASM等前端技术,在前端直接拉流、解码、显示,比如flv.js等前端播放技术,有不少开源的方式,可以实现一些特殊格式、特殊协议的直接前端解码处理。但这种方式一般会有占用较多的终端资源,而且对于iOS等设备的浏览器兼容性不好,通用性弱一些。
基于后台转换能不能行呢?比如将RTSP转为m3u8这种HLS协议,做成适合H5页面直接播放的视频格式。但如果转为HLS(m3u8)又有个问题:m3u8的分段,导致需要一些缓冲的片段,因此延迟会高。
有没有更好的解决方案呢?点量云流基于多年视频流传输的经验,提供了一个后台拉流转换的方案:将摄像头的RTSP/RTMP/FLV等协议的视频数据转换为WebRTC协议。这种方案具有以下优势:
- 良好的兼容性:目前主流的浏览器均支持WebRTC,因此该方案无需担心浏览器兼容性问题,用户可以选择自己习惯的浏览器使用。
- 对设备性能占用小:基于浏览器的良好支持,可以借助硬解码能力,对设备性能占用比较低。
- 低延时、高实时性:WebRTC是一种为实时流媒体设计的协议,延迟可以低至100ms以内,完全可以满足摄像头领域的低延迟需求。
- 前端引入方便、代码量小:前端无需复杂的播放器或解码程序,只需使用标准的WebRTC即可接入。虽然WebSocket也可以获取视频,但往往需要借助FLV.js等技术进行视频数据处理,相较之下,WebRTC方案更加简便。
该方案的主要工作在于后端,通过拉取RTSP、RTMP等协议的视频数据,并将其转换为WebRTC协议。值得一提的是,这种转换并不涉及二次转码,仅修改了视频的封装,因此可以同时支持大量摄像头的接入。点量团队作为专业的视频流公司,提供成熟的技术方案,能够支持将RTSP/RTMP等协议直接转换为WebRTC,并提供完善的前端示例。后端部署安装也非常便捷,团队提供专业的技术服务,客户无需从头研究。
以上系统平台具体功能有:
- 支持多协议、多设备接入:支持RTMP/RTSP/Onvif/GB/T28181/等协议,多厂商品牌的设备接入。
- 标准化输出,多终端全平台覆盖:输出标准的WebRTC,支持几乎全部主流终端浏览器打开播放。
- 提供二次开发、定制等服务:灵活满足客户的需求。