Bonding: Wi-Fi i sieć komórkowa w jednym streamie w pięć minut

Skonfiguruj bonding srtla w LOLS IRL, czytaj wskaźniki każdego połączenia w trakcie streamu i wiedz, czego się spodziewać, gdy pierwszy raz padnie ci sieć.

Bonding wysyła twój stream jednocześnie przez każdą sieć, jaką ma telefon. To różnica między streamem, który kończy się, gdy padnie Wi-Fi, a takim, który leci dalej przez sieć komórkową bez dotykania czegokolwiek. Ustawiasz raz i tak po prostu startujesz.

Czego potrzebujesz na początek

Ustawianie

  1. Weź dane swojego odbiornika. Dla darmowego relaya to klucz z relay-auth.lols.gg, który przychodzi już w kształcie stream id. Dla własnego pudła to nazwa hosta, port UDP i jakikolwiek stream id oczekuje twój serwer.
  2. Otwórz Streams i dodaj miejsce docelowe. W aplikacji wejdź w Streams, stuknij + i wybierz SRTLA z trzech chipów protokołu. SRT to jedno połączenie z twoim własnym odbiornikiem, RTMP idzie prosto do platformy, SRTLA to to z bondingiem.
  3. Wpisz host i port. Przy relayu stuknij chip swojego regionu, a host, port i nazwa wypełnią się same. Najbliższy region dla kraju twojej karty SIM jest oznaczony gwiazdką. Przy własnym odbiorniku wpisz publiczną nazwę hosta i port UDP, na którym nasłuchuje.
  4. Wklej klucz do Stream id. To pole, w którym ludzie najczęściej się mylą. Klucz relaya ma już w sobie prefiks publish:, więc wklej go w całości do Stream id, nie do nazwy i nie na koniec hosta.
  5. Na początek zostaw opóźnienie na 2000 ms. To wartość domyślna i rozsądna. Wyżej lepiej znosi gorszy sygnał, niżej zmniejsza opóźnienie, ale zostawia mniej miejsca na ponowne wysłanie zgubionego pakietu. Gdy jesteś na żywo, aplikacja pokazuje RTT, które faktycznie mierzy, i podpowiada wartość do dopasowania, więc dostrój to później na prawdziwych liczbach, a nie na zgadywanie teraz.
  6. Zapisz i upewnij się, że miejsce docelowe jest włączone. Zapisane, ale niewłączone miejsce docelowe to najcichszy sposób na to, żeby nie streamować.
  7. Wejdź na żywo, potem rozwiń statystyki. Stuknij nakładkę ze statystykami na ekranie na żywo, żeby ją rozwinąć. Chcesz zobaczyć jeden wiersz na połączenie: wifi i cell, każdy z własnym bitrate i RTT. Dwa wiersze znaczą, że masz bonding. Jeden wiersz znaczy, że nie, a powody podają błędy poniżej.

Czytanie wskaźników

Zwinięta nakładka to kropka stanu, twój bitrate, liczba klatek enkodera na sekundę, RTT i to, jak długo jesteś na żywo. Stuknięcie otwiera szczegóły:

OdczytCo ci mówi
send bufferWskaźnik wyprzedzający i ten, na który warto patrzeć. Bufor zapełnia się, zanim obraz się zatnie, więc rosnąca wartość to ostrzeżenie, że połączenie się męczy, a nie raport, że już padło.
targetBitrate, do którego adaptacyjny bitrate właśnie dąży; sam spada i wraca w górę, gdy zmieniają się warunki.
dropped i retransmitPakiety utracone i pakiety wysłane ponownie. Kilka retransmisji w sieci komórkowej to normalne, rosnąca liczba utraconych nie.
Jeden wiersz na połączeniePodpisane wifi, cell albo eth, każde z własnym bitrate i RTT, więc widać, która sieć co niesie.
Kropka w wierszu każdego połączeniaZielona to aktywne i niosące ruch, bursztynowa to łączenie albo zawieszone, czerwona to martwe. Czerwony wiersz, gdy stream trwa, to bonding robiący swoje.
Jeden wiersz na miejsce doceloweZ nazwą, więc jeśli wysyłasz w kilka miejsc, widać, które leży, a które działają.

Co się dzieje, gdy połączenie padnie

Nic dramatycznego, i o to chodzi. Wiersz padniętego połączenia robi się czerwony, pozostałe przejmują ruch, a stream zostaje połączony. Gdy sieć wraca, to połączenie rejestruje się ponownie w odbiorniku i samo dołącza do grupy. Nie zatrzymujesz, nie restartujesz i niczego nie dotykasz.

Dwie rzeczy, co do których warto mieć właściwe oczekiwania. Po pierwsze, ocalałe połączenie musi unieść cały stream, więc jeśli twój bitrate miał się zmieścić tylko w dobrym Wi-Fi, adaptacyjny bitrate zejdzie w dół, gdy robotę robi sieć komórkowa, i wróci później. Po drugie, bonding to odporność, a nie dodatkowa prędkość: połączenia nigdy nie sumują się w grubszą rurę. Ustaw bitrate na tyle, ile uniesie jedno dobre połączenie, a przejęcia ledwo zauważysz.

Przetestuj to celowo, zanim będzie potrzebne. Wejdź na żywo z bondingiem z domu, poczekaj, aż statystyki będą wyglądać stabilnie, potem wyłącz Wi-Fi na minutę i patrz. Zobaczysz, jak wiersz wifi robi się czerwony, wiersz cell przejmuje, a całość wraca, gdy włączysz Wi-Fi. Dziesięć minut tego jest warte więcej niż jakakolwiek ilość czytania i dużo lepiej nauczyć się tego w kuchni niż w połowie streamu.

Błędy, które kosztują ludzi pierwszą próbę

Wskazanie adresu w twojej własnej sieci

To ten najważniejszy. Odbiornik pod 192.168.1.50 jest osiągalny przez twoje Wi-Fi i znikąd indziej, więc połączenie komórkowe nie może się zarejestrować i nie masz bondingu, jesteś na Wi-Fi z dodatkowymi krokami. Miejsce docelowe musi mieć publiczną nazwę hosta albo adres, czyli relay, hostowane pudło albo przekierowanie portu UDP na routerze wskazujące na twoją maszynę i adresowane publicznym adresem routera. Ta sama zasada dotyczy laptopa na biurku.

Pusty albo niepełnie wklejony stream id

Odbiorniki uwierzytelniają nadawców, więc pusty albo ucięty stream id daje połączenie, które nigdzie nie prowadzi. Wklej klucz w całości, razem z prefiksem publish:, do pola Stream id.

Oczekiwanie większego bitrate

Dwa połączenia się nie sumują. Jeśli ustawisz bitrate, który uniesie tylko Wi-Fi, stream będzie wyglądał gorzej w chwili, gdy robotę robi sieć komórkowa, i obwinisz bonding za coś odwrotnego niż to, co zrobił. Bonding trzyma cię na żywo. Bitrate to osobna decyzja.

VPN działający na telefonie

VPN przejmuje każdy socket na urządzeniu, więc aplikacja nie może otworzyć po jednym na sieć i nie ma czego łączyć. Statystyki mówią o tym wprost, gdy to się dzieje. Wyłącz VPN albo wyklucz z niego LOLS IRL w ustawieniach samej aplikacji VPN.

Wysyłanie srtla na zwykły serwer SRT

SRTLA wymaga odbiornika z srtla_rec, który składa połączenia z powrotem. Zwykły nasłuch SRT nie rozumie rejestracji grupy. Użyj relaya albo uruchom srtla_rec przed swoim serwerem SRT, jak opisuje poradnik o self-hostingu.

Wybranie relaya po drugiej stronie świata

Odległość kosztuje opóźnienie, którego nigdy nie odzyskasz, a dość długie RTT może w ogóle uniemożliwić nawiązanie połączenia. Wybierz najbliższy region: aplikacja oznacza gwiazdką ten, który pasuje do kraju twojej karty SIM.

Gdy już działa

Dalej: korzystanie z darmowych relayów