Przejdź do treści
Callaba

Przewodnik SRT Player: odbierz, sprawdź i oglądaj strumień SRT

Na tej stronie

Aby obejrzeć strumień SRT, sprawdź połączenie i media

Użyj natywnego odtwarzacza, gdy musisz zobaczyć sam sygnał kontrybucyjny. Odtwarzania w przeglądarce używaj dopiero wtedy, gdy sygnał został przekształcony w wyjście zgodne z przeglądarką. W obu przypadkach udane połączenie SRT i odtwarzalny obraz to osobne wyniki: tryb, host, port UDP, opóźnienie, Stream ID i hasło otwierają sesję; kontener, ścieżki, znaczniki czasu i kodeki decydują, czy zostanie zdekodowana.

Jeśli zadanie polega na utworzeniu, zabezpieczeniu lub obsłudze punktu odbiorczego, przejdź do Callaba SRT Server. Ten przewodnik zaczyna się od odbiornika.

Demo odtwarzacza SRT na żywo

Przetestuj połączenie odtwarzacza SRT

Utwórz tymczasowe połączenie na jedną godzinę. Wyślij strumień SRT na adres nadawcy w trybie Caller, z pustym Stream ID. Po połączeniu nadawcy obejrzyj go poniżej w Multiview albo połącz natywny odtwarzacz z adresem odbiorcy w trybie Caller.

Gotowe do utworzenia

Wybierz odtwarzacz odpowiadający zadaniu

ffplay to szybka kontrola w wierszu poleceń, gdy zainstalowany build FFmpeg zawiera SRT. OBS Media Source przydaje się, gdy potrzebujesz podglądu graficznego i możesz ustawić szczegóły wejścia SRT. VLC może być przydatny do lokalnego podglądu, jeśli zainstalowana wersja obsługuje wymagany tryb SRT; sprawdź aktualną dokumentację aplikacji i przetestuj dokładny build. Żaden z tych wyborów nie czyni nieznanego payloadu dekodowalnym.

Demonstracja powyżej tworzy jednogodzinną parę SRT Callaba. Po połączeniu przychodzącego nadawcy tworzy podgląd Multiview. Użyj podanych wartości, aby przetestować parę i sprawdzić wynikowy obraz oraz dźwięk. To rzeczywista, tymczasowa ścieżka Callaba, a nie odtwarzacz dowolnych zewnętrznych adresów URL SRT.

Najpierw wypróbuj ffplay

Jeśli odbiornik wywołuje znany listener, zastąp symbole zastępcze punktem końcowym, którego możesz użyć:

Command
ffplay "srt://LISTENER_HOST:PORT?mode=caller"

Jeśli odbiornik oczekuje na caller:

Command
ffplay "srt://0.0.0.0:PORT?mode=listener"

Nie wklejaj hasła do zgłoszeń, czatu ani historii powłoki, której nie kontrolujesz. FFmpeg dokumentuje opcje URL SRT; OBS dokumentuje przepływ pracy dla wejścia SRT.

Dopasuj Caller i Listener, zanim zmienisz ustawienia odtwarzacza

Typowy układ jest prosty: Listener czeka na porcie UDP, a Caller łączy się z jego dostępnym adresem. Zapisz obie role, zweryfikuj host i port z sieci nadawcy, a potem uruchom odtwarzacz. Dwaj Listenerzy czekają; Callera skierowanego pod niedostępny adres nie naprawi ustawienie kodeka. Rendezvous to osobna konfiguracja, którą muszą obsługiwać oba punkty końcowe.

Gdy szyfrowanie jest włączone, użyj tego samego hasła i zgodnych ustawień klucza po obu stronach. Jeżeli usługa używa Stream ID do wyboru strumienia, zachowaj jego składnię i kodowanie znaków. Traktuj oba elementy jako dane połączenia: nie umieszczaj sekretów na zrzutach ekranu ani w raportach i porównaj odrzuconą sesję z dostępnymi logami punktu końcowego.

Ustaw opóźnienie dla odzyskiwania danych, nie dla wyglądu

Opóźnienie SRT daje spóźnionym pakietom i retransmisjom czas na dotarcie. Nie jest całym opóźnieniem od obrazu do obrazu; własne opóźnienie dodają kodowanie, bufory dekodera, pakietowanie i bufory widza. Zacznij od zmierzonej trasy, potem porównaj warunki czyste i zakłócone, obserwując straty, retransmisje, dropy i ciągłość dekodowania.

W adresach URL SRT w stylu FFmpeg latency=200000 oznacza 200 ms, ponieważ wartość jest podana w mikrosekundach. To tylko przykład. Zapisz efektywną wartość na obu końcach i dostrój ją do rzeczywistej ścieżki kontrybucji.

Sprawdź payload, gdy sesja SRT działa, lecz odtwarzanie nie

SRT przenosi pakiety, a nie gwarancję dotyczącą kodeka wideo, kodeka audio ani kontenera. MPEG-TS jest powszechny w kontrybucji, ale nadal potrzebuje prawidłowych informacji o programie, znaczników czasu i strumieni, które wybrany odtwarzacz potrafi zdekodować. Sprawdź ten sam punkt końcowy przed kolejną zmianą opóźnienia:

Command
ffprobe -v error -show_format -show_streams "srt://LISTENER_HOST:PORT?mode=caller"

Sprawdź kontener, kodeki wideo i audio, profile, ścieżki oraz znaczniki czasu. Porównaj te dane z udokumentowaną obsługą odtwarzacza.

Gdy bitrate jest obecny, ale ekran pozostaje czarny

Co widziszCo sprawdzić dalej
Brak połączeniaRole, dostępny host, port UDP, zapora i dane dostępu.
Połączono, brak obrazu lub audioUruchom probe; sprawdź informacje o programie, kodeki, ścieżki i znaczniki czasu.
Obraz przerywa przy stratachPorównaj pomiary trasy i opóźnienie odzyskiwania danych przed zmianą odtwarzacza.

To rozdzielenie zapobiega przekształceniu problemu z payloadem w niekończącą się sekwencję zmian połączenia.

Do kontrybucji używaj natywnego SRT; dla widzów użyj wyjścia przeglądarkowego

Standardowe elementy multimedialne przeglądarki nie otwierają natywnie adresu URL srt://. Najpierw odbierz kontrybucję, potem opublikuj wyjście zgodne z przeglądarką i przetestuj je na urządzeniu oraz w sieci, które będą oglądać transmisję. Użyj Multiview jako wspólnego widoku kontrolnego dla operatora oraz Web Player do dostarczania w przeglądarce.

Prowadź krótką, powtarzalną kontrolę odbiornika

  1. Zapisz role punktów końcowych, host, port, opóźnienie, zasady Stream ID i stan szyfrowania.
  2. Potwierdź, że rzeczywista sieć nadawcy może dotrzeć do odbiornika.
  3. Sprawdź transport w czystym przedziale i w warunku zakłócenia istotnym dla wydarzenia.
  4. Potwierdź zdekodowany obraz i dźwięk programu w zamierzonym odtwarzaczu.
  5. W planowanym teście uruchom ponownie jedną stronę i ponownie sprawdź końcowy widok operatora lub widza.

Szczegóły protokołu opisują dokumentacja SRT live-transmit oraz przewodnik Callaba po protokole SRT.

FAQ SRT Player

Czy przeglądarka może odtwarzać adres URL SRT bezpośrednio?

Nie za pomocą standardowego elementu multimedialnego HTML. Najpierw odbierz SRT i opublikuj wyjście zgodne z przeglądarką.

Dlaczego połączenie SRT może pokazywać bitrate bez obrazu?

Sesja może działać, choć odtwarzacz nie potrafi zdekodować kontenera, ścieżek, znaczników czasu lub profilu kodeka.

Czy odtwarzacz powinien używać trybu Caller czy Listener?

Użyj roli uzupełniającej uzgodnionego peera i jego dostępność sieciową.

Czy większe opóźnienie SRT zawsze naprawia utratę pakietów?

Nie. Daje retransmisjom więcej czasu, ale nie otworzy zablokowanego UDP, nie naprawi ciągłej utraty przepustowości ani nie zdekoduje nieobsługiwanego payloadu.

Kolejne kroki