Власний приймач SRTLA

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-слухачу, і далі працює медіасервер. Зазвичай обирають MediaMTX, який може віддати стрим в OBS, републікувати його або записати, але підійде будь-що, що приймає SRT.

Де це запускати

Приймач має бути досяжним з кожної мережі, через яку стримить телефон, а на практиці це публічна адреса. Малого VPS цілком досить: це пересилання пакетів, а не транскодування, тож мегабіти й скромний процесор важать куди більше за ядра. Поставте його географічно поближче до місця, де стримите, з тієї ж причини, з якої обираєте найближчий релей: відстань додає затримку, яку не повернути, і платите ви за неї знову на кожній повторній передачі.

Помилка, на яку натрапляють майже всі

Приймач у вашому домашньому LAN, на кшталт 192.168.1.50, доступний із вашого Wi-Fi і більше ні звідки. Ваш мобільний канал не може маршрутизувати на приватну адресу, тож не реєструється, і ви не з бондингом, а стримите через Wi-Fi із зайвими кроками, а статистика покаже один канал замість двох.

Або хостіть на машині з публічною адресою, або прокиньте UDP-порт на роутері до машини у вашому LAN і вкажіть застосунку публічну адресу роутера. Динамічне DNS-ім'я врятує від перенабору щоразу, коли ваша адреса змінюється.

Порти

ПортДля чого
UDP, ваш порт srtla, вхідний з інтернетуЄдиний порт, якого торкається телефон. Загальноприйнятий 5000. Кожен канал бондингу приходить зі своєї адреси й порту джерела, тож на канал нічого відкривати чи налаштовувати не треба.
UDP, ваш SRT-слухач, локальнийКуди srtla_rec пересилає зібраний стрим. MediaMTX слухає SRT на 8890 за замовчуванням. Його не обов'язково відкривати в інтернет, хіба що ви хочете, щоб і звичайні SRT-клієнти публікували на нього.
Що б не віддавав ваш медіасерверRTMP, RTSP, HLS або WebRTC в OBS чи глядачу, цілком на ваш розсуд, і до шляху бондингу не стосується.

UDP не є TCP

Файрволи, групи безпеки хмар і правила пересилання на роутерах дуже часто за замовчуванням працюють лише з TCP. Реєстрація srtla, відправлена в правило, що пропускає тільки TCP, зникає без жодної помилки, і це виглядає так само, як коли приймач лежить. Якщо канал не реєструється, спершу перевірте протокол у правилі, а вже потім усе інше.

Значення stream id

srtla_rec передає SRT stream id наскрізь, тож у полі Stream id застосунку має бути те, чого чекає сервер за ним. Для MediaMTX це форма публікації: шлях і, за потреби, облікові дані, коли ввімкнено автентифікацію:

publish:mypath
publish:mypath:username:password

Увімкніть автентифікацію, якщо порт відкритий в інтернет. Публічну точку публікації без автентифікації рано чи пізно знайде хтось, хто не ви.

Як спрямувати застосунок

  1. У LOLS IRL: Streams → + → SRTLA.
  2. Host: ваше публічне ім'я хоста. Port: UDP-порт, який слухає srtla_rec.
  3. Stream id: рядок публікації, якого чекає ваш медіасервер.
  4. Latency: для початку 2000 ms. Коли ви в ефірі, застосунок показує виміряний час проходження туди й назад і радить значення, яке на близькій машині зазвичай буде нижчим за типове.
  5. Збережіть, увімкніть, починайте стрим і розгорніть оверлей статистики. По одному рядку на канал. Два рядки означають, що обидві мережі зареєструвалися.

Перевірка, що все справді працює

Нотатки, які варто знати наперед

Застрягли на кроці або хочете, щоб на приймач, що не приймає другий канал, глянув ще хтось? Запитайте в Discord або напишіть на support@lols.gg. Принесіть свій регіон, що показує оверлей статистики й що залогував приймач, і зазвичай це розмова на два повідомлення.

Пов'язане: бондинг за п'ять хвилин про сторону застосунку й читання індикаторів, користування безкоштовними релеями, якщо не хочете хостити, і усі гайди.