Как узнать и выводить текущий битрейт для транслирующего

Есть ли возможность получать информацию о битрейте, и возможных проблемах канала для раздающего с целью выведения это информации на экран? Чтобы предупреждать о проблеме связи и полезно будет для отладки.

Для смотрящего вроде бы как есть getRemoteBitrate и события о нехватки полосы пропускания.
Но как узнавать её для транслирующего?
 

Max

Administrator
Staff member
Добрый день.
Для обеих сторон - публикатора и подписчика - информацию можно получить при помощи функции stream.getStats(). Пример использования приведен здесь. Таким образом Вы получаете доступ к WebRTC-статистике, поддерживаемой браузером в соответствии с этим стандартом.
Обратите внимание, что битрейт для публикующей стороны придется вычислять как результат деления bytesSent на количество секунд, прошедших после старта трансляции.
Для смотрящего вроде бы как есть getRemoteBitrate и события о нехватки полосы пропускания.
Рекомендуем для подписчика также использовать getStats, т.к. getRemoteBitrate устарела и может быть исключена в следующих версиях WebSDK. Кроме того, getStats прозрачнее в плане использования, мы просто забираем от браузера все, что он может отдать по стандарту.
 

kontroller8

New Member
А есть ли возможность получать информацию пользователю, дающего видео поток, что его видео кто-то сейчас смотрит?
Необходимо дать понять пользователю, что на него сейчас смотрят
 

Max

Administrator
Staff member
А есть ли возможность получать информацию пользователю, дающего видео поток, что его видео кто-то сейчас смотрит?
Сейчас это реализовано двумя способами
1. REST хуки
https://docs.flashphoner.com/display/WCS5RU/REST hooks
Сценарий такой:
1. Пользователь публикует поток stream1
2. Зритель1 начинает смотреть поток stream1
3. На это событие WCS вызывает REST запрос /hooks/playStream и передает параметры пользователя, который вызвал Play, например {name:"stream1", sessionId:"192.168.88.55"}
4. Ваш веб-сервер вызывает REST запрос /data/send и отправляет пользователю информацию о том, кто его смотрит.

Таким образом, чтобы это реализовать, вам нужно настроить две вещи на вашем Web - сервере
1. Обработку запроса http://yourhost/hooks/playStream
2. Вызов запроса http://wcshost/rest-api/data/send
Здесь:
yourhost - ваш веб сервер, который обрабатывает хуки
wcshost - WCS сервер, который принимает вызов /data/send и перенаправляет подключенному клиенту, который публикует стрим и которому нужно передать информацию о подписчикам
2. REST API
Через REST API можно сделать вызов /rest-api/stream/find_all или /rest-api/stream/find
и получить весь список стримов - зрителей и публикующих. По параметрам вывода можно понять кто зритель кто публикует.
https://docs.flashphoner.com/pages/viewpage.action?pageId=1048601
 
Top