FAQ¶
SRT и авторизация по логину и паролю в стороннем софте¶
Авторизация по логину и паролю в SRT между Perfect Streamer — Perfect Streamer поддерживается изначально и настраивается через соответствующие поля в output и input, но работа с другим ПО не гарантируется. Данный функционал не стандартизирован и в различном ПО реализован по-разному.
Для универсальности работы между Perfect Streamer и другим ПО реализован механизм авторизации через создание пира, где имя пира будет равным значению stream ID. Например, при ссылке:
srt://Stream_IP:port?streamid=!#::u=1234567890,password=1234567890
Имя пира:
!#::u=1234567890,password=1234567890
Синтаксис написания stream ID для Perfect Streamer не важен, поддерживаются любые значения до 511 символов.
Разное ПО, принимающее SRT, может передавать stream ID также по своему формату, поэтому если у вас не работает приём по ссылке одного вида со stream ID, то вы можете включить в выходе SRT у Perfect Streamer опцию трассировки и в логе приёма у потока посмотреть ошибку и какой stream ID выдаёт стороннее ПО по факту. Тем самым можно скорректировать stream ID, например, убрав лишние символы в начале строки stream ID, мешающие передаче значения stream ID у стороннего ПО.
Рекомендации по работе с UDP-мультикаст¶
Задача:
Стабильно принять UDP-мультикаст несколько сотен Мбит/с (1 Гбит/с и более) на одном сервере.
Проблема:
Приём на сетевые карты под интерфейс подключения RJ-45 с увеличением трафика выше нескольких сотен мегабит — начинаются потери пакетов мультикаста по нарастающей. Тонкая настройка сетевой карты не помогает (было актуально в старых версиях операционных систем, в современных уже используются оптимальные настройки). На любой сетевой карте с лучшими чипами (Intel, Broadcom и др.) проблема не уходит, особенно после превышения 500 Мбит/с трафика. Бондинг из двух сетевых карт не помогает.
Решение:
Для приёма и передачи UDP-мультикаст рекомендуем использовать сетевые карты под интерфейс SFP+, т.к. в них используются более мощные чипы. Достаточно бюджетной сетевой карты уровня Intel X520-DA1/2 (Intel 82599ES), её использование полностью снимает проблему потери пакетов в трафике UDP-мультикаст свыше 1 Гбит/с.
Дополнительно происходит заметное снижение нагрузки на ЦП и видеокарты в случае использования транскодера.
Рекомендации по настройке сети для мультикаста¶
Настраиваем параметры сети в /etc/sysctl.conf:
net.core.rmem_default=8388608
net.core.rmem_max=16777216
Применить:
sudo sysctl --system
Flussonic и SRT¶
Пример ссылки SRT для приёма на ПО «Flussonic»:
srt://Stream_IP:port?streamid=flussonic
Где streamid — это логин клиента на ПО «Flussonic», который задаётся в разделе «Конфигурация — Настройка пиров».
При добавлении нового пира достаточно указать только логин, в тестовой ссылке указан — «flussonic». ПО «Flussonic» при работе с SRT автоматически генерирует streamID и если не указать в ссылке логин streamID на приёме, то приниматься поток не будет, а «Perfect Streamer» его не сможет отдать.
Аналогичным образом можно задать streamID в формате логина и пароля, создав пира в «Perfect Streamer» со значением в поле Login or IP:
!#::u=1234567890,password=1234567890
и прописав во «Flussonic» ссылку:
srt://Stream_IP:port?streamid=!#::u=1234567890,password=1234567890
Возможно указать streamid/логин в формате IP-адреса у «Perfect Streamer»:
192.168.1.1 (единичный IP)
192.168.1.1-192.168.1.254 (диапазон IP, у пира необходимо обязательно активировать опцию Login is IP)
В обоих случаях ссылка для приёма по IP во «Flussonic» будет выглядеть так:
srt://Stream_IP:port?streamid=*
Будет осуществлена привязка к IP-адресу клиента и будет возможно получение по этой ссылке только с конкретного IP-адреса (диапазона IP-адресов).