LOLS IRL понимает стандартный srtla, совместимый с BELABOX, поэтому ваш приёмник ведёт себя точно так же, как наши релеи. Вот что запускать, какие порты важны и единственная ошибка, из-за которой мобильный канал вообще не доходит до вашей машины.
Хостить ничего не обязательно: бесплатные релеи LOLS Cloud существуют для того, чтобы бондинг работал из коробки, а можно поднять свой приёмник и не зависеть ни от кого. У людей есть веские причины хостить самим. Вы хотите, чтобы стрим приходил на инфраструктуру, которую вы контролируете, вам нужна машина физически рядом, где у нас нет релея, вы не хотите думать о лимите или просто любите запускать свои вещи. Ничто в приложении не привязано к нашим серверам, так что переключение сводится к смене имени хоста.
телефон (wifi + мобильная сеть)
|
| srtla, UDP, один сокет на сеть
v
srtla_rec слушает публичный UDP-порт, собирает каналы
|
| обычный SRT, UDP, на localhost
v
медиасервер MediaMTX или аналог
|
+--> OBS или рестрим дальше на Twitch / Kick / YouTube
Два компонента, и у каждого своя задача. srtla_rec из проекта BELABOX понимает бондинг: каждый канал, который открывает телефон, регистрируется в нём как часть одной группы, и он превращает эту группу обратно в один обычный SRT-поток. Затем он пересылает этот поток на SRT-listener, и дальше работает медиасервер. Обычно берут MediaMTX: он может отдать поток в OBS, переопубликовать или записать, но подойдёт всё, что принимает SRT.
Приёмник должен быть доступен из каждой сети, по которой стримит телефон, а на практике это значит публичный адрес. Небольшого VPS вполне хватит: это пересылка пакетов, а не перекодирование, так что мегабиты и скромный процессор важнее числа ядер. Размещайте его географически рядом с местом, откуда вы стримите, по той же причине, по какой выбирают ближайший релей: расстояние это задержка, которую не вернуть, и она оплачивается снова при каждой повторной отправке.
Приёмник в домашней сети, по адресу вроде 192.168.1.50, доступен из вашего Wi-Fi и больше ниоткуда. Мобильный канал не может добраться до частного адреса, поэтому он не регистрируется, и бондинга нет: вы стримите по Wi-Fi, только с лишними шагами, а статистика покажет один канал вместо двух.
Либо хостите на машине с публичным адресом, либо пробросьте UDP-порт на роутере к машине в вашей сети и направьте приложение на публичный адрес роутера. Динамическое DNS-имя избавит от перепечатывания каждый раз, когда адрес меняется.
| Port | Для чего |
|---|---|
| UDP, ваш порт srtla, входящий из интернета | Единственный порт, к которому обращается телефон. По традиции 5000. Каждый канал приходит со своего адреса и порта, так что открывать или настраивать что-то для каждого канала не нужно. |
| UDP, ваш SRT-listener, локальный | Сюда srtla_rec пересылает собранный поток. MediaMTX по умолчанию слушает SRT на 8890. Открывать его в интернет не нужно, если только вы не хотите, чтобы и обычные SRT-клиенты могли публиковать в него. |
| Всё, что отдаёт ваш медиасервер | RTMP, RTSP, HLS или WebRTC в OBS или зрителю, целиком на ваше усмотрение, к пути бондинга это не относится. |
Файрволы, облачные группы безопасности и правила проброса на роутерах очень часто по умолчанию работают с TCP. Регистрация srtla, отправленная на правило только для TCP, пропадает без ошибки где-либо, и это выглядит точно так же, как если бы приёмник лежал. Если канал не регистрируется, сначала проверьте протокол в правиле, а потом всё остальное.
srtla_rec передаёт SRT stream id дальше без изменений, так что в поле Stream id приложения нужно вписать то, что ждёт сервер за ним. С MediaMTX это форма publish: путь и, если включена аутентификация, учётные данные:
publish:mypath
publish:mypath:username:password
Включите аутентификацию, если порт открыт в интернет. Публичный адрес с публикацией без аутентификации рано или поздно найдёт кто-то, кроме вас.
srtla_rec.srtla_rec пишет в лог регистрацию соединения на каждый канал, все в одной группе. Два канала должны дать две регистрации в одной группе. Если вы видите только одну, вторая сеть не может добраться до хоста: частный адрес, правило файрвола только для TCP или VPN на телефоне.Застряли на каком-то шаге или нужен второй взгляд на приёмник, который не принимает второй канал? Спросите в Discord или напишите на support@lols.gg. Приложите свой регион, то, что показывает оверлей статистики, и то, что написал в лог приёмник, и обычно хватает двух сообщений.
Смотрите также: бондинг за пять минут про сторону приложения и чтение индикаторов, бесплатные релеи, если хостить не хочется, и все гайды.