
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. Sommige misvattingen over RTMP hebben het echter minder populair gemaakt dan het zou kunnen zijn.
Maar wat is RTMP precies? Hoe werkt het? En zou je het moeten gebruiken voor je volgende livestream?
Lees hier meer over en meer.
Wat is RTMP?
RTMP is een netwerkprotocol of een systeem dat wordt gebruikt om media-inhoud via internet te streamen op basis van Transmission Control Protocol (TCP)-technologie.
TCP is een van de componenten waaruit de internetprotocolsuite bestaat. Het andere belangrijke onderdeel is het internetprotocol, ook wel IP genoemd.
RTMP is een netwerkprotocol of een systeem dat wordt gebruikt om media-inhoud via internet te streamen.
Samen fungeren TCP en IP als communicatiebruggen tussen de applicatie- en netwerklagen. Denk er zo over na; de applicatielaag omvat waar u normaal mee zou communiceren, zoals de Mozilla Firefox-browser of een andere gebruikersapplicatie.
Om ervoor te zorgen dat uw Firefox-browser een webpagina laadt, moet deze een verzoek naar de server van de website sturen. Na ontvangst van het verzoek verzendt de server de gevraagde bron (d.w.z. een videostream, vooraf opgenomen video op YouTube of HTML-code voor de webpagina).
Om effectieve communicatie te behouden (dat wil zeggen om te voorkomen dat de correspondentie wordt verbroken of vertraagd), moet het bericht worden opgesplitst in kleinere stukken die pakketten worden genoemd. Dit gebeurt aan de kant van de afzender en zodra het bericht is ontvangen, wordt het opnieuw samengesteld voor de gebruiker.
TCP is het onderdeel dat zorgt voor het opsplitsen van het bericht in pakketten of kleinere stukjes die effectief en efficiënt kunnen worden verzonden.
De IP-laag fungeert als doorstuuragent die de beste routes bepaalt voor het verzenden van de pakketten via 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 een aantal webbrowsers, waaronder Google Chrome en Mozilla Firefox.
De voornaamste zorg voor de meeste gebruikers met een streamingoplossing is hoe deze de inhoud levert. Als de kwaliteit van de streamingresolutie laag is, zal dit voor de meeste consumenten een dealbreaker zijn. Op dezelfde manier zal een streamingoplossing met een hoge latentie en buffers of te lang laden voordat de inhoud wordt afgespeeld, het niet goed doen.
Dit is waar RTMP schittert. Sinds de ontwikkeling ervan garandeert RTMP een lage latentie, minimale buffering en een van de beste streamingresolutiekwaliteiten, op voorwaarde dat de netwerkverbinding sterk en snel genoeg is.
Een ander pluspunt van RTMP is de mogelijkheid om massastreaming gelijktijdig en zonder grote problemen te ondersteunen.
Ondanks dat RTMP al vele jaren bestaat, is het de laatste tijd onder verscherpt toezicht komen te staan, omdat het systeem onveilig is voor zijn gebruikers.
Hier ziet u hoe de beveiligingskwetsbaarheid(en) ontstaat:
Ten eerste is er in het RTMP-protocol geen encryptie ingebouwd. Daarom is elke communicatie of pakketoverdracht terwijl RTMP wordt gebruikt vatbaar voor afluistering door ongeautoriseerde groepen of man-in-the-middle-aanvallen.
Een andere factor die heeft bijgedragen aan de beveiligingskwetsbaarheid van RTMP is dat de broncode lange tijd bedrijfseigen was. Propriëtaire software (dat wil zeggen software waarvan de eigendoms- en controlerechten beperkt zijn tot de entiteit die deze heeft ontwikkeld of gekocht) ontvangt doorgaans beveiligingspatches die regelmatig verschijnen, maar dat is niet voldoende.
Er duiken regelmatig nieuwe kwetsbaarheden op en de gemeenschap die rond open-sourcesoftware is opgebouwd, garandeert relatief frequentere en betere beveiligingspatches. Dit is wat RTMP heeft gemist om zijn beveiligingspositie te verbeteren.
RTMP-variaties
RTMP-variaties omvatten het volgende:
- Real-Time Messaging Protocol-server (RTMPS) – lijkt veel op RTMP, alleen omdat het codering heeft, d.w.z. Secure Sockets Layer (SSL) en Transport Layer Security (TLS) ingeschakeld, en alle spelers ondersteunt waarvoor Flash Player is ingeschakeld. Het wordt gebruikt in scenario's waarin het van cruciaal belang is om manipulatie of ongeoorloofde toegang tot gegevens tijdens de overdracht te voorkomen.
- Gecodeerd realtime berichtenprotocol (RTMPE) – het is een zeer veelzijdig streamingprotocol dat zowel Transport Control Protocol (TCP) als User Datagram Protocol (UDP) gebruikt om gegevens te verzenden. RTMPE codeert ook alle gegevensoverdrachten met behulp van de eigen codering van Adobe om ongeoorloofde toegang en manipulatie te voorkomen.
- Realtime berichtenprotocoltunnel (RTMPT) – RTMPT maakt gebruik van een tunnelmechanisme om firewalls te omzeilen die doorgaans al het RTMP-verkeer blokkeren. In de praktijk vereist RTMPT dat de client een aangepast HTTP-verzoek naar de server stuurt, die reageert met een vrijwel vergelijkbare HTTP-transmissie. De client en server gebruiken een sessie-ID; Zodra er een verbinding tot stand is gebracht, kan de gegevensoverdracht tussen de twee beginnen.
- Realtime mediastroomprotocol (RTMFP) – RTMFP is een verbeterde versie van RTMP, omdat het een ander coderingsformaat UDP gebruikt om hoogwaardige mediastreaming te bereiken.
Geschiedenis van RTMP-streaming
Real-Time Messaging Protocol (RTMP) was aanvankelijk een eigen protocol ontwikkeld door Macromedia voor het streamen van audio, video en gegevens via internet tussen een Flash-speler en een server.
RTMP wordt nu gebruikt door tal van populaire online diensten zoals Facebook, Twitch en Twitter voor live videostreaming.
De eerste publieke release van RTMP was in 2002. In 2009 bracht Adobe een open-specificatieversie 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 met betrekking tot 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 hoofdprincipe
RTMP maakt gebruik van een techniek die ‘streaming’ wordt genoemd om inhoud te leveren. Dat betekent dat de gegevens worden overgedragen in kleine stukjes die ‘chunks’ worden genoemd. De stukjes 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:First- en last-mile-levering.
First-mile-levering omvat doorgaans het verzenden van media van de encoder naar de server met behulp van RTMP. Last-mile-levering verwijst naar het verzenden van media van de server naar het apparaat van de gebruiker. In dit tweede deel wordt gebruik gemaakt van een Flash player of een gelijkwaardige tool. Er zijn berichten dat Adobe alle ondersteuning voor Flash stopzet; Dit betekent dus dat er een einde komt aan de last-mile-levering.
Als reactie hierop heeft de industrie 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-opname werkt
Dit is waarschijnlijk een van de reddingen van RTMP die het zo lang heeft volgehouden. Terwijl de wereld zich afwendde van het bekijken van media op computers naar mobiel kijken, stond RTMP voor een uitdaging.
Ten eerste vertrouwde RTMP op de Adobe Flash Player voor een naadloze streamingervaring, maar er was een klein probleem. Mobiele apparaten ondersteunden geen Adobe Flash player; in wezen werd RTMP nutteloos voor gebruikers die dezelfde streamingdiensten op hun mobiele apparaten wilden.
Als antwoord hierop heeft Apple het HLS-protocol ontwikkeld om de streamingfunctionaliteit op mobiele apparaten te ondersteunen.
Het was alleen maar redelijk om te verwachten dat RTMP verouderd zou raken. Gelukkig leefde het voort met RTMP-opname, waardoor het een niche creëerde als het ideale protocol om media van de encoder naar de server te transporteren.
RTMP-opname geeft prioriteit aan de werking van goedkope encoders en biedt gebruikers over het algemeen streaming met lage latentie.
Het omvat drie hoofdcomponenten:
1. De handdruk
Wanneer een client verbinding wil maken met een RTMP-server, moet deze eerst een handshake tot stand brengen. Dit proces begint ermee dat de client een 'connect'-verzoek naar de server verzendt, dat informatie bevat over de client en het type verbinding dat hij probeert te maken.
De server antwoordt vervolgens met een “verbonden” 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 ze allebei nog steeds verbonden zijn en om te onderhandelen over eventuele parameters die nodig zijn voor de verbinding.
2. De verbinding
Het primaire doel van de RTMP-opnameverbinding is het bieden van een manier 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 onder de kijkers distribueert.
Er zijn drie componenten voor een RTMP-opnameverbinding:
- De encoder zet het video- en audiosignaal om in een digitaal formaat dat via internet kan worden getransporteerd.
- Het transport:dit is het medium waarover het gecodeerde signaal van de encoder naar de server wordt verzonden; meestal gebeurt dit via UDP of TCP.
- De server ontvangt het gecodeerde signaal en maakt het beschikbaar voor kijkers (meestal door het in een formaat zoals Flash te verpakken).
3. De streaming
Wanneer een gebruiker inhoud naar een mediaserver streamt, moet de server eerst de binnenkomende video- en audiofeed coderen voordat deze naar alle verbonden clients wordt verzonden.
Het proces van het coderen en opnieuw formatteren 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.
Meer over streaming:er zijn twee soorten streaming:live en on-demand. Livestreaming verwijst naar uitzendingen in realtime, terwijl on-demandstreaming betekent dat gebruikers gemakkelijk inhoud kunnen bekijken.
Livestreaming vereist een constante verbinding tussen de client en server, terwijl streaming op aanvraag dat niet doet.
RTMP gebruikt TCP om een permanente verbinding tussen de client en de server in stand te houden, waardoor streaming met lage latentie mogelijk is. RTMP is echter niet erg geschikt voor streaming op aanvraag.
RTMP-alternatieven voor inname
SRT en WebRTC zijn de belangrijkste kanshebbers die de RTMP-mogelijkheden kunnen evenaren of zelfs overtreffen. Hier is een kort voorbeeld van de twee alternatieven:
Veilig Betrouwbaar Transport (SRT)
SRT vult de hiaten op die RTMP niet aankon, zoals het handhaven van streaming met lage latentie, zelfs als de gebruiker is verbonden 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 hoeft u zich geen zorgen te maken dat ontwikkelingssteun wordt ingetrokken.
Realtime webcommunicatie (WebRTC)
WebRTC wint met zijn browsergebaseerde publicatie. WebRTC HTTP Ingest Protocol (WHIP) is ook in de maak, en wat dit voor gebruikers betekent is dat ze alleen met een webbrowser kunnen streamen in plaats van zich druk te maken over encoders zoals bij RTMP.
RTMP-alternatieven voor uitgaand verkeer
Bovenaan de lijst met RTMP-alternatieven voor uitgaand verkeer staan HTTP Live Streaming (HLS), MPEG-DASH en WebRTC.
Hier is een kort voorbeeld van de alternatieven:
HLS en MPEG-DASH
Deze twee zijn vrijwel hetzelfde, alleen is HLS bedrijfseigen, terwijl MPEG-DASH open-source is.
Het beste van deze twee is dat ze zijn ontworpen om een lage latentie en optimale mediakwaliteit te leveren en zelfs te werken met onbetrouwbare netwerkverbindingen.
WebRTC is ook een opmerkelijk alternatief voor RTMP-uitgaande oplossingen.
Zijn RTMP en Flash dood?
Het korte antwoord is:waarschijnlijk niet. Het lange antwoord is iets ingewikkelder.
Een gestage stijging van de populariteit van HTML5 en de toename van capabele alternatieven voor Flash kunnen ervoor zorgen dat het lijkt alsof RTMP en Flash uitsterven. Maar dat is niet het geval.
Flash is al een tijdje aan het afnemen en heeft de afgelopen jaren een aanzienlijk marktaandeel verloren aan HTML5, en zijn ooit dominante positie in de videowereld wordt nu voortdurend bedreigd.
Niettemin is het nog steeds aanzienlijk aanwezig op internet en wordt het gebruikt door veel populaire sites, waaronder YouTube en Facebook.
Wat RTMP betreft, het wordt nog steeds veel gebruikt voor het streamen van audio- en video-inhoud. De toekomst 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. Niettemin zijn er voldoende alternatieven op basis van RTMP, dus het zal waarschijnlijk nog jaren in een of andere vorm gebruikt worden.
Dus, moet je streamen met RTMP?
Het hangt ervan af. Bekijk enkele voor- en nadelen van het gebruik van RTMP.
Voordelen
- Het is erg stabiel. Vergeleken met andere alternatieven op de markt is het zeer onwaarschijnlijk dat u enige verstoring of downtime zult ervaren tijdens het gebruik van een RTMP-compatibele service.
- 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 tijd kost voordat de media zijn geladen.
- Compatibiliteit. Het robuuste en betrouwbare karakter van RTMPS moedigde meer fabrikanten aan om hun producten zo te ontwerpen dat ze gemakkelijk met RTMP konden worden geïntegreerd
Nadelen
- RTMP vereist een permanente verbinding tussen de client en de server, wat problematisch kan zijn als er netwerkstoringen zijn
- Omdat het propriëtaire software is, is er weinig flexibiliteit voor ervaren gebruikers.
Veelgestelde vragen
Hoe gebruik ik Wave.video voor streaming via RTMP?
Als je video via RTMP wilt streamen, is Wave.video een geweldige optie. Zo gebruik je het:
- Maak een account aan bij Wave.video en log in als je dat nog niet hebt gedaan.
- Kies de video die je wilt streamen.
- Navigeer naar de pagina “Bestemmingen” op Wave.video en klik op “Aangepaste RTMP”

- Vervolgens moet je de server-URL en de streamsleutel vinden voor de inhoud die je probeert te streamen. Navigeer hiervoor naar de website met de stream die je wilt bekijken.
- Je kunt een app of extensie van derden gebruiken om de URL en sleutel te extraheren als je niet weet hoe je dit moet aanpakken.
- Kopieer de server-URL en de streamsleutel.
- Plak de server-URL en de streamsleutel in Wave.video.

- Maak of plan je stream.
- Open de livestudio en begin met streamen.
Dat is alles, snel en gemakkelijk!
Welke encoders ondersteunen RTMP?
Er zijn veel encoderhardware en -software die RTMP ondersteunen. Enkele hiervan zijn:
- Adobe Media Encoder
- OBS Studio
- Elementaire server
- TriCaster
- Wirecast
- vMix
- TeraDek
- Wowza Streaming-engine
- Niagara-video
RTMP versus RTSP – wat is beter?
RTMP en RTSP zijn protocollen voor het streamen van audio, video en gegevens via internet. Ze lijken in veel opzichten op elkaar, maar door enkele belangrijke verschillen zijn 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 on-demand streaming.
- RTMP heeft een lagere latentie, terwijl RTSP video van hogere kwaliteit kan leveren.
- Voor RTMP is een Flash Media Server vereist, terwijl RTSP met elke mediaserver kan werken.
Dus welk protocol is beter? Het hangt allemaal af van uw specifieke behoeften.
RTMP is een goede keuze als je een lage latentie nodig hebt en het niet erg vindt om Flash te gebruiken. RTSP kan ideaal zijn als u video van hoge kwaliteit nodig heeft 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 via internet en 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-applicaties en servers mogelijk.
Wat is een RTMP-URL en hoe krijg ik deze van Facebook of YouTube?
Een RTMP-URL is een unieke identificatie die wordt gebruikt om live video-inhoud naar verschillende platforms te streamen.
Het bevat doorgaans een IP-adres, domeinnaam en poortnummer.
Je moet op een van beide platforms een livestreamevenement maken om het van YouTube of Facebook te kunnen ontvangen. Zodra je dit hebt gedaan, kun je de RTMP-URL vinden in de instellingen van het evenement.
Eindgedachten
RTMP heeft ongetwijfeld zijn sporen verdiend in de wereld. Is het op weg naar buiten? Als uitwegoplossing kun je mogelijk helemaal niet inslikken!
Zelfs als er andere gelijkwaardige of meer capabele alternatieven op de markt komen, zal RTMP relevant blijven in mediatransmissie en streaming.
Meld u aan voor onze nieuwsbrief — het is gratis!
We plaatsen alleen de goede dingen