REC

Wskazówki dotyczące nagrywania, produkcji, edycji wideo i konserwacji sprzętu.

 WTVID >> Przewodnik po produkcji wideo >  >> Wideo >> Transmisja na Żywo

Wyjaśnienie RTMP:obszerny przewodnik po transmisji strumieniowej w czasie rzeczywistym

Wyjaśnienie RTMP:obszerny przewodnik po transmisji strumieniowej w czasie rzeczywistym

Protokół przesyłania wiadomości w czasie rzeczywistym (RTMP) to szeroko stosowany format przesyłania strumieniowego. Jest dostępny na rynku od wielu lat i stał się niezbędnym narzędziem dla nadawców, operatorów sieci i wielu innych branż. Jednak pewne błędne przekonania na temat protokołu RTMP sprawiły, że stał się on mniej popularny, niż mógłby być.

Ale czym dokładnie jest RTMP? Jak to działa? Czy powinieneś używać go podczas następnej transmisji na żywo?

Dowiedz się o tym i więcej poniżej.

Co to jest RTMP?

RTMP to protokół sieciowy lub system używany do strumieniowego przesyłania treści multimedialnych przez Internet w oparciu o technologię protokołu TCP (Transmission Control Protocol). 

TCP jest jednym ze składników zestawu protokołów internetowych. Drugim ważnym elementem jest protokół internetowy, nazywany także IP.

RTMP to protokół sieciowy lub system używany do strumieniowego przesyłania treści multimedialnych przez Internet.

Razem protokoły TCP i IP działają jako mosty komunikacyjne pomiędzy warstwami aplikacji i sieci. Pomyśl o tym w ten sposób; warstwa aplikacji obejmuje to, z czym zwykle wchodzisz w interakcję, np. przeglądarkę Mozilla Firefox lub dowolną inną aplikację użytkownika. 

Aby przeglądarka Firefox mogła załadować stronę internetową, musi wysłać żądanie do serwera witryny. Po otrzymaniu żądania serwer wysyła żądany zasób (tj. strumień wideo, wideo nagrane wcześniej w serwisie YouTube lub kod HTML strony internetowej).

Aby utrzymać skuteczną komunikację (tj. uniknąć upuszczenia lub opóźnienia korespondencji), wiadomość należy rozłożyć na mniejsze części zwane pakietami. Odbywa się to po stronie nadawcy, a po odebraniu wiadomości jest ona ponownie składana dla użytkownika.

TCP to komponent zajmujący się podziałem wiadomości na pakiety lub mniejsze części, które można przesyłać skutecznie i wydajnie.

Warstwa IP pełni rolę agenta przekazującego, który określa najlepsze trasy przesyłania pakietów przez Internet. 

Protokół RTMP jest używany przez wiele popularnych odtwarzaczy multimedialnych, w tym Adobe Flash Player, VLC Media Player, QuickTime Player i Windows Media Player. RTMP jest także obsługiwany przez niektóre przeglądarki internetowe, w tym Google Chrome i Mozilla Firefox.

Główną troską większości użytkowników korzystających z rozwiązania do przesyłania strumieniowego jest sposób dostarczania treści. Jeśli jakość rozdzielczości przesyłania strumieniowego jest niska, dla większości konsumentów będzie to przełomem. Podobnie rozwiązanie do przesyłania strumieniowego z dużymi opóźnieniami i buforami lub ładowaniem zbyt długo przed odtworzeniem treści nie sprawdzi się dobrze.

Tutaj RTMP błyszczy. Od momentu opracowania protokół RTMP gwarantuje niskie opóźnienia, minimalne buforowanie i jedną z najlepszych rozdzielczości przesyłania strumieniowego, pod warunkiem, że połączenie sieciowe jest mocne i wystarczająco szybkie.

Kolejną zaletą protokołu RTMP jest możliwość jednoczesnej obsługi masowego przesyłania strumieniowego bez większych problemów.

Jednak mimo że protokół RTMP istnieje już od wielu lat, został ostatnio poddany wzmożonej kontroli, ponieważ system jest niebezpieczny dla użytkowników. 

Oto jak powstają luki w zabezpieczeniach:

Po pierwsze, protokół RTMP nie ma wbudowanego żadnego szyfrowania. Dlatego wszelka komunikacja lub transfer pakietów podczas korzystania z protokołu RTMP jest narażony na podsłuchiwanie przez nieautoryzowane grupy lub ataki typu man-in-the-middle.

Innym czynnikiem, który przyczynił się do powstania luki w zabezpieczeniach RTMP, jest to, że jego kod źródłowy był przez długi czas zastrzeżony. Oprogramowanie zastrzeżone (tj. oprogramowanie, którego prawa własności i kontroli są ograniczone do podmiotu, który je opracował lub kupił) zazwyczaj otrzymuje regularnie pojawiające się poprawki zabezpieczeń, ale to nie wystarczy.

Często pojawiają się nowe luki, a społeczność zbudowana wokół oprogramowania typu open source gwarantuje stosunkowo częstsze i lepsze łatki bezpieczeństwa. Właśnie tego pominęło RTMP, aby poprawić swój poziom bezpieczeństwa.

Odmiany RTMP

Odmiany protokołu RTMP obejmują:

  • Serwer protokołu przesyłania wiadomości w czasie rzeczywistym (RTMPS) – jest całkiem podobny do RTMP, tylko że ma szyfrowanie, tj. włączoną warstwę Secure Sockets Layer (SSL) i Transport Layer Security (TLS) i obsługuje wszystkie odtwarzacze z włączonym Flash Playerem. Używa się go w scenariuszach, w których istotne jest zapobieganie manipulowaniu lub nieuprawnionemu dostępowi do przesyłanych danych.
  • Szyfrowany protokół przesyłania wiadomości w czasie rzeczywistym (RTMPE) – jest to bardzo wszechstronny protokół przesyłania strumieniowego, który do przesyłania danych wykorzystuje zarówno protokół kontroli transportu (TCP), jak i protokół datagramów użytkownika (UDP). RTMPE szyfruje również wszystkie transmisje danych przy użyciu zastrzeżonego szyfrowania firmy Adobe, aby uniknąć nieautoryzowanego dostępu i manipulacji.
  • Tunel protokołu przesyłania wiadomości w czasie rzeczywistym (RTMPT) – RTMPT wykorzystuje mechanizm tunelowania w celu ominięcia zapór sieciowych, które zazwyczaj blokują cały ruch RTMP. W praktyce RTMPT wymaga od klienta wysłania zmodyfikowanego żądania HTTP do serwera, który odpowiada niemal podobną transmisją HTTP. Klient i serwer używają identyfikatora sesji; po nawiązaniu połączenia może rozpocząć się transmisja danych między nimi.
  • Protokół przepływu multimediów w czasie rzeczywistym (RTMFP) – RTMFP to udoskonalona wersja RTMP, ponieważ wykorzystuje inny format kodowania UDP, aby zapewnić wysoką wydajność strumieniowego przesyłania multimediów.

Historia transmisji strumieniowej RTMP

Protokół przesyłania wiadomości w czasie rzeczywistym (RTMP) był początkowo zastrzeżonym protokołem opracowanym przez firmę Macromedia do przesyłania strumieniowego audio, wideo i danych przez Internet pomiędzy odtwarzaczem Flash a serwerem.

Protokół RTMP jest obecnie używany w wielu popularnych serwisach internetowych, takich jak Facebook, Twitch i Twitter, do przesyłania strumieniowego wideo na żywo.

Pierwsza publiczna wersja protokołu RTMP miała miejsce w 2002 r. W 2009 r. firma Adobe udostępniła wersję RTMP o otwartej specyfikacji, znaną jako OpenRTMP. Główna różnica między RTMP i OpenRTMP polega na tym, że w przypadku OpenRTMP można używać dowolnego serwera multimediów, a nie tylko serwera Flash Media Server (FMS).

Otwarta specyfikacja RTMP zapewnia również większą elastyczność w zakresie sposobu, w jaki programiści mogą zabezpieczać lub konfigurować funkcjonalność peer-to-peer. Ma to na celu zachęcanie do innowacji i współpracy poprzez konkurencję i otwarty dostęp wśród programistów w celu opracowania idealnego rozwiązania RTMP.

Główna zasada

Do dostarczania treści RTMP wykorzystuje technikę zwaną „streamingiem”. Oznacza to, że dane są przesyłane w małych fragmentach zwanych „porcjami”. Fragmenty są ponownie składane na drugim końcu, dzięki czemu użytkownik może oglądać lub słuchać treści bez czekania na jej całkowite pobranie.

Na działanie RTMP składają się dwie części:Dostawa do pierwszej i ostatniej mili.

Dostawa „pierwszej mili” zazwyczaj obejmuje przesyłanie multimediów z kodera do serwera przy użyciu protokołu RTMP. Dostawa ostatniej mili oznacza przesyłanie multimediów z serwera na urządzenie użytkownika. W drugiej części używany jest odtwarzacz Flash lub inne narzędzie o podobnych możliwościach. Istnieją doniesienia, że ​​Adobe rezygnuje ze wsparcia dla Flasha; w konsekwencji oznacza to koniec dostaw „ostatniej mili”.

W odpowiedzi branża przyjęła protokół HTTP (Hypertext Transfer Protocol), bardziej wydajne rozwiązanie do przesyłania strumieniowego.

Odmiany RTMP, takie jak RTMPT, obecnie wykorzystują protokół HTTP do enkapsulacji i przesyłania multimediów.

Jak działa pozyskiwanie protokołu RTMP

Jest to prawdopodobnie jedna z wybawień RTMP, która utrzymuje ją tak długo. W miarę odchodzenia świata od oglądania multimediów na komputerach na rzecz przeglądania na urządzeniach mobilnych, RTMP stanęło przed wyzwaniem.

Po pierwsze, firma RTMP korzystała z odtwarzacza Adobe Flash, aby zapewnić płynne przesyłanie strumieniowe, ale wystąpił niewielki problem. Urządzenia mobilne nie obsługiwały odtwarzacza Adobe Flash; zasadniczo RTMP stał się bezużyteczny dla użytkowników, którzy chcieli tych samych usług przesyłania strumieniowego na swoich urządzeniach mobilnych.

W odpowiedzi Apple opracowało protokół HLS do obsługi funkcji przesyłania strumieniowego na urządzeniach mobilnych.

Rozsądnie można było oczekiwać, że RTMP stanie się przestarzały. Na szczęście przetrwał wraz z przetwarzaniem RTMP, tworząc swoją niszę jako idealny protokół do transportu multimediów z kodera na serwer.

Pozyskiwanie protokołu RTMP nadaje priorytet działaniu niedrogich koderów i ogólnie zapewnia użytkownikom przesyłanie strumieniowe z niskimi opóźnieniami.

Obejmuje trzy główne elementy:

1. Uścisk dłoni

Gdy klient chce połączyć się z serwerem RTMP, musi najpierw ustanowić uzgadnianie. Proces ten rozpoczyna się od wysłania przez klienta do serwera żądania „połączenia”, które zawiera informacje o kliencie i typie połączenia, które próbuje nawiązać.

Następnie serwer odpowiada komunikatem „połączono”, który zawiera informacje o serwerze i typie nawiązanego połączenia.

Na koniec klient i serwer wymieniają komunikaty, aby potwierdzić, że nadal są połączeni, i negocjować wszelkie parametry potrzebne do połączenia.

2. Połączenie

Głównym celem połączenia pozyskiwania RTMP jest zapewnienie możliwości strumieniowego przesyłania treści multimedialnych ze źródła do miejsca docelowego.

Źródłem multimediów może być obraz na żywo z kamery, nagrane wcześniej wideo, audio lub inne multimedia. Miejscem docelowym jest zazwyczaj serwer multimediów strumieniowych, który dystrybuuje treść do widzów.

Połączenie pozyskiwania RTMP składa się z trzech komponentów:

  • Koder konwertuje sygnał wideo i audio na format cyfrowy, który można przesyłać przez Internet.
  • Transport:jest to medium, za pomocą którego zakodowany sygnał jest wysyłany z kodera do serwera; zazwyczaj odbywa się to poprzez UDP lub TCP.
  • Serwer odbiera zakodowany sygnał i udostępnia go widzom (zwykle pakując go w formacie takim jak Flash).

3. Transmisja

Gdy użytkownik przesyła strumieniowo zawartość do serwera multimediów, serwer musi najpierw zakodować przychodzący sygnał wideo i audio przed wysłaniem go do wszystkich podłączonych klientów.

Proces kodowania i ponownego formatowania wideo i audio do standardowego formatu pliku nazywa się transkodowaniem. Polega na konwersji sygnału wejściowego do postaci, którą można odtwarzać na różnych urządzeniach.

Więcej o transmisji strumieniowej Istnieją dwa rodzaje transmisji strumieniowej:na żywo i na żądanie. Transmisja strumieniowa na żywo oznacza nadawanie w czasie rzeczywistym, natomiast transmisja strumieniowa na żądanie umożliwia użytkownikom wygodne oglądanie treści.

Transmisja na żywo wymaga stałego połączenia między klientem a serwerem, w przeciwieństwie do transmisji strumieniowej na żądanie.

Protokół RTMP wykorzystuje protokół TCP do utrzymywania trwałego połączenia między klientem a serwerem, umożliwiając przesyłanie strumieniowe z niskimi opóźnieniami. Jednak protokół RTMP nie nadaje się dobrze do przesyłania strumieniowego na żądanie.

Alternatywy RTMP dla przetwarzania

SRT i WebRTC to główni pretendenci, którzy mogą dorównać lub przekroczyć możliwości RTMP. Oto krótki podgląd dwóch alternatyw:

Bezpieczny i niezawodny transport (SRT)

SRT wypełnia luki, z którymi nie mógł sobie poradzić RTMP, takie jak utrzymywanie transmisji strumieniowej z niskim opóźnieniem, nawet gdy użytkownik jest podłączony do stosunkowo zawodnej sieci. To sprawia, że jest to doskonały wybór zarówno do transmisji strumieniowych na żywo, jak i na żądanie.

Ponieważ jest to oprogramowanie typu open source, ograniczenia jego możliwości są nieskończone i nie ma obaw, że wsparcie rozwojowe zostanie wycofane.

Komunikacja internetowa w czasie rzeczywistym (WebRTC)

WebRTC wygrywa dzięki publikowaniu w przeglądarce. Trwają również prace nad protokołem WebRTC HTTP Ingest Protocol (WHIP), co dla użytkowników oznacza to, że będą mogli przesyłać strumieniowo tylko za pomocą przeglądarki internetowej, zamiast zawracać sobie głowę koderami, jak w przypadku RTMP.

Alternatywy RTMP dla wyjścia

Na szczycie listy alternatywnych rozwiązań wychodzących RTMP znajdują się przesyłanie strumieniowe na żywo HTTP (HLS), MPEG-DASH i WebRTC.

Oto krótki podgląd alternatyw:

HLS i MPEG-DASH

Te dwa są praktycznie takie same, z tą tylko różnicą, że HLS jest zastrzeżony, a MPEG-DASH jest oprogramowaniem typu open source.

Najlepsze w tych dwóch rozwiązaniach jest to, że zostały zaprojektowane z myślą o zapewnieniu małych opóźnień i optymalnej jakości multimediów, a nawet pracy z zawodnymi połączeniami sieciowymi.

WebRTC jest także godną uwagi alternatywą dla rozwiązań wychodzących RTMP.

Czy RTMP i Flash umierają?

Krótka odpowiedź brzmi:prawdopodobnie nie. Długa odpowiedź jest nieco bardziej skomplikowana.

Stały wzrost popularności HTML5 i rozprzestrzenianie się wydajnych alternatyw Flasha może sprawiać wrażenie, że RTMP i Flash umierają. Ale tak nie jest.

Od jakiegoś czasu Flash znajduje się w trendzie spadkowym, w ostatnich latach tracąc znaczący udział w rynku na rzecz HTML5, a jego niegdyś dominująca pozycja w świecie wideo jest obecnie stale zagrożona.

Niemniej jednak nadal jest on obecny w Internecie i jest używany przez wiele popularnych witryn, w tym YouTube i Facebook.

Jeśli chodzi o protokół RTMP, jest on nadal szeroko stosowany do strumieniowego przesyłania treści audio i wideo. Jednak jego przyszłość jest mniej pewna niż Flasha.

Firma Adobe ogłosiła, że w 2020 r. przestanie wspierać protokół RTMP, co może oznaczać koniec tego protokołu. Niemniej jednak istnieje wiele alternatyw opartych na RTMP, więc prawdopodobnie będzie on nadal używany w takiej czy innej formie przez nadchodzące lata.

Czy warto przesyłać strumieniowo przy użyciu protokołu RTMP?

To zależy. Przyjrzyj się niektórym zaletom i wadom korzystania z protokołu RTMP.

Zalety

  • Jest bardzo stabilny. W porównaniu z innymi alternatywami dostępnymi na rynku jest bardzo mało prawdopodobne, aby podczas korzystania z usługi obsługującej protokół RTMP wystąpiły jakiekolwiek zakłócenia lub przestoje.
  • Niskie opóźnienia i minimalne buforowanie. Protokół RTMP jest pod tym względem wyjątkowy, co oznacza, że użytkownicy mogą oglądać filmy w lepszej rozdzielczości, a ładowanie multimediów zajmie znacznie mniej.
  • Zgodność. Solidny i niezawodny charakter RTMPS zachęcił więcej producentów do projektowania swoich produktów tak, aby można je było łatwo zintegrować z RTMP

Wady

  • RTMP wymaga stałego połączenia między klientem a serwerem, co może być problematyczne w przypadku zakłóceń w sieci
  • Jako oprogramowanie zastrzeżone, użytkownicy zaawansowani mają niewielką elastyczność.

Często zadawane pytania

Jak używać Wave.video do przesyłania strumieniowego przez RTMP?

Jeśli chcesz przesyłać strumieniowo wideo przez RTMP, Wave.video jest świetną opcją. Oto jak z niego korzystać:

  1. Utwórz konto w Wave.video i zaloguj się, jeśli jeszcze tego nie zrobiłeś.
  2. Wybierz film, który chcesz przesyłać strumieniowo.
  3. Przejdź do strony „Miejsca docelowe” w serwisie Wave.video i kliknij „Niestandardowy RTMP” Wyjaśnienie RTMP:obszerny przewodnik po transmisji strumieniowej w czasie rzeczywistym
  4. Następnie musisz znaleźć adres URL serwera i klucz strumienia treści, które chcesz przesyłać strumieniowo. Aby to zrobić, przejdź do witryny zawierającej strumień, który chcesz obejrzeć.
  5. Jeśli nie wiesz, jak się do tego zabrać, możesz użyć aplikacji lub rozszerzenia innej firmy, aby wyodrębnić adres URL i klucz.
  6. Skopiuj adres URL serwera i klucz strumienia.
  7. Wklej adres URL serwera i klucz strumienia do Wave.video. Wyjaśnienie RTMP:obszerny przewodnik po transmisji strumieniowej w czasie rzeczywistym
  8. Utwórz lub zaplanuj transmisję.
  9. Otwórz studio na żywo i rozpocznij transmisję strumieniową.

To wszystko, szybko i łatwo!

Które kodery obsługują RTMP?

Istnieje wiele sprzętu i oprogramowania kodera obsługującego protokół RTMP. Niektóre z nich obejmują:

  • Adobe Media Encoder
  • Studio OBS
  • Serwer Elemental
  • Trójkaster
  • Transmisja przewodowa
  • vMiks
  • TeraDek
  • Silnik strumieniowy Wowza
  • Film dotyczący Niagary

RTMP kontra RTSP – co jest lepsze?

RTMP i RTSP to protokoły służące do przesyłania strumieniowego audio, wideo i danych przez Internet. Są podobne pod wieloma względami, ale pewne kluczowe różnice sprawiają, że idealnie nadają się do różnych sytuacji i preferencji.

Oto krótkie podsumowanie kluczowych różnic między nimi:

  • RTMP jest lepszy w przypadku transmisji na żywo, a RTSP jest lepszy w przypadku transmisji na żądanie.
  • RTMP ma mniejsze opóźnienia, podczas gdy RTSP może zapewnić wyższą jakość wideo.
  • RTMP wymaga serwera Flash Media Server, natomiast RTSP może współpracować z dowolnym serwerem multimediów.

Który protokół jest lepszy? Wszystko zależy od Twoich konkretnych potrzeb.

RTMP to dobry wybór, jeśli potrzebujesz małych opóźnień i nie masz nic przeciwko korzystaniu z Flasha. RTSP może być idealnym rozwiązaniem, jeśli potrzebujesz wideo wysokiej jakości lub chcesz korzystać z serwera multimediów innego niż Flash.

Co to jest format komunikatu o działaniu (AMF)?

AMF to format binarny służący do kodowania i przesyłania danych przez Internet, często używany w połączeniu z protokołem RTMP.

AMF umożliwia przesyłanie danych niezgodnych z protokołem RTMP, np. obiektów ActionScript. Umożliwia także wydajną wymianę danych pomiędzy aplikacjami Flash i serwerami.

Co to jest adres URL RTMP i jak go uzyskać z Facebooka lub YouTube?

Adres URL RTMP to unikalny identyfikator używany do strumieniowego przesyłania treści wideo na żywo na różne platformy.

Zwykle zawiera adres IP, nazwę domeny i numer portu.

Aby pobrać wydarzenie z YouTube lub Facebooka, musisz utworzyć wydarzenie transmitowane na żywo na dowolnej platformie. Gdy to zrobisz, będziesz mógł znaleźć adres URL RTMP w ustawieniach wydarzenia.

Przemyślenia końcowe

RTMP niewątpliwie odcisnęło swoje piętno na świecie. Czy jest już na wylocie? Jako rozwiązanie wyjściowe prawdopodobnie nie należy w ogóle przyjmować!

Nawet gdy pojawią się inne, równie lub bardziej wydajne alternatywy, RTMP pozostanie istotny w transmisji i transmisji strumieniowej multimediów.

Dołącz do naszego newslettera — to nic nie kosztuje!

Publikujemy tylko dobre rzeczy


  1. 5 lekcji transmisji na żywo od kultowych marek:jak najlepsze marki efektywnie wykorzystują transmisję na żywo (+ustawienia!)

  2. Przewodnik po transmisji na żywo w kościele – naucz się łatwo transmitować nabożeństwa kościelne na żywo

  3. Jak transmitować na żywo dla początkujących

  4. Jak streamować na Facebooku

  5. Jak transmitować na żywo:przewodnik przetrwania dla początkujących

Transmisja na Żywo
  1. Jak zacierać tło portretu za pomocą magnetycznego narzędzia Lasso w Photoshopie

  2. Popraw współczynniki klikalności CTA wideo, używając właściwych słów

  3. Jak robić super makro zdjęcia

  4. 5 najlepszych programów do wsadowego przesyłania zdjęć ze znakami wodnymi dla systemów Windows i Mac

  5. Jak zbudować ławkę rekwizyt na świetne zdjęcia portretowe

  6. Jak zatrudnić edytora wideo!

  7. Jak zrobić unikalne portrety za pomocą malowania lekkiego