H5视频可视化播放RTSP/RTMP/HLS/HTTP视频流媒体的几种可行方案

经过多年的项目实战和研发经验的积累,总结了一下对于H5视频可视化在视频播放上如何做到无插件H5展示的方法,尤其是契合安防行业的方案;

除了HTTP、WebSocket类的传输协议,其他是无法通用地传输到浏览器的,所以,如果要做一款通用的H5视频播放器,基本上就是一款HTTP/WebSocket协议的视频播放器,如果是类似于RTMP、RTSP类型协议的视频源,是不可避免,需要经过服务器转换的,那么我们可以总结Web网页可视化直播的几个刚性需求:

  • H5播放只支持HTTP、WebSocket协议的流媒体源;
  • 需要同时支持H.264、H.265视频编码格式;
  • 支持低延时的实时视频以及录像回放视频;

可行方案一:WebSocket透传

通过WebSocket代理服务器,建立透传通道,转发各种不同协议的视频流,WebSocket类似于一个管道,只做原样的数据转发,将源设备与H5客户端之间建立一条由WebSocket包裹的传输通道,具体的协议交互过程还是按照原协议进行,RTSP、SIP类的文本协议按照文本协议的方式,RTMP类的字节流协议按照字节流协议的方式;

方案难点:

  • 前端兼容性开发难度高:前端对于各种信令协议、字节流协议、以及解包、缓冲区、时间戳同步、解码、显示、播放,都要开发,对于前端开发的要求比较高;
  • H.265播放技术:安防场景下,大部分摄像机都采用的是H.265编码格式,所以,要前端Web支持H.265格式,需要引入wasm技术;

方案优缺点:

  • 优点:后端开发简单,速度快;
  • 缺点:后端只做管道,不具备实际的设备信息知悉权,这对于设备的管控是无法做到的,例如,无法快照、无法录像、无法获取设备具体的错误信息;

可行方案二:协议转换

采用类似于EasyCVR的全协议接入方案,将各种不同协议类型的视频源(RTSP、RTMP推流/拉流、HTTP、UDP等)、视频文件,通过标准化的协议转换,统一可以输出为HTTP-FLV(实时流)、HLS(直播流/点播流)对终端进行输出,就达到了标准化、全终端、全平台输出了;

方案难点:

  • 后端兼容:后端需要将各种协议接入,并进行解封装,封装成标准的flv、ts等格式,不过好在已经有比较多的积累;
  • H.265播放器:同样是需要做到H.265的Web播放,包括HTTP-FLV和HLS的H.265格式;

方案优缺点:

  • 缺点:技术门槛较高;
  • 优点:可控性强,前后端分离,前后端人员均可灵活定制;

H.265网页播放方案

大家可以看到以上的两种解决方案都会具有一个H.265网页播放的难点,这里的主要原因是目前的浏览器基本都不能支持H.265的底层解码,或者说硬解码,H.265需要结合原生播放器的开发技术和Web播放器的开发技术,也就是wasm技术,将C/C++封装成wasm,被js调用,这样js就能像C/C++原生播放器一样,充分利用C/C++的计算能力和扩展能力,来实现视频的解码过程。

wasm播放的主要优势的契合安防的实际需求,虽然目前各大厂商开始流行WebRTC直播,但目前由于安防的特殊性,H.265已经占据主导,解决H.265的前端展示才能完整地解决整个安防可视化的需求,这个是RTC播放无法解决的。

总结下来,我们有几点思考:

  • 想要完整的控制整个视频可视化的流程,最好还是在服务端做视频的处理和协议的转换;
  • H.265的前端支持是必不可少的,后端的H.265转H.264来支持前端的播放,都是技术的倒退;
  • 在可视化系统都Chromium的时代,WebRTC可能是一个非常好的选择;
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值