Co to jest RTMP?
* Cel: RTMP został pierwotnie zaprojektowany przez Adobe Systems do przesyłania strumieniowego dźwięku, wideo i danych przez Internet między serwerem a flashem.
* jak to działa: RTMP to protokół oparty na TCP, co oznacza, że zapewnia wiarygodne, uporządkowane dostarczanie danych. Wykorzystuje trwałe połączenie, zmniejszając koszty ogólne w porównaniu z protokołami, które ustanawiają nowe połączenie dla każdego żądania.
* Kluczowe funkcje:
* niskie opóźnienie: RTMP został zaprojektowany do strumieniowania o niskim opóźnieniu, kluczowym dla interaktywnych aplikacji.
* Multipleksing: Może multipleksować wiele strumieni (audio, wideo, dane) przez jedno połączenie.
* Udanie: Ma proces uścisku dłoni w celu ustalenia niezawodnego połączenia.
* Publikowanie i odtwarzanie: Definiuje mechanizmy publikowania strumieni na serwerze (np. Z enkodera) i odtwarzania strumieni z serwera (np. W Flash Player).
Rola RTMP w transmisji na żywo
1. Ingest (Publishing): RTMP był * * dominującym protokołem uzyskania transmisji na żywo z enkodera (np. Studio PES, wirecast, enkodery sprzętowe) * do * serwera strumieniowego lub platformy (np. YouTube, Facebook Live, Twitch, niestandardowe serwery strumieniowe). Nazywa się to „RTMP Ingest” lub „RTMP Publishing”.
2. dystrybucja (odtwarzanie): W przeszłości RTMP był również głównym protokołem * dostarczania * strumienia do graczy Flash. Jest to jednak obecnie w dużej mierze przestarzałe (więcej na ten temat poniżej).
Dlaczego RTMP jest mniej powszechne do odtwarzania dzisiaj
* Demise od gracza flash: Głównym powodem jest upadek i ostateczne zakończenie życia gracza Adobe Flash. RTMP był ściśle sprzężony z Flashem. Nowoczesne przeglądarki i urządzenia domyślnie nie obsługują Flash (lub w ogóle).
* Lepsze alternatywy: Protokoły takie jak HLS (streaming na żywo HTTP) i DASH (Dynamic Adaptive Streaming nad HTTP) stały się znacznie bardziej popularne do odtwarzania. Są one oparte na HTTP, bardziej przyjazne dla zapory i oferują adaptacyjne transmisję transmisji transmisji transmisji transmisji (dostosowanie jakości wideo w oparciu o połączenie internetowe widza).
Warianty RTMP
* rtmp: Podstawowy protokół oparty na TCP. Domyślnie używa portu 1935. Podatne na problemy z zaporą ogniową.
* rtmps: RTMP przez SSL/TLS. Zaszyfrowana wersja RTMP, co czyni ją bezpieczniejszą. Używa portu 443, często tego samego portu używanego przez HTTPS, który pomaga w przemieszczaniu się zapory.
* rtmpe: RTMP z szyfrowaniem (ale nie SSL/TLS). Mniej powszechne niż RTMPS.
* rtmpt: RTMP tunelowane przez HTTP. Używane, gdy bezpośrednie połączenia RTMP są blokowane przez zapory ogniowe. Cięższy i mniej wydajny.
Obecne użycie RTMP
* Polej nadal istotne: Pomimo upadku odtwarzania, RTMP (szczególnie RTMP) jest nadal szeroko stosowany do *połowów *. Wiele platform i usług przesyłania strumieniowego nadal akceptuje RTMP jako sposób na otrzymanie początkowego transmisji na żywo z enkodera. To dobrze ugruntowana i niezawodna metoda.
* transkodowanie i dystrybucja: Platforma przesyłania strumieniowego zwykle * przenosi * strumień RTMP do innych formatów (np. HLS, Dash) w celu dystrybucji dla widzów na różnych urządzeniach i przeglądarkach.
Inne ważne protokoły transmisji na żywo
* hls (streaming na żywo HTTP): Opracowany przez Apple. Oparty na HTTP adaptacyjny protokół transmisji transmisji transmisji transmisji transmisji. Dzieli strumień na małe segmenty (zwykle 10 sekund). Bardzo szeroko obsługiwane na iOS, Android, przeglądarce stacjonarne i inteligentne telewizory. De facto standard odtwarzania. Może cierpieć z powodu wyższego opóźnienia (często 15-30 sekund) w porównaniu z innymi opcjami, ale pojawiają się warianty o niskiej opóźnieniu.
* Dash (dynamiczne adaptacyjne przesyłanie strumieniowe przez HTTP): Otwarty standard podobny do HLS. Również adaptacyjny protokół transmisji transmisji transmisji transmisji transmisji transmisji transmisji. Powszechnie wspierane, ale HLS ma ogólnie większy udział w rynku.
* WEBRTC (Web Communication w czasie rzeczywistym): Protokół komunikacji peer-to-peer w czasie rzeczywistym w przeglądarkach internetowych. Obsługuje bardzo niskie przesyłanie strumieniowe opóźnienia (podsekwent). Bardziej złożone do konfiguracji i skali niż HLS lub Dash. Powszechnie używane do interaktywnych strumieni, wideokonferencji i aplikacji w czasie rzeczywistym. Wymaga selektywnej jednostki przekazywania (SFU) dla strumieni wielopartyjnych.
* srt (bezpieczny niezawodny transport): Protokół transportu typu open source, który optymalizuje wydajność przesyłania strumieniowego nad nieprzewidywalnymi sieciami. Koncentruje się na korekcie błędów i niezawodności. Może być stosowany jako alternatywa dla RTMP do spożycia. Coraz bardziej popularny ze względu na swoją solidność.
* ndi (interfejs urządzenia sieciowego): Protokół wideo-over-IP opracowany przez NewTek. Służone przede wszystkim do profesjonalnych środowisk produkcyjnych wideo w sieciach lokalnych (LANS). Pozwala na transmisję wideo i transmisji wideo o niskiej opóźnieniu i audio między urządzeniami w tej samej sieci. Zazwyczaj używane bezpośrednio do Internetu na żywo na żywo, ale można go użyć do uzyskania sygnału wideo do enkodera RTMP.
* CMAF (format aplikacji Common Media): Format kontenera zaprojektowany w celu zmniejszenia złożoności dostarczania mediów online poprzez standaryzację kodowania wideo i audio, segmentacji i szyfrowania w różnych protokołach strumieniowych, takich jak HLS i DASH. Umożliwia użycie jednego zestawu zakodowanych plików multimedialnych zarówno dla HLS, jak i DASH, upraszczając przepływy pracy i zmniejszając potrzeby przechowywania.
Kluczowe rozważania przy wyborze protokołu
* opóźnienie: Jak szybko strumień musi dotrzeć do widza? (WEBRTC jest najniższy, potem SRT, a następnie RTMP, a następnie HLS/Dash ogólnie)
* Skalowalność: Ilu widzów będziesz miał? (HLS/Dash są najlepsze dla dużej publiczności)
* Kompatybilność: Jakie urządzenia i przeglądarki potrzebujesz do obsługi? (HLS/Dash są bardzo szeroko obsługiwane)
* niezawodność: Jak ważne jest, aby strumień nie spadł ani nie ma błędów? (SRT jest przeznaczony dla niewiarygodnych sieci)
* bezpieczeństwo: Jest potrzebne szyfrowanie? (RTMPS zapewnia szyfrowanie)
* Zapora życzliwość: (Protokoły oparte na HTTP, takie jak HLS i DASH, są ogólnie najbardziej przyjazne dla zapory)
* Złożoność: Jak łatwy jest protokół do konfigurowania i zarządzania? (RTMP jest stosunkowo prosty w przypadku spożycia, HLS/Dash ma bardziej dojrzałe ekosystemy)
* transmisja transmisja: Przesyłanie transmisji transmisji wideo są kluczem do jakości wideo. Lower Bandrate stworzy pikselowanie i zmniejszy jakość wideo. Wyższe transmisja transmisji może zwiększyć opóźnienie i trudniej jest przesyłać strumieniowo przez bezprzewodowe.
w podsumowaniu:
* RTMP jest nadal istotny dla * Engest * (przenoszenie strumienia do serwera).
* HLS i Dash są dominującymi protokołami * odtwarzania * (dostarczanie strumienia do widzów).
* WEBRTC jest używany do bardzo nisko opóźnienia, interaktywne strumienie.
* SRT zapewnia niezawodne przesyłanie strumieniowe w związku z niewiarygodnymi sieciami.
* Wybierz odpowiedni protokół na podstawie swoich konkretnych potrzeb.
Warto również zauważyć, że krajobraz stale się rozwija, z pojawiającymi się nowymi protokołami i technologiami. Bądź na bieżąco z najnowszymi osiągnięciami na żywo na żywo w celu podejmowania świadomych decyzji.