...
Параметры переключения настраиваются при вызове функции initRemoteDisplay() :
| Code Block | ||||
|---|---|---|---|---|
| ||||
// Create remote display item to show remote streams
state.setDisplay(initRemoteDisplay(const displayOptions = {
div: document.getElementById("remoteVideo")quality:true,
room: state.room,autoAbr: true
};
const abrOptions = {
peerConnectionthresholds: state.pc,[
displayOptions {parameter: "nackCount", maxLeap: {10},
{parameter: "freezeCount", publishermaxLeap: false10},
quality{parameter: true,
"packetsLost", maxLeap: 10}
],
type abrKeepOnGoodQuality: falseABR_KEEP_ON_QUALITY,
abrTryForUpperQuality: ABR_TRY_UPPER_QUALITY,
abr: true interval: ABR_QUALITY_CHECK_PERIOD
};
const display = initRemoteDisplay(
state.room,
document.getElementById("remoteVideo"),
displayOptions, abrOptions,
abrKeepOnGoodQuality: 20000,
createDefaultMeetingController,
createDefaultMeetingModel,
abrTryForUpperQuality: 30000createDefaultMeetingView,
}oneToOneParticipantFactory(remoteTrackProvider(state.room))
}));
state.setDisplay(display);
// Start WebRTC negotiation
await state.room.join(state.pc, null, null, 1); |
Здесь:
- abr - включает или отключает автоматическое переключение качества видео
- abrKeepOnGoodQuality - интервал в миллисекундах, в течение которого будет проигрываться текущее качество видео без резких скачков параметров WebRTC статистики
- abrTryForUpperQuality - интервал в миллисекундах, по истечении которого будет предпринята попытка переключиться на более высокое доступное качество видео, если не были резких скачков параметров WebRTC статистики
- interval - интервал сбора WebRTC статистики в миллисекундах
Если какое-то качество выбрано вручную, оно будет проигрываться даже при ухудшении параметров WebRTC статистики.
...