Начиная со сборки WCS 5.2.1663 и SFU SDK 2.0.231 поддерживается автоматическое переключение между доступными качествами ABR при изменении состояния канала. Выбор качества основывается на следующих параметрах WebRTC статистики проигрывания
Если хотя бы один из этих параметров резко изменился более чем на 10 пунктов, канал считается непригодным для проигрывания текущего качества видео, и будет сделана попытка переключиться на более низкое качество.
Параметры переключения настраиваются при вызове функции initRemoteDisplay() :
// Create remote display item to show remote streams
state.setDisplay(initRemoteDisplay({
div: document.getElementById("remoteVideo"),
room: state.room,
peerConnection: state.pc,
displayOptions: {
publisher: false,
quality: true,
type: false,
abr: true,
abrKeepOnGoodQuality: 20000,
abrTryForUpperQuality: 30000
}
}));
// Start WebRTC negotiation
await state.room.join(state.pc); |
Здесь:
Если какое-то качество выбрано вручную, оно будет проигрываться даже при ухудшении параметров WebRTC статистики.