close menu

Een complete gids voor RTMP: wat is het en wanneer te gebruiken?

Complete Guide To RTMP

Real-time messaging protocol (RTMP) is een veelgebruikt streamingformaat. Het bestaat al vele jaren en is uitgegroeid tot een essentieel hulpmiddel voor omroepen, netwerkexploitanten en vele andere industrieën. Door een aantal misvattingen over RTMP is het echter minder populair dan het zou kunnen zijn.

Maar wat is RTMP precies? Hoe werkt het? En moet je het gebruiken voor je volgende live stream?

Ontdek dit en meer hieronder.

Wat is RTMP?

RTMP is een netwerkprotocol of een systeem dat wordt gebruikt om media-inhoud over het internet te streamen op basis van TCP-technologie (Transmission Control Protocol).

TCP is een van de onderdelen van de internetprotocolsuite. De andere belangrijke component is het internetprotocol, ook wel IP genoemd.

RTMP is een netwerkprotocol of een systeem dat wordt gebruikt om media-inhoud over het internet te streamen.

TCP en IP fungeren samen als communicatiebruggen tussen de toepassings- en de netwerklaag. Bekijk het zo: de toepassingslaag omvat datgene waarmee u normaal gesproken in contact komt, zoals de Mozilla Firefox-browser of een andere gebruikerstoepassing.

Om uw Firefox-browser een webpagina te laten laden, moet deze een verzoek sturen naar de server van de website. Na ontvangst van het verzoek stuurt de server de gevraagde bron (d.w.z. een videostream, een vooraf opgenomen video op YouTube of Html-code voor de webpagina).

Om effectieve communicatie in stand te houden (d.w.z. te voorkomen dat de correspondentie wegvalt of vertraging oploopt), moet het bericht worden ontleed in kleinere stukjes, pakketten genaamd. Dit gebeurt aan de kant van de verzender, en zodra het bericht is ontvangen, wordt het opnieuw samengesteld voor de gebruiker.

TCP is de component die zich bezighoudt met het opsplitsen van het bericht in pakketten of kleinere stukken die effectief en efficiënt kunnen worden verzonden.

De IP-laag fungeert als doorstuurder die de beste routes bepaalt voor het verzenden van de pakketten over het internet.

Het RTMP-protocol wordt gebruikt door veel populaire mediaspelers, waaronder Adobe Flash Player, VLC Media Player, QuickTime Player en Windows Media Player. RTMP wordt ook ondersteund door sommige webbrowsers, waaronder Google Chrome en Mozilla Firefox.

De voornaamste zorg voor de meeste gebruikers van een streamingoplossing is hoe deze de inhoud levert. Als de kwaliteit van de streamingresolutie laag is, is dat voor de meeste consumenten een afknapper. Ook een streamingoplossing met een hoge latentie en te lange buffers of ladingen voordat de inhoud wordt afgespeeld, zal het niet goed doen.

Dit is waar RTMP schittert. Sinds zijn ontwikkeling staat RTMP garant voor een lage latentie, minimale buffering en een van de beste streamingresoluties, op voorwaarde dat de netwerkverbinding sterk en snel genoeg is.

Een ander voordeel van RTMP is de mogelijkheid om zonder grote problemen gelijktijdig massale streaming te ondersteunen.

Maar hoewel RTMP al vele jaren bestaat, is het de laatste tijd meer onder de loep genomen omdat het systeem onveilig is voor de gebruikers.

Dit is hoe het beveiligingslek ontstaat:

Ten eerste is in het RTMP-protocol geen encryptie ingebouwd. Daarom kan elke communicatie of pakketoverdracht bij gebruik van RTMP worden afgeluisterd door onbevoegde groepen of door man-in-the-middle-aanvallen.

Een andere factor die bijdroeg tot het beveiligingslek van RTMP is dat de broncode lange tijd propriëtair was. Propriëtaire software (d.w.z. software waarvan de eigendoms- en controlerechten beperkt zijn tot de entiteit die het heeft ontwikkeld of gekocht) ontvangt gewoonlijk regelmatig beveiligingspatches, maar dat is niet genoeg.

Nieuwe kwetsbaarheden duiken vaak op, en de gemeenschap rond open-source software garandeert relatief vaker en betere beveiligingspatches. Dit is wat RTMP miste om zijn beveiliging te verbeteren.

Probeer Wave.video live streaming

Robuust en gebruiksvriendelijk multi-streaming platform voor streamers van elk niveauProbeer nu

RTMP-varianten

De RTMP-varianten omvatten het volgende:

  • Real-Time Messaging Protocol Server (RTMPS) - lijkt veel op RTMP, maar heeft encryptie, d.w.z. secure sockets layer (SSL) en Transport Layer Security (TLS), en ondersteunt alle spelers met Flash Player. Het wordt gebruikt in scenario's waar het van vitaal belang is om knoeien met of ongeoorloofde toegang tot gegevens onderweg te voorkomen.
  • Encrypted Real-Time Messaging Protocol (RTMPE) - het is een zeer veelzijdig streaming protocol dat gebruik maakt van zowel Transport Control Protocol (TCP) als User Datagram Protocol (UDP) om gegevens te verzenden. RTMPE versleutelt ook alle gegevensoverdracht met behulp van Adobe's eigen encryptie om ongeoorloofde toegang en geknoei te voorkomen.
  • Real-Time Messaging Protocol Tunnel (RTMPT) - RTMPT gebruikt een tunnelmechanisme om firewalls teomzeilen die gewoonlijk alle RTMP-verkeer blokkeren. In de praktijk vereist RTMPT dat de client een gewijzigd HTTP-verzoek stuurt naar de server, die antwoordt met een vrijwel gelijke HTTP-overdracht. De client en de server gebruiken een sessie-ID; zodra een verbinding tot stand is gebracht, kan de gegevensoverdracht tussen beide beginnen.
  • Real-Time Media Flow Protocol (RTMFP) - RTMFP is een verbeterde versie van RTMP omdat het gebruik maakt van een ander coderingsformaat UDP om krachtige mediastreaming te bereiken.

Geschiedenis van RTMP-streaming

Real-Time Messaging Protocol (RTMP) was oorspronkelijk een eigen protocol ontwikkeld door Macromedia voor het streamen van audio, video en gegevens over het internet tussen een Flash-speler en een server.

RTMP wordt nu gebruikt door talrijke populaire online diensten zoals Facebook, Twitch en Twitter voor live videostreaming.

De eerste publieke uitgave van RTMP was in 2002. In 2009 bracht Adobe een open versie van RTMP uit, bekend als OpenRTMP. Het belangrijkste verschil tussen RTMP en OpenRTMP is dat met OpenRTMP elke mediaserver kan worden gebruikt in plaats van alleen Flash Media Server (FMS).

Er is ook meer flexibiliteit met de open RTMP-specificatie over hoe ontwikkelaars peer-to-peer functionaliteit kunnen beveiligen of configureren. Dit is bedoeld om innovatie en samenwerking aan te moedigen via concurrentie en open toegang tussen ontwikkelaars om de ideale RTMP-oplossing te ontwikkelen.

Het belangrijkste principe

RTMP gebruikt een techniek die "streaming" heet om inhoud te leveren. Dat betekent dat de gegevens worden overgebracht in kleine stukjes, "chunks" genaamd. De chunks worden aan de andere kant weer samengevoegd, zodat de gebruiker de inhoud kan bekijken of beluisteren zonder te wachten tot deze volledig is gedownload.

De werking van RTMP bestaat uit twee delen: Eerste en laatste mijl levering.

First-mile delivery omvat over het algemeen het verzenden van media van de encoder naar de server met behulp van RTMP. Last-mile delivery heeft betrekking op de overdracht van media van de server naar het apparaat van de gebruiker. In dit tweede deel wordt een Flash-speler of een even geschikt instrument gebruikt. Er zijn berichten dat Adobe alle ondersteuning voor Flash stopzet; dit betekent dus het einde van de last-mile delivery.

In reactie daarop heeft de industrie het Hypertext Transfer Protocol (HTTP) omarmd, een efficiëntere streamingoplossing.

RTMP-varianten zoals RTMPT gebruiken momenteel HTTP om media in te kapselen en te verzenden.

Hoe RTMP Ingest werkt

Dit is waarschijnlijk een van de verdiensten van RTMP, waardoor het zo lang heeft bestaan. Toen de wereld zich verwijderde van het bekijken van media op computers naar mobiele weergave, stond RTMP voor een uitdaging.

Ten eerste, RTMP vertrouwde op de Adobe Flash player om zijn naadloze streaming ervaring te leveren, maar er was een klein probleem. Mobiele apparaten ondersteunden Adobe Flash player niet; in wezen werd RTMP nutteloos voor gebruikers die dezelfde streamingdiensten wilden op hun mobiele apparaten.

In antwoord daarop heeft Apple het HLS-protocol ontwikkeld om de streaming-functionaliteit op mobiele apparaten te ondersteunen.

Het was niet meer dan redelijk te verwachten dat RTMP verouderd zou raken. Gelukkig leefde het voort met RTMP ingest, en creëerde het zijn niche als het ideale protocol om media van de encoder naar de server te transporteren.

RTMP ingest geeft voorrang aan goedkope encoders en biedt gebruikers in het algemeen streaming met een lage latentie.

Het omvat drie hoofdonderdelen:

1. De handdruk

Wanneer een cliënt verbinding wil maken met een RTMP-server, moet hij eerst een handshake tot stand brengen. Dit proces begint met het sturen van een "connect"-verzoek naar de server, dat informatie bevat over de client en het type verbinding dat hij probeert te maken.

De server antwoordt dan met een "connected" bericht, dat informatie bevat over de server en het type verbinding dat tot stand is gebracht.

Ten slotte wisselen de client en de server berichten uit om te bevestigen dat zij beiden nog steeds verbonden zijn en om te onderhandelen over eventuele parameters die nodig zijn voor de verbinding.

2. De verbinding

Het hoofddoel van de RTMP ingest-verbinding is te voorzien in een middel om media-inhoud van een bron naar een bestemming te streamen.

De mediabron kan een live camerafeed, vooraf opgenomen video, audio of andere media zijn. De bestemming is meestal een streaming mediaserver, die de inhoud distribueert naar de kijkers.

Een RTMP ingest verbinding bestaat uit drie componenten:

  • De encoder zet het video- en audiosignaal om in een digitaal formaat dat over het internet kan worden getransporteerd.
  • Het transport: Dit is het medium waarover het gecodeerde signaal van de encoder naar de server wordt gestuurd; gewoonlijk gebeurt dit via UDP of TCP.
  • De server ontvangt het gecodeerde signaal en maakt het beschikbaar voor de kijkers (gewoonlijk door het te verpakken in een formaat zoals Flash).

3. De Streaming

Wanneer een gebruiker inhoud naar een mediaserver streamt, moet de server eerst de inkomende video- en audiofeed coderen voordat deze naar alle aangesloten clients wordt verzonden.

Het proces van het coderen en herformatteren van video en audio naar een standaard bestandsformaat wordt transcodering genoemd. Hierbij wordt het ingangssignaal omgezet in een vorm die op verschillende apparaten kan worden afgespeeld.

Er zijn twee soorten streaming: live streaming en on-demand streaming. Live streaming verwijst naar het uitzenden in real time, terwijl on-demand streaming is wanneer gebruikers inhoud gemakkelijk kunnen bekijken.

Live streaming vereist een constante verbinding tussen de client en de server, terwijl streaming op aanvraag dat niet doet.

RTMP gebruikt TCP om een permanente verbinding te onderhouden tussen de client en de server, waardoor streaming met een lage latentie mogelijk is. RTMP is echter niet geschikt voor streaming op aanvraag.

RTMP-alternatieven voor invoer

SRT en WebRTC zijn de grote kanshebbers die de mogelijkheden van RTMP kunnen evenaren of overtreffen. Hier volgt een kort overzicht van de twee alternatieven:

Veilig en betrouwbaar vervoer (SRT)

SRT vult de gaten die RTMP niet kon dichten, zoals het handhaven van streaming met lage latentie, zelfs wanneer de gebruiker verbonden is met een relatief onbetrouwbaar netwerk. Dit maakt het een uitstekende keuze voor zowel live als on-demand streaming.

Omdat het open source is, zijn de grenzen van de mogelijkheden oneindig, en is er geen zorg dat de ontwikkelingssteun wordt ingetrokken.

Web Real-Time Communications (WebRTC)

WebRTC wint met zijn browsergebaseerde publicatie. WebRTC HTTP Ingest Protocol (WHIP) is ook in de maak, en wat dit betekent voor gebruikers is dat ze zullen kunnen streamen met alleen een webbrowser in plaats van moeite te doen met encoders zoals bij RTMP.

RTMP Alternatieven voor Egress

Bovenaan de lijst van RTMP egress alternatieven staan HTTP Live Streaming (HLS), MPEG-DASH en WebRTC.

Hier is een kort overzicht van de alternatieven:

HLS en MPEG-DASH

Deze twee zijn vrijwel hetzelfde, alleen is HLS propriëtair terwijl MPEG-DASH open-source is.

Het beste aan deze twee is dat ze zijn ontworpen voor een lage latentie en optimale mediakwaliteit en zelfs werken met onbetrouwbare netwerkverbindingen.

WebRTC is ook een opmerkelijk alternatief voor RTMP egress oplossingen.

Sterven RTMP en Flash?

Het korte antwoord is: waarschijnlijk niet. Het lange antwoord is wat ingewikkelder.

Door de gestage toename van de populariteit van HTML5 en de proliferatie van geschikte alternatieven voor Flash lijkt het misschien alsof RTMP en Flash op sterven na dood zijn. Maar dat is niet het geval.

Flash gaat al een tijdje achteruit en heeft de laatste jaren een aanzienlijk marktaandeel verloren aan HTML5, en zijn ooit dominante positie in de videowereld wordt nu voortdurend bedreigd.

Toch is het nog steeds sterk aanwezig op het web en wordt het gebruikt door veel populaire sites, waaronder YouTube en Facebook.

RTMP wordt nog steeds veel gebruikt voor het streamen van audio en video. De toekomst ervan is echter minder zeker dan die van Flash.

Adobe heeft aangekondigd dat het in 2020 stopt met de ondersteuning van RTMP, wat het einde van dit protocol zou kunnen betekenen. Toch zijn er genoeg alternatieven op basis van RTMP, dus het zal waarschijnlijk nog jaren in een of andere vorm worden gebruikt.

Dus, moet u streamen met RTMP?

Dat hangt ervan af. Bekijk enkele voor- en nadelen van het gebruik van RTMP.

Voors

  • Het is zeer stabiel. In vergelijking met andere alternatieven op de markt, is het hoogst onwaarschijnlijk dat u enige onderbreking of downtime ondervindt bij het gebruik van een RTMP-geschikte dienst.
  • Lage latentie en minimale buffering. RTMP is in dit opzicht uniek, wat betekent dat gebruikers video's in een betere resolutie kunnen bekijken, en dat het aanzienlijk minder lang duurt voordat de media geladen zijn.
  • Compatibiliteit. Het robuuste en betrouwbare karakter van RTMPS heeft meer fabrikanten ertoe aangezet hun producten zo te ontwerpen dat ze gemakkelijk met RTMP kunnen worden geïntegreerd.

Nadelen

  • RTMP vereist een permanente verbinding tussen de client en de server, wat problematisch kan zijn bij netwerkstoringen.
  • Als propriëtaire software is er weinig flexibiliteit voor power users.

FAQS

Hoe gebruik ik Wave.video voor streamen via RTMP?

Als u video wilt streamen via RTMP, is Wave.video een geweldige optie. Dit is hoe u het kunt gebruiken:

  1. Maak een account aan bij Wave.video en log in als u dat nog niet hebt gedaan.
  2. Kies de video die u wilt streamen.
  3. Navigeer naar de pagina "Bestemmingen" op Wave.video en klik op "Aangepaste RTMP". RTMP Wave.video
  4. Vervolgens moet u de server URL en de stream key vinden voor de inhoud die u probeert te streamen. Navigeer hiervoor naar de website met de stream die u wilt bekijken.
  5. U kunt een app van derden of een extensie gebruiken om de URL en de sleutel te extraheren als u niet weet hoe u dat moet doen.
  6. Kopieer de server URL en de stream key.
  7. Plak de server-URL en de streamsleutel in Wave.video.RTMP name, key, url
  8. Creëer of plan je stream.
  9. Open de live studio en begin met streamen.

Dat is alles, snel en gemakkelijk!

Welke encoders ondersteunen RTMP?

Er zijn veel encoder hardware en software die RTMP ondersteunen. Enkele daarvan zijn:

  • Adobe Media Encoder
  • OBS Studio
  • Elementaire server
  • TriCaster
  • Wirecast
  • vMix
  • TeraDek
  • Wowza Streaming Engine
  • Niagara Video

RTMP vs. RTSP - Wat is beter?

RTMP en RTSP zijn protocollen voor het streamen van audio, video en gegevens via het internet. Ze lijken in veel opzichten op elkaar, maar enkele belangrijke verschillen maken ze ideaal voor verschillende situaties of voorkeuren.

Hier volgt een kort overzicht van de belangrijkste verschillen tussen de twee:

  • RTMP is beter voor live streaming, terwijl RTSP beter is voor streaming op aanvraag.
  • RTMP heeft een lagere latentie, terwijl RTSP video van hogere kwaliteit kan leveren.
  • RTMP vereist een Flash Media Server, terwijl RTSP met elke mediaserver kan werken.

Welk protocol is beter? Het hangt allemaal af van uw specifieke behoeften.

RTMP is een goede keuze als u een lage latentie nodig hebt en het niet erg vindt om Flash te gebruiken. RTSP kan ideaal zijn als u een video van hoge kwaliteit nodig hebt of een niet-Flash mediaserver wilt gebruiken.

Wat is het Action Message Format (AMF)?

AMF is een binair formaat voor het coderen en verzenden van gegevens over het internet, en het wordt vaak gebruikt in combinatie met RTMP.

Met AMF kunnen gegevens worden verzonden die niet compatibel zijn met RTMP, zoals ActionScript-objecten. Het maakt ook de efficiënte uitwisseling van gegevens tussen Flash-toepassingen en servers mogelijk.

Wat is een RTMP URL en hoe krijg je die van Facebook of YouTube?

Een RTMP URL is een unieke identificatie die wordt gebruikt om live video-inhoud te streamen naar verschillende platforms.

Het bevat meestal een IP-adres, domeinnaam en poortnummer.

Je moet een live-streaming evenement aanmaken op een van beide platforms om het van YouTube of Facebook te halen. Zodra je dit hebt gedaan, kun je de RTMP URL vinden in de instellingen van het evenement.

Laatste gedachten

RTMP heeft ongetwijfeld zijn stempel gedrukt op de wereld. Is het op zijn retour? Als egress-oplossing misschien, als ingest helemaal niet!

Zelfs als er andere, evenwaardige of betere alternatieven komen, zal RTMP relevant blijven voor de overdracht en streaming van media.

We houden je op de hoogte!

Sluit u aan bij 5.000 marketeers die onze artikelen als eerste lezen