Объясните или дайте линк на описание, как работает проверка скорости

Kirill

Member
Получаю такое сообщение <CODE>NOT ENOUGH BANDWIDTH</CODE> при подключении по webrtc.
Дайте пожалуйста линк на подробное описание того, как работает измерение скорости. Это измерение скорости между чем и чем (между клиентом и веб сервером или есть другие варианты ?), какими методами измерятся полоса пропускания, при стриме во всех форматах идет измерение скорости ?
 

Max

Administrator
Staff member
Событие NOT_ENOUGH_BANDWIDTH вызывается, если при воспроизведении потока как WebRTC потери видео пакетов на канале подписчика превышают заданное пороговое значение.
Потери записываются в логе клиента (в WCS_HOME/logs/client_logs): INFO-сообщения "Packet loss on session".
Временной период для определения уровня потерь – одна секунда.
Пороговое значение потерь для вызова события задается настройкой в WCS_HOME/conf/flashphoner.properties; по умолчанию - 5%
Code:
webrtc_cc2_bitrate_overuse_event_threshold=0.05
 

Kirill

Member
Есть ли в wcs еще какие-нибудь механизмы для определения качества пропускной полосы перед началом стрима клиенту например ?
 

Max

Administrator
Staff member
Определение полосы в данном случае не даст результатов, т.к. полоса постоянно меняется во времени, забивается и освобождается.
Решением может быть переключение на другой стрим, который имеет заведомо меньшее разрешение и соответственно меньше утилизирует полосу.
Например так:
Code:
session.createStream({name:'stream1', constraints:{video:{width:320,height:240}, audio:true}});
Например, если источник стрима был 1280x720, то должен включиться транскодинг в 320x240 и будет создано две группы:
1) stream1, 1280x720 proxy group
2) stream1, 320x240p transcoding group
В результате, следующие пользователи будут подключаться либо к одной группе, либо к другой.
1) Подключаемся к первой группе, не указываем constraints:
Code:
session.createStream({name:'stream1'});
2) Подключаемся к второй группе, указывая 320x240.
Code:
session.createStream({name:'stream1', constraints:{video:{width:320,height:240}, audio:true}});
Здесь нужно понимать, что при каждом создании новой группы создается транскодинг-сессия.
Поэтому если много входящих стримов и групп, они быстро съедят CPU.
 
Top