我们如何在 Shaka 播放器中获取当前渲染流的详细信息?
Posted
技术标签:
【中文标题】我们如何在 Shaka 播放器中获取当前渲染流的详细信息?【英文标题】:How can we get current rendering stream details in Shaka player? 【发布时间】:2020-03-16 23:30:37 【问题描述】:getStats() api 提供正在下载的当前变体。有没有办法
-
要获取当前的渲染变体?
在渲染变体发生更改时收到通知?
这两个都在 hls.js 中可用。
【问题讨论】:
嗨!你找到这个问题的答案了吗?我有同样的问题。我需要一种方法来获取当前播放的变体,以及当它发生变化时的事件。 两年前下面的代码对我有用。 【参考方案1】:AdaptationEvent 现在有 oldTrack 和 newTrack 了。您应该能够从这些 Track 对象中获取所有必要的信息。
https://shaka-player-demo.appspot.com/docs/api/shaka.Player.html#.event:AdaptationEvent https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.Track
【讨论】:
【参考方案2】:这段代码可以工作。我们迭代可用的演绎版并记录当前处于活动状态(已使用)的演绎版。
// This is for bitrate change due to ABR
shakaPlayer.addEventListener('adaptation', onAdaptationChange);
//This is for bitrate change made by user
shakaPlayer.addEventListener('variantchanged', onAdaptationChange);
function onAdaptation(event)
var tracks = shakaPlayerInstance.getVariantTracks();
for (iterator = 0; iterator < tracks.length; iterator++)
if (tracks[iterator].active)
console.log("Bandwidth: " + tracks[iterator].bandwidth);
break;
【讨论】:
以上是关于我们如何在 Shaka 播放器中获取当前渲染流的详细信息?的主要内容,如果未能解决你的问题,请参考以下文章
如何正确向 Shaka 播放器提供 MPEG-DASH 清单?