如何在jwplayer 6自动模式下找到质量的比特率值?

时间:2014-01-23 12:54:44

标签: javascript jwplayer jwplayer6 bitrate

我想知道在jwplayer 6的自动模式下视频播放期间的比特率。视频开始时,所选值为“自动”。但与其他值不同,“自动”值不包括比特率或其他参数。

我的默认参数:

primary: "flash",
autostart:"true"

我读过this post但它没有帮助我。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

我从@EthanJWPlayer获得了一个演示。这是非常明确的演示.. 我正在简化代码。

首先在jwplayer函数中添加此方法:

var bitrateList = [],
    bandwidth = 0,
    currentBitrate =0,
    levels; 

jwplayer().setup({
....          
    events: 
        onQualityChange: function(callback) {
            levels = callback.levels;
            render();
        },

        onQualityLevels: function(callback) {
            levels = callback.levels;
            render();
        },

        onMeta: function(event) {
            if (event.metadata.bandwidth) {
                var b = event.metadata.bandwidth;
                var l = Number(event.metadata.currentLevel.substr(0, 1));
                if (b != bandwidth) {
                    bandwidth = b;
                    currentBitrate = bitrateList[l - 1];
                }
            }
        }
});

function render() {
    bitrateList = [];
    for (var i = 1; i < levels.length; i++) {
        bitrateList.push(levels[i].bitrate);
    }
}

您可以从“currentBitrate”变量中获取JavaScript代码的任何位置。 例如:

sendStatistics(currentBitrate);

除自适应比特率流(adaptive streaming - jw播放器自动模式)外,还根据当前带宽更改每秒比特率值。如果您想获得比特率的值,请在代码上方附加并获得currentBitrate值。