目前大部分的web直播播放器,必须对直播协议解码搭配video对象实现播放,但是不同的设备对video解码器支持也不尽相同,比如android和pc大部分都支持Media Source Extenstions配合B站flv.js实现http-flv压缩格式的直播流,但是ios设备支持不够,导致只能使用hls直播协议直播,hls虽然通用当时却存在延迟很高的问题,1-20秒的延迟对那些实时性要求高的直播有些无法接受。
为此需要解决这个问题有几个方案考虑
1、使用http-flv直播流可以将延迟控制再1-2秒
2、VR直播视频码率很大,一般再10M/bits,再控制住清晰度不变的情况下需要降低使用的带宽,这个涉及到视频编码方式,比如h265编码格式的视频带宽比同清晰度的要低2-3倍,也就意味着带宽最少会降低一半
同时原有的播放器基于threejs 3D渲染引擎,hls直播流使用flv.js或hls.js 进行解码播放,对第三方库存在不少依赖就会提升项目不确定性。
为此本人也花费了大量精力去研发,最新款播放器MXPlayer 已经彻底移除threejs、hls.js、flv.js的依赖,播放器直播流全平台支持flv,hls直播协议,支持解h264、h265解码。
看几个例子
(图1 VR直播)
(图2 h265直播)
详细请移步 https://github.com/guoguicheng/mxreality.js 了解更多
当然项目研发也需要成本,播放器也需要支付一定的授权费用才可以使用。