如何在DashMetrics上获取periodId

时间:2016-03-02 16:48:05

标签: javascript dash.js

在dash.js中,文件DashMetrics.js上有一个函数getBandwidthForRepresentation()。它需要两个参数:representationId和periodId。我可以使用getCurrentRepresentationSwitch()来获取representationId。但我不知道如何获得periodId?我可以使用哪个函数获取数据?

我试图在dash-reference-client上看到示例,它令人困惑,但仍然不知道。

由于

1 个答案:

答案 0 :(得分:2)

我知道你的问题有点陈旧,你可能不再需要这个了,但我会发一些代码以防万一有人最终需要它。

如您所述,getBandwidthForRepresentation()需要2个参数:representationIdperiodId

如何获得 representationId

  • 您需要获取指标:var metrics = player.getMetricsFor('video')
  • 和dashMetrics:var dashMetrics = player.getDashMetrics()
  • 现在我们获得representationId:var representationId = dashMetrics.getCurrentRepresentationSwitch(metrics).to

如何获得 peropdId

  • 我们获得了有效的信息流信息:var streamInfo = player.getActiveStream().getStreamInfo()
  • 我们使用index作为periodId:var periodId = streamInfo.index

如何获得带宽

  • 我们现在可以获得带宽:var bandwidth = dashMetrics.getBandwidthForRepresentation(representationId, periodId)

完整代码:

var metrics = player.getMetricsFor('video')
var dashMetrics = player.getDashMetrics()
var representationId = dashMetrics.getCurrentRepresentationSwitch(metrics).to
var streamInfo = player.getActiveStream().getStreamInfo()
var periodId = streamInfo.index
var bandwidth = dashMetrics.getBandwidthForRepresentation(representationId, periodId)

希望有所帮助