大家知道今年我们首先在EasyGBS内添加了webrtc的播放协议,随后也逐渐将该协议普及到了EasyCVR、EasyNVR等其他的平台当中,比如EasyCVR平台,目前已经能够输出四种协议的视频流,且不同协议都支持安卓系统及iOS系统的扫码直播,分享便捷。
近期我们发现EasyCVR的iOS端扫码直播问题,即视频广场扫码直播iOS端只能播放hls协议的流,其他协议都播放不了。
这个问题其实跟iOS系统的直播协议有关,苹果系统默认使用video实现hls流的播放,其他协议的视频流苹果系统无法识别,所以无法播放。
因此解决该问题我们需要在分享页面判断iOS端还是Android端的播放请求,将路由传过来的protocol强制改成hls即可,参考代码如下:
代码语言:javascript复制const u = navigator.userAgent, app = navigator.appVersion;
// const isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //g
const isiOS = !!u.match(/(i[^;] ;( U;)? CPU. Mac OS X/); //ios终端
if (isiOS) {
this.query.protocol = 'hls'
}
修改后用iOS系统扫码则能实现自动播放hls流,解决效果如下:
TSINGSEE青犀视频团队在流媒体行业丰富的开发经验,使得EasyCVR的整个开发过程非常流畅,并且平台功能仍在持续拓展中。与其他视频平台不同的是,EasyCVR能够支持视频分析数据与多源数据融合,可通过智能分析算法挖掘价值数据,这也是EasyCVR的一个重要特点。如果大家对EasyCVR平台感兴趣,欢迎下载部署,实际测试,测试期间可自由调用二次开发接口,欢迎了解。