...
Code Block |
---|
|
previewStream.getStats(function (stats) {
if (stats && stats.inboundStream) {
if(stats.inboundStream.videoStats) {
$('#inVideoStatBytesReceived').text(stats.inboundStream.videoStats.bytesReceived);
$('#inVideoStatPacketsReceived').text(stats.inboundStream.videoStats.packetsReceived);
$('#inVideoStatFramesDecoded').text(stats.inboundStream.videoStats.framesDecoded);
} else {
...
}
if(stats.inboundStream.audioStats) {
$('#inAudioStatBytesReceived').text(stats.inboundStream.audioStats.bytesReceived);
$('#inAudioStatPacketsReceived').text(stats.inboundStream.audioStats.packetsReceived);
} else {
...
}
}
}); |
Управление параметрами картинки при публикации потока
При публикации видео потока с помощью граничных условий (constraints) можно управлять разрешением картинки и частотой кадров
Управление разрешением картинки
Разрешение картинки можно указать точно
Code Block |
---|
|
constraints = {audio:true, video:{width:320,height:240}} |
Однако, в некоторых случаях требуется указать диапазон для ширины и высоты
Code Block |
---|
|
constraints = {audio:true, video:{width:{min:160,max:320},height:{min:120,max:240}}} |
Для некоторых браузеров, например, iOS Safari, необходимо указать точные значения в виде диапазона (в последних версиях это обрабатывается на уровне WebSDK)
Code Block |
---|
|
constraints = {audio:true, video:{width:{min:320,max:320},height:{min:240,max:240}}} |
Управление частотой кадров
Частота кадров может быть указана точно
Code Block |
---|
|
constraints = {audio:true, video:{frameRate:30} |
или в виде диапазона
Code Block |
---|
|
constraints = {audio:true, video:{frameRate:{min:15,max:30}} |
В некоторых случаях, например, если веб-камера поддерживает 24 fps, при точном указании 30 fps публикация может завершиться ошибкой. В таком случае нужно задать частоту кадров как идеальную
Code Block |
---|
|
constraints = {audio:true, video:{frameRate:{ideal:30}} |
Известные проблемы
1. Не работает переключение микрофона в браузере Safari.
...