Jak wysłać transmisję na żywo do celu SRT
Cele SRT wymagają kilku szczegółów więcej niż RTMP: trybu, hosta i portu, a często także stream ID, hasła i opóźnienia. Oto co oznacza każda część adresu srt:// i jak połączyć stream.
Około 6 min czytania
Na tej stronie
Aby wysłać transmisję na żywo do celu SRT, zdobądź od odbiorcy adres srt://, ustal, która strona nasłuchuje, a która dzwoni, i dopasuj stream ID, hasło oraz opóźnienie, których oczekuje odbiorca. Następnie otwórz port UDP po stronie odbiorcy, uruchom nadawcę i sprawdź, czy obraz dociera, zanim zaczniesz na tym polegać.
Drobne niezgodności psują konfiguracje SRT, więc dopasuj każdy szczegół. Dopiero poznajesz ten protokół? Zacznij od tekstu o tym, czym jest streaming SRT.
Najważniejsze informacje
- Jedna strona połączenia SRT nasłuchuje na porcie UDP, a druga się z nią łączy.
- Adres srt:// zawiera host i port oraz opcje takie jak mode, streamid i passphrase.
- Większość awarii wynika z zamkniętego portu, dwóch callerów albo niezgodnego hasła lub stream ID.
- Przetestuj lokalnie, zanim skierujesz stream 24/7 na produkcyjnego odbiorcę.
Kto właściwie korzysta z celów SRT
Zwykle nie wyślesz SRT na popularną platformę społecznościową. Cele SRT to najczęściej systemy prowadzone przez nadawcę, firmę lub partnera:
- Emisja i produkcja telewizyjna. Studia odbierają sygnały kontrybucyjne przez SRT do sprzętowych dekoderów, mikserów wizji i systemów emisyjnych.
- Serwery mediów. Samodzielnie hostowane i komercyjne serwery mediów przyjmują SRT i przepakowują go dla odtwarzaczy, do nagrywania lub dalszej dystrybucji.
- Przekazanie sygnału partnerom. Kanał dostarczający program do sieci telewizyjnej, na ekrany w obiektach czy dystrybutorowi często robi to przez SRT.
- Chmurowe usługi wideo. Niektóre profesjonalne platformy oferują ingest SRT obok RTMP.
W każdym przypadku operator odbiorcy podaje ci dane połączenia, które trzeba dokładnie odwzorować. Jeśli druga strona oferuje tylko RTMP, skorzystaj zamiast tego z poradnika o własnym serwerze RTMP.
Tryby caller, listener i rendezvous
Każde połączenie SRT potrzebuje jednej strony, która czeka, i jednej, która się łączy.
- Listener wiąże się z portem UDP i czeka na połączenia. Potrzebuje osiągalnego adresu i otwartego portu w firewallu.
- Caller łączy się z hostem i portem listenera i działa zza większości firewalli, bo połączenie jest wychodzące.
- Rendezvous sprawia, że obie strony łączą się ze sobą jednocześnie na uzgodnionych portach, co może pomóc, gdy żadna ze stron nie przyjmuje ruchu przychodzącego.
Tryb nie ma związku z kierunkiem przepływu wideo. Gdy usługa w chmurze lub enkoder dostarcza sygnał na twój serwer, typowy układ to nadawca jako caller i odbiorca jako listener.
Klasyczny błąd to dwóch callerów albo dwóch listenerów. Obie strony czekają bez wyraźnego komunikatu o błędzie, więc potwierdź tryb z operatorem odbiorcy.
Adres srt:// kawałek po kawałku
Adres SRT wygląda zwykle mniej więcej tak:
srt://ingest.example.com:9000?mode=caller&streamid=channel-main&passphrase=YOUR-LONG-SECRET
- Host i port. Nazwa hosta lub adres IP odbiorcy i port UDP, na którym nasłuchuje. Nie ma uniwersalnego domyślnego portu, więc używaj tego, który dostałeś.
- mode. Rola twojej strony: caller, listener lub rendezvous.
- streamid. Identyfikator, którego niektórzy odbiorcy używają do kierowania lub autoryzowania sygnału, podobny do klucza transmisji. Jego format zależy od odbiorcy.
- passphrase. Wspólne hasło do szyfrowania AES, zwykle wymagane w długości od 10 do 79 znaków. Obie strony muszą mieć dokładnie takie samo.
- pbkeylen. Opcjonalna długość klucza: 16, 24 lub 32 bajty, czyli AES-128, 192 lub 256.
- latency. Bufor na odzyskiwanie pakietów. Niektóre narzędzia przyjmują milisekundy, a oprogramowanie oparte na FFmpeg zwykle oczekuje mikrosekund, więc sprawdź to, zanim skopiujesz liczbę z innej konfiguracji.
Przygotowanie strony odbiorczej
Jeśli sam prowadzisz odbiorcę, przygotuj go, zanim cokolwiek zostanie wysłane:
- Skonfiguruj listenera na stałym porcie UDP w swoim serwerze mediów, dekoderze lub oprogramowaniu emisyjnym.
- Otwórz ten port UDP w firewallu serwera oraz w każdej grupie zabezpieczeń w chmurze lub routerze przed nim. Reguły TCP nie obejmują SRT.
- Wybierz hasło i, jeśli twoje oprogramowanie kieruje sygnały według stream ID, identyfikator dla tego sygnału.
- Dobierz opóźnienie pasujące do trasy; długie lub niestabilne trasy wymagają więcej.
- Potwierdź format. SRT zwykle przenosi MPEG-TS z wideo H.264 i dźwiękiem AAC, więc upewnij się, że odbiorca to akceptuje.
- Przetestuj lokalnie, wysyłając krótki sygnał z OBS lub FFmpeg na innej maszynie.
Jeśli odbiorca przyjmuje tylko zatwierdzone adresy, dopuść też adres nadawcy.
Rozwiązywanie problemów z połączeniami SRT, które nie chcą ruszyć
Błędy SRT są często mgliste, więc diagnozuj po objawach:
- Połączenie wygasa. Port UDP jest zamknięty lub nieprzekierowany, host jest błędny albo obie strony używają tego samego trybu.
- Połączenie jest odrzucane. Zwykle niezgodne hasło, hasło ustawione tylko po jednej stronie albo stream ID, którego odbiorca nie rozpoznaje.
- Łączy się, a potem zacina lub zrywa. Opóźnienie jest za niskie dla trasy sieciowej albo przepustowość jest niższa niż bitrate plus narzut na retransmisje. Najpierw zwiększ opóźnienie.
- Łączy się bez obrazu i dźwięku. Odbiorca oczekuje innego kontenera lub kodeka, a jego logi zwykle mówią, jakiego.
Gdy już działa, zapisz każdą wartość, z którą się połączyło. Szersze nawyki z tekstu o utrzymywaniu streamu 24/7 online dotyczą także celów SRT.
Dodawanie celu SRT do streamu w StreamHouse
W StreamHouse SRT to cel niestandardowy obok wbudowanych platform. Wklej pełny adres srt:// odbiorcy, łącznie z wymaganymi opcjami, takimi jak hasło. Jeśli dostałeś stream ID lub klucz osobno, wpisz go w polu stream ID, a StreamHouse doda go jako parametr streamid, gdy adres jeszcze go nie zawiera. Bez trybu w adresie StreamHouse łączy się jako caller, więc twój odbiorca powinien nasłuchiwać.
Wysyłaj do swojego odbiorcy całą dobę zapętloną playlistę wcześniej zakodowanych filmów albo dodaj SRT obok YouTube, Twitcha i innych celów RTMP w tym samym streamie, bez zużywania dodatkowych slotów streamów. Wszystko działa w chmurze i automatycznie łączy się ponownie po czkawkach. Przewodnik na start prowadzi przez pierwszy stream.
Najczęściej zadawane pytania
Jakiego portu używa SRT?
Nie ma jednego standardowego portu. Listener może użyć dowolnego dostępnego portu UDP, a operator odbiorcy mówi ci, którego. Ten port musi być otwarty dla ruchu UDP w każdym firewallu między nadawcą a listenerem.
Czy mój nadawca SRT powinien być callerem czy listenerem?
Zwykle nadawca się łączy, a odbiorca nasłuchuje, bo odbiorcy mają zazwyczaj stałe adresy i otwarte porty, a nadawcy siedzą za firewallami. Technicznie działa każdy wariant, o ile strony używają przeciwnych trybów albo obie korzystają z rendezvous.
Jakie opóźnienie ustawić przy streamingu SRT?
Typowy punkt wyjścia to kilkukrotność czasu podróży pakietu w obie strony między nadawcą a odbiorcą, zwiększona przy stratnych lub długodystansowych łączach. Zacznij zachowawczo, obserwuj gubione pakiety, a potem stopniowo obniżaj. Upewnij się, czy twoje narzędzie oczekuje milisekund, czy mikrosekund.
Czy mogę wysyłać SRT i RTMP z tego samego streamu?
Tak, jeśli twoje narzędzie obsługuje wiele wyjść. Usługa w chmurze może jednocześnie dostarczać RTMP na publiczne platformy i SRT do prywatnego odbiorcy, bez dodatkowego uploadu z twojego łącza. Każdy cel nadal potrzebuje własnych, poprawnych danych.


