网页无插件视频流媒体播放器EasyPlayer.JS切换多清晰度码流播放报错,该如何调试?

EasyPlayer是一款流媒体播放器系列项目,支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多种流媒体协议播放、支持本地文件播放,支持本地抓拍、本地录像、播放旋转、多屏播放、倍数播放等多种功能特性,核心基于ffmpeg,稳定、高效、可靠、可控。

我们将EasyPlayer.JS播放器集成进EasyDSS视频平台,就能够实现EasyDSS的视频流网页无插件直播,并且能够切换不同清晰度的码流进行播放,多方面满足用户的需求。

我们的测试人员发现在EasyDSS播放点播文件,切换多清晰码流时,播放器出现“No compatible source was found for this ”错误显示。

1472.png

找到控制多清晰码流的代码,打印this.playerUrl 发现this.playerUrl 为空,从以下代码中可以看到实际用到地址为 this.videoURl。

 loadResolutionlist(p) {
   if (this.isresolution) {
      var rlist = this.resolution.split(",");
      var pset = [];
      var newURL;
      var defaultIndex = 0;
      for (var i = 0; i < rlist.length; i++) {
        if (rlist[i] == this.resolutiondefault) {
           defaultIndex = i;
        }
        if (rlist[i] == "yh") {
           newURL = this.playerUrl;
        } else {
    newURL = this.playerUrl.replace(".m3u8", "_" + rlist[i] + ".m3u8");
        }
        pset.push({
           src: newURL,
           type: this.videoType,
           label: this.resolutionName[rlist[i]],
           res: rlist[i]
         });
       }
       p.updateSrc(pset);
    }
 }

我们需要做的就是把this.playerUrl 改为 this.videoURl。

loadResolutionlist(p) {
   if (this.isresolution) {
      var rlist = this.resolution.split(",");
      var pset = [];
      var newURL;
      var defaultIndex = 0;
      for (var i = 0; i < rlist.length; i++) {
        if (rlist[i] == this.resolutiondefault) {
           defaultIndex = i;
        }
        if (rlist[i] == "yh") {
           newURL = this.videoUrl;
        } else {
    newURL = this.videoUrl.replace(".m3u8", "_" + rlist[i] + ".m3u8");
        }
        pset.push({
           src: newURL,
           type: this.videoType,
           label: this.resolutionName[rlist[i]],
           res: rlist[i]
         });
       }
       p.updateSrc(pset);
    }
 }

修改后重启项目,切换多清晰度,显示正常,不再报错。

69.png

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值