...
В этом примере 8888 - ID Java-процесса.
Начиная со сборки 5.2.801, WCS запускается от пользователя flashphoner. В связи с этим, при использовании JDK 8, необходимо jstack запускать от того же пользователя:
Code Block | ||||
---|---|---|---|---|
| ||||
sudo -u `ps -o uname= -p $(pgrep java)` `which jstack` `pgrep java` |
Тестирование пропускной способности канала при помощи iperf
Качество картинки публикуемого потока напрямую зависит от пропускной способности канала между публикующей стороной и сервером, то же касается и подписчиков. Проверить пропускную способность канала можно при помощи утилиты iperf. Эта программа выпущена под все основные операционные системы: Windows, MacOS, Ubuntu/Debian, CentOS. iperf в режиме сервера может быть установлена вместе с WCS, что позволяет тестировать канал целиком, от публикатора до зрителя.
Установка iperf на CentOS 7 производится следующим образом:
Code Block | ||||
---|---|---|---|---|
| ||||
yum install iperf3 |
Запуск iperf в режиме сервера
Code Block | ||||
---|---|---|---|---|
| ||||
iperf3 -s -p 5201 |
здесь 5201 - порт, на который iperf ожидает соединений от тестирующих клиентов
На стороне клиента iperf запускается следующим образом:
1. Для проверки канала на отправку данных серверу по UDP (пример для Windows)
Code Block | ||||
---|---|---|---|---|
| ||||
iperf3.exe -c test2.flashphoner.com -p 5201 -u |
Здесь
- test2.flashphoner.com - WCS сервер
- 5201 - порт iperf в режиме сервера
Результат выполнения команды будет следующим:
2. Для проверки канала на прием данных от сервера по UDP
Code Block | ||||
---|---|---|---|---|
| ||||
iperf3.exe -c test2.flashphoner.com -p 5201 -u -R |
Здесь
- test2.flashphoner.com - WCS сервер
- 5201 - порт iperf в режиме сервера
Результат выполнения команды будет следующим:
По умолчанию, iperf тестирует канал в течение 10 секунд. Это время рекомендуется увеличить, например, до 120 секунд
Code Block | ||||
---|---|---|---|---|
| ||||
iperf3.exe -c test2.flashphoner.com -p 5201 -u -t 120 |
Результат тестирования канала на отправку данных серверу по UDP показывает максимальное значение битрейта публикации видео, при котором не будет потерь пакетов. В вышеприведенном примере битрейт публикации следует ограничить 1000 кбит/с, например, на стороне сервера
Code Block | ||
---|---|---|
| ||
webrtc_cc_max_bitrate=1000000 |
Необходимо отметить, что версии iperf на сервере и на тестирующем клиенте должны совпадать. В настоящее время актуальной является версия 3, хотя в репозиториях есть и версия 2.