Bonding: Wi-Fi și date mobile într-un singur stream, în cinci minute

Configurează bondingul srtla în LOLS IRL, citește indicatorii pe fiecare conexiune în timpul stream-ului și află la ce să te aștepți prima dată când ți se pierde o rețea.

Bondingul trimite stream-ul peste toate rețelele pe care le are telefonul, simultan. E diferența dintre un stream care se termină când pică Wi-Fi-ul și unul care merge mai departe pe date mobile fără să atingi nimic. Îl configurezi o dată și așa intri live de acum încolo.

Ce ai nevoie mai întâi

Configurarea

  1. Ia datele receiverului. Pentru un relay gratuit, e o cheie de la relay-auth.lols.gg, care vine deja în forma unui stream id. Pentru propria ta mașină, e hostname-ul, portul UDP și orice stream id așteaptă serverul tău.
  2. Deschide Streams și adaugă o destinație. În aplicație, mergi la Streams, apasă + și alege SRTLA dintre cele trei chip-uri de protocol. SRT e o singură conexiune către propriul receiver, RTMP merge direct la o platformă, SRTLA e cel cu bonding.
  3. Completează host-ul și portul. La un relay, apasă chip-ul regiunii tale și host-ul, portul și numele se completează singure. Cea mai apropiată regiune pentru țara SIM-ului tău are o stea. La propriul receiver, scrie hostname-ul public și portul UDP pe care ascultă.
  4. Lipește cheia în Stream id. Aici greșesc cei mai mulți. O cheie de relay conține deja prefixul publish:, deci lipește-o întreagă în Stream id, nu în nume și nu la sfârșitul host-ului.
  5. Lasă latența la 2000 ms la început. E valoarea implicită și e una rezonabilă. Mai mare trece peste un semnal mai prost, mai mică taie din întârziere, dar lasă mai puțin loc să retrimiți un pachet pierdut. Odată ce ești live, aplicația arată round trip-ul pe care îl măsoară de fapt și sugerează o valoare potrivită, așa că o reglezi mai târziu cu cifre reale, nu la ghicit acum.
  6. Salvează și verifică dacă destinația e pornită. O destinație salvată, dar neactivată, e cea mai discretă cale de a nu face stream.
  7. Intră live, apoi extinde statisticile. Atinge overlay-ul de statistici de pe ecranul live ca să-l extinzi. Vrei să vezi un rând pe conexiune: wifi și cell, fiecare cu propriul bitrate și round trip. Două rânduri înseamnă că ai bonding. Un rând înseamnă că nu, iar greșelile de mai jos explică de ce.

Cum citești indicatorii

Restrâns, overlay-ul e un punct de stare, bitrate-ul tău, frame rate-ul encoderului, round trip-ul și cât timp ești live. Dacă îl atingi, se deschide detaliul:

IndicatorCe îți spune
send bufferIndicatorul care apare primul, cel pe care îl urmărești. Bufferul se umple înainte să se poticnească imaginea, deci o cifră care crește e avertismentul că o conexiune se chinuie, nu un raport că a picat deja.
targetBitrate-ul spre care țintește acum bitrate-ul adaptiv, care scade și urcă la loc singur pe măsură ce se schimbă condițiile.
dropped și retransmitPachete pierdute și pachete retrimise. Câteva retransmisii pe date mobile sunt normale, un număr de pachete pierdute care crește nu e.
Un rând pe conexiuneEtichetat wifi, cell sau eth, fiecare cu propriul bitrate și round trip, ca să vezi ce rețea duce ce.
Punctul de pe fiecare rând de conexiuneVerde înseamnă activă și transportă trafic, galben se conectează sau s-a blocat, roșu înseamnă căzută. Un rând roșu cât timp stream-ul rămâne pornit e bondingul care își face treaba.
Un rând pe destinațieCu nume, deci dacă trimiți în mai multe locuri vezi care e picată cât timp celelalte merg bine.

Ce se întâmplă când pică o conexiune

Nimic dramatic, și tocmai asta e ideea. Rândul conexiunii picate devine roșu, conexiunile rămase preiau traficul și stream-ul rămâne conectat. Când rețeaua revine, conexiunea aceea se reînregistrează la receiver și se alătură grupului singură. Nu oprești, nu repornești și nu atingi nimic.

Două lucruri la care merită să-ți stabilești așteptările. Întâi, conexiunea rămasă trebuie să ducă tot stream-ul, deci dacă bitrate-ul tău încăpea doar pe un Wi-Fi bun, bitrate-ul adaptiv coboară cât timp munca o fac datele mobile și urcă la loc după aceea. Al doilea, bondingul înseamnă reziliență, nu viteză în plus: conexiunile tale nu se adună niciodată într-o țeavă mai mare. Setează bitrate-ul la ce poate duce o conexiune bună și abia vei simți trecerea.

Testează intenționat, înainte să ai nevoie. Intră live cu bonding de acasă, așteaptă până când statisticile arată stabil, apoi oprește Wi-Fi-ul un minut și uită-te. O să vezi rândul wifi devenind roșu, rândul cell preluând și totul revenind când pornești Wi-Fi-ul. Zece minute din asta fac mai mult decât orice citit și e mult mai bine să afli în bucătărie decât la jumătatea unui stream.

Greșelile care îi costă pe oameni prima încercare

Îndreptarea spre o adresă din propria rețea

Asta e cea mare. Un receiver la 192.168.1.50 se ajunge prin Wi-Fi-ul tău și de nicăieri altundeva, deci conexiunea pe date mobile nu se poate înregistra și nu ai bonding, ești pe Wi-Fi cu pași în plus. Destinația trebuie să fie un hostname sau o adresă publică, adică un relay, o mașină găzduită sau un port UDP redirecționat pe router către calculatorul tău și adresat prin adresa publică a routerului. Aceeași regulă pentru un laptop de pe biroul tău.

Stream id lăsat gol sau lipit pe jumătate

Receiverele autentifică cine publică, deci un stream id gol sau trunchiat îți dă o conexiune care nu duce nicăieri. Lipește cheia întreagă, cu tot cu prefixul publish:, în câmpul Stream id.

Așteptarea unui bitrate mai mare

Două conexiuni nu se adună. Dacă setezi un bitrate pe care l-ar putea duce vreodată doar Wi-Fi-ul, stream-ul va arăta mai prost în clipa în care munca o fac datele mobile și vei da vina pe bonding pentru exact opusul a ce a făcut. Bondingul te ține live. Bitrate-ul e o decizie separată.

Un VPN pornit pe telefon

Un VPN prinde fiecare socket de pe dispozitiv, deci aplicația nu poate deschide câte unul pe rețea și nu mai rămâne nimic de unit. Statisticile spun asta direct când se întâmplă. Oprește VPN-ul sau exclude LOLS IRL din el, din setările aplicației de VPN.

Trimiterea srtla către un server SRT simplu

SRTLA are nevoie de un receiver care rulează srtla_rec, cel care pune conexiunile la loc. Un listener SRT simplu nu înțelege înregistrarea de grup. Folosește un relay sau rulează srtla_rec în fața serverului tău SRT, așa cum descrie ghidul de self-hosting.

Alegerea unui relay de la capătul lumii

Distanța te costă întârziere pe care nu o mai recuperezi, iar un round trip destul de lung poate împiedica chiar stabilirea conexiunii. Alege cea mai apropiată regiune: aplicația pune o stea la cea care corespunde țării SIM-ului tău.

După ce merge

Următorul: folosirea relay-urilor gratuite