LTB (Live Transmission Bonding) to bonding wbudowany w aplikację. Działa jak plecak transmisyjny, tylko bez dodatkowego sprzętu. Aplikacja wysyła ten sam strumień wieloma łączami naraz (Ethernet, Wi-Fi, modemy LTE/5G, telefon), a serwer składa go z powrotem w jeden obraz. Gdy jedno łącze słabnie albo znika, pozostałe przejmują jego ruch i obraz się nie rwie.

Jak to działa

  1. Aplikacja koduje obraz jeden raz.
  2. Bonder dzieli strumień na paczki i wysyła je przez każde zaznaczone łącze. Łącze to osobna karta sieciowa.
  3. Serwer odbiera paczki ze wszystkich łączy na porcie UDP 7600, usuwa duplikaty i składa jeden strumień.
  4. Zgubione paczki wysyłane są ponownie. Bufor (opóźnienie LTB) daje serwerowi czas na uzupełnienie braków.

LTB działa niezależnie od tego, czy kanał ustawiono jako SRT, czy RTMP. YouTube, vMix i widzowie dostają zwykły, złożony strumień.

Wymaga naszego serwera

Bonding potrzebuje odbiornika po drugiej stronie. Działa więc tylko wtedy, gdy sygnał jedzie przez serwer MH Media. Tak samo jest w LiveU, gdzie sygnał najpierw idzie do ich chmury.

Tryby

Tryb Jak działa Kiedy
Stabilność (z kopiami) Ważne dane idą od razu dwiema drogami. Nagły spadek jednego łącza nie rwie obrazu Transmisje na żywo. Zużywa około 2 razy więcej transferu
Przepustowość (agregacja) Paczki dzielone między łącza bez kopii Gdy łącza są słabe i liczy się suma Mb/s, a spadki są rzadsze

W trybie Stabilność wskaźnik Strumień pokazuje prawdziwy bitrate obrazu, a pod nim „wysłane z kopiami” to łączny ruch z duplikatami. Dlatego suma na łączach jest większa niż bitrate obrazu.

Karta LTB w aplikacji

Kolor kropki

Kolor Znaczenie
zielony Łącze działa
żółty Łącze słabe, są straty
czerwony Nic nie przesyła
szary Nie nadajemy albo kanał nie idzie przez bonding

Kolor zmienia się dopiero, gdy stan trwa 3 sekundy, więc kropki nie migają.

Zabezpieczenia

Opóźnienie LTB

Realizator ustawia profil opóźnienia dla enkodera w panelu. Ta sama wartość obowiązuje w aplikacji i na serwerze. Nadawca widzi ustawioną wartość w aplikacji.

Profil Opóźnienie Kiedy używać
Automatycznie 400–5000 ms, dobierane przy starcie Aplikacja mierzy łącza przy starcie wysyłki i sama wylicza opóźnienie: im większe opóźnienia i wahania łączy, tym wyższa wartość. Dobre, gdy nie znasz zasięgu na miejscu
Niskie 500 ms Dobre, stabilne łącza (kabel i dobry zasięg). Najmniejsze opóźnienie, najmniejszy zapas na zakłócenia
Standardowe 1000 ms Kompromis między opóźnieniem a odpornością
Bezpieczne (domyślne) 2000 ms Łącza komórkowe i zmienny zasięg. Największy zapas na utratę pakietów
Własne 300–5000 ms Wartość podana ręcznie przez realizatora

Profil Automatycznie

Opóźnienia nie da się zmienić w trakcie nadawania (ogranicza to protokół SRT), więc wartość jest dobierana raz, przy starcie wysyłki. Aplikacja pokazuje komunikat: „LTB: opóźnienie dobrane automatycznie — X ms (jitter łączy do Y ms)”. Aby zmienić opóźnienie na inne (profil lub wartość), trzeba zatrzymać nadawanie i uruchomić je ponownie.

Im niższe opóźnienie, tym mniejsza odporność na chwilowe pogorszenie łączy. Przetestuj wybrany profil przed transmisją na żywo.

Zmiana profilu w trakcie transmisji

Zmiana opóźnienia tworzy nową grupę LTB. Wprowadzaj ją przed startem, a nie w trakcie wydarzenia.

Jak dobrać łącza

Telefon jako łącze

Ile procesora zajmuje LTB

Samo LTB zajmuje około 1–3% procesora, bo tylko przekazuje paczki. Procesor obciąża kodowanie obrazu, dlatego ważne jest kodowanie sprzętowe (Intel Quick Sync albo NVIDIA NVENC), a nie x264.

Pytania i odpowiedzi

Czy paczki nie giną, gdy łącze padnie? Każda paczka ma numer. Serwer widzi brakującą i prosi o ponowne wysłanie innym łączem. W trybie Stabilność ważne dane idą dodatkowo dwiema drogami. Paczki giną naprawdę dopiero wtedy, gdy wszystkie łącza razem są za słabe dłużej, niż wynosi opóźnienie LTB.

Dlaczego serwer składa strumień, skoro dalej też może się zapchać? Bonding rozwiązuje pierwszy odcinek, od hali do serwera, bo tam są niestabilne łącza komórkowe. YouTube, vMix i widzowie rozumieją tylko jeden zwykły strumień, więc trzeba go złożyć.

A kanał RTMP? RTMP to jedno połączenie TCP i nie da się go podzielić na łącza. Dlatego przy włączonym LTB zamiana na RTMP dzieje się dopiero na serwerze. vMix i OBS wysyłają RTMP lokalnie do aplikacji, a aplikacja przesyła go dalej przez LTB bez ponownego kodowania.

Czy LTB działa na koncie darmowym? Nie, na planie darmowym karty LTB nie ma. Liczba kanałów LTB na jeden enkoder zależy od planu.