Изменение параметров публикации на лету¶
Начиная со сборки WebSDK 2.0.258 параметры публикации потока могут быть изменены на лету, без остановки и посторной публикации. Такая возможность доступна в браузерах на основе Chromium и Safari.
Изменение разрешения потока¶
Разрешение публикации потока может быть изменено при помощи метода Stream.updateVideoResolution
function onResolutionClick(stream) {
stream.updateVideoResolution({
width: parseInt($('#sendWidth').val()),
height: parseInt($('#sendHeight').val())
}).then(function(constraints) {
console.log("Publishing video constraints changed to " + JSON.stringify(constraints));
}).catch(function(e) {
console.error("Error " + e);
});
}
Под капотом, видеодорожка будет создана заново с новыми ограничениями по разрешению. Прочие ограничения, заданные в начале публикации, не изменяются.
Warning
Ограничения по разрешению являются рекомендацией для браузера, а не требованием. Браузер может сбросить разрешение, если канал публикации недостаточно хорош, или технические средства не позволяют захватить или закодировать поток с указанным разрешением.
Изменение параметров кодирования потока¶
Параметры кодирования потока могут быть изменены при помощи метода Stream.updateVideoSettings
-
Максимальный битрейт в кбит/с
code
-
Максимальная частота кадров в секунду
code
-
Фактор масштабирования кадра
В этом случае, параметры кодирования видеодорожки меняются без ее пересоздания. Они могут быть изменены за один вызов метода
Warning
Таким образом может быть задан только битрейт кодирования. Ограничение пропускной способности канала имеет приоритет над кодированием. Например, если канала ограничен до 1000 кбит/с, а битрейт кодирования установлен в 1500 кбит/с, видео будет опубликовано с битрейтом 1000 кбит/с