Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Таким образом имеем простой тест. Отправляем UDP пакет извне с помощью nc и принимаем его на сервере с помощью tcpdump.
Если пакет дошел, значит порт открыт.

nc

Code Block
languagebash
themeRDark
echo -n "hello" | nc -4u -w1 wcs1.com 31000

...

Эта команда отправит простой UDP пакет в нужном направлении.

tcpdump

Code Block
languagebash
themeRDark
tcpdump udp port 31000

...

Если информация не отображается или утилита jstack не найдена, воспользуйтесь инструкцией к установке последней версии JDK. После установки jdk нужно будет создать символическую ссылку для jstack чтобы была возмоность возможность его быстро вызвать:

Code Block
languagebash
themeRDark
ln -sf /usr/java/default/bin/jstack /usr/bin/jstack

...

В этом примере 8888 - ID Java-процесса.

Тестирование пропускной способности канала при помощи iperf

Качество картинки публикуемого потока напрямую зависит от пропускной способности канала между публикующей стороной и сервером, то же касается и подписчиков. Проверить пропускную способность канала можно при помощи утилиты iperf. Эта программа выпущена под все основные операционные системы: Windows, MacOS, Ubuntu/Debian, CentOS. iperf в режиме сервера может быть установлена вместе с WCS, что позволяет тестировать канал целиком, от публикатора до зрителя.

Установка iperf на CentOS 7 производится следующим образом:

Code Block
languagebash
themeRDark
yum install iperf3

Запуск iperf в режиме сервера

Code Block
languagebash
themeRDark
iperf3 -s -p 5201

здесь 5201 - порт, на который iperf ожидает соединений от тестирующих клиентов

На стороне клиента iperf запускается следующим образом:

1. Для проверки канала на отправку данных серверу по UDP (пример для Windows)

Code Block
languagebash
themeRDark
iperf3.exe -c test2.flashphoner.com -p 5201 -u

Здесь

  • test2.flashphoner.com - WCS сервер
  • 5201 - порт iperf в режиме сервера

Результат выполнения команды будет следующим:

Image Added

2. Для проверки канала на прием данных от сервера по UDP

Code Block
languagebash
themeRDark
iperf3.exe -c test2.flashphoner.com -p 5201 -u -R

Здесь

  • test2.flashphoner.com - WCS сервер
  • 5201 - порт iperf в режиме сервера

Результат выполнения команды будет следующим:

Image Added

По умолчанию, iperf тестирует канал в течение 10 секунд. Это время рекомендуется увеличить, например, до 120 секунд

Code Block
languagebash
themeRDark
iperf3.exe -c test2.flashphoner.com -p 5201 -u -t 120

Результат тестирования канала на отправку данных серверу по UDP показывает максимальное значение битрейта публикации видео, при котором не будет потерь пакетов. В вышеприведенном примере битрейт публикации следует ограничить 1000 кбит/с, например, на стороне сервера

Code Block
themeRDark
webrtc_cc_max_bitrate=1000000

Необходимо отметить, что версии iperf на сервере и на тестирующем клиенте должны совпадать. В настоящее время актуальной является версия 3, хотя в репозиториях есть и версия 2.