我如何才能找到视频的质量以及如何进行更改?

时间:2018-06-22 07:36:14

标签: javascript html5 mpeg-dash dash.js

(function(){
  var url = "http://dash.edgesuite.net/envivio/Envivio-dash2/manifest.mpd";
  var player = dashjs.MediaPlayer().create();
  player.initialize(document.querySelector("#videoPlayer"), url, 
})();

var bitrates = player.getBitrateInfoListFor("video");
console.log('My bitrate:' + bitrates.length);

在控制台中写入

My bitrate:0

我如何找出视频的质量以及如何进行更改?

我可以使用Media Source和xhr播放没有dash.js的mpd文件吗?

2 个答案:

答案 0 :(得分:0)

  

我如何找出视频的质量以及如何进行更改?

您需要等到清单已加载并且播放器已完全初始化(异步发生)之后。像这样添加事件监听器:

player.on("streamInitialized", function () {
    var bitrates = player.getBitrateInfoListFor("video");
    console.log('My bitrate:' + bitrates.length);
});

现在,您应该获得可用比特率的列表。

要手动更改质量,请使用http://cdn.dashjs.org/latest/jsdoc/module-MediaPlayer.html#setQualityFor__anchor

  

我可以使用Media Source和xhr播放没有dash.js的mpd文件吗?

当然可以,但是您不能只将清单传递给MSE,因此您仍然需要做DASH播放器要做的所有困难工作,例如解析清单,确定媒体URL,选择相关质量等。

答案 1 :(得分:0)

对于那些未来的人, 编码

player.setQualityFor('video', {number});
会改变质量,但是由于自动比特率质量切换,质量恢复到带宽可以承受的质量。 要手动设置质量并关闭自动比特率,
player.setQualityFor('video', {number});

现在,您可以使用setQualityFor()锚来更改质量,并且在整个视频中保持不变。