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.
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.
| 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.
| 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ą.
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.
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.
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.