Как играть только определенный битрейт с аудиоплеером Dash JS?

Я использую библиотеку dash.js и достигаю Адаптивный битрейт с протоколом DASH для моего аудиоплеера.

Я сталкиваюсь с проблемой в одном случае, когда вместо адаптивного изменения скорости передачи данных я хочу, чтобы она была конкретной, то есть 320 кбит / с. Я использую методы, которые представлены в библиотеке dash.js, как показано ниже. Но я не могу получить статический битрейт для всего моего аудиофайла.

(function () {
    var url = "https://xxxxxxxxxxxx.xxxxxxxx.net/myplaylist.mpd";
    var player = dashjs.MediaPlayer().create();
    player.initialize(document.querySelector("#audioPlayer"), url, true);
    player.setInitialBitrateFor('audio', 320);
    player.setQualityFor('audio', 320);
    player.setAutoSwitchQualityFor('audio', false);
    player.getDebug().setLogToBrowserConsole(false);
})();

так что в основном есть два варианта: авто и 320 кбит / с

auto разрешает адаптивный битрейт, но при выборе 320 кбит / с в любое время после этого он должен получать только сегменты только для этого битрейта.

Для более позднего сценария я сталкиваюсь с проблемой.

Есть ли способ сделать это? я что-то здесь упускаю?

1 ответ

Решение

Он не устанавливал битрейт, потому что он точно подбирает битрейт.

На данный момент, как битрейт установлен с помощью dash.js, выглядит следующим образом.

когда вы делаете player.setInitialBitrateFor('audio', 320); Сначала он получит пропускную способность от файлов MPD. затем есть внутренний механизм, который разделит полосу пропускания на 1000, а затем округлит значение. так что если это не так, если ваши mpd-файлы содержат такие значения, как bandwidth="320000", то player.setInitialBitrateFor('audio', 320); буду работать.

Может быть вариация в полосе пропускания, например, 321684, которая будет генерировать значение битрейта = 321. В этом случае вы должны сделать player.setInitialBitrateFor('audio', 321); буду работать

также метод setQualityFor принимает индекс в качестве второго параметра. так можно сделать

player.setQualityFor('audio', indexValue);

где, учитывая, есть три набора адаптации и

low bitrate (64 kbps)     ==> 0 (indexValue)
Medium bitrate (128 kbps) ==> 1 (indexValue)
High bitrate (320 kbps)   ==> 2 (indexValue)
Другие вопросы по тегам