REC

Tips om videoinspelning, produktion, videoredigering och underhåll av utrustning.

 WTVID >> Videoproduktionsguide >  >> Video >> Livestreaming

RTMP Explained:En omfattande guide till realtidsströmning

RTMP Explained:En omfattande guide till realtidsströmning

Realtidsmeddelandeprotokoll (RTMP) är ett flitigt använt streamingformat. Det har funnits i många år och har vuxit till att bli ett viktigt verktyg för programföretag, nätverksoperatörer och många andra branscher. Vissa missuppfattningar om RTMP har dock gjort det mindre populärt än det skulle kunna vara.

Men vad är RTMP exakt? Hur fungerar det? Och ska du använda den för din nästa livestream?

Ta reda på detta och mer nedan.

Vad är RTMP?

RTMP är ett nätverksprotokoll eller ett system som används för att strömma medieinnehåll över internet baserat på TCP-teknik (Transmission Control Protocol). 

TCP är en av komponenterna som utgör internetprotokollsviten. Den andra viktiga komponenten är internetprotokollet, även kallat IP.

RTMP är ett nätverksprotokoll eller ett system som används för att strömma medieinnehåll över internet.

Tillsammans fungerar TCP och IP som kommunikationsbryggor mellan applikations- och nätverksskikten. Tänk på det så här; applikationslagret omfattar det du normalt skulle interagera med, som webbläsaren Mozilla Firefox eller någon annan användarapplikation. 

För att din Firefox-webbläsare ska kunna ladda upp en webbsida måste den skicka en begäran till webbplatsens server. Efter att ha tagit emot begäran skickar servern den begärda resursen (d.v.s. en videoström, förinspelad video på YouTube eller HTML-kod för webbsidan).

För att upprätthålla effektiv kommunikation (d.v.s. undvika att korrespondensen tappas eller försenas) måste meddelandet demonteras i mindre bitar som kallas paket. Detta görs på avsändarsidan, och när meddelandet väl har tagits emot, sätts det ihop igen för användaren.

TCP är den komponent som hanterar att dela upp meddelandet i paket eller mindre bitar som kan överföras effektivt och effektivt.

IP-lagret fungerar som vidarebefordran som bestämmer de bästa vägarna för att överföra paketen över internet. 

RTMP-protokollet används av många populära mediaspelare, inklusive Adobe Flash Player, VLC Media Player, QuickTime Player och Windows Media Player. RTMP stöds också av vissa webbläsare, inklusive Google Chrome och Mozilla Firefox.

Det primära problemet för de flesta användare med en streaminglösning är hur den levererar innehållet. Om kvaliteten på streamingupplösningen är låg kommer det att vara en dealbreaker för de flesta konsumenter. På samma sätt kommer en streaminglösning med hög latens och buffertar eller laddas för länge innan innehållet spelas upp inte att klara sig bra.

Det är här RTMP lyser. Sedan utvecklingen har RTMP garanterat låg latens, minimal buffring och en av de bästa upplösningskvaliteterna för streaming, förutsatt att nätverksanslutningen är stark och tillräckligt snabb.

Ett annat plus för RTMP är dess förmåga att stödja massströmning samtidigt och utan större problem.

Men trots att RTMP har funnits i många år har RTMP nyligen blivit föremål för ökad granskning eftersom systemet är osäkert för sina användare. 

Så här uppstår säkerhetssårbarheten/sårbarheten:

För det första har RTMP-protokollet ingen kryptering inbyggd. Därför är all kommunikation eller paketöverföring medan RTMP används öppen för att lyssnas på av obehöriga grupper eller attacker av man-in-the-middle-typ.

En annan faktor som bidrog till RTMP:s säkerhetssårbarhet är att dess källkod var proprietär under lång tid. Proprietär programvara (dvs. programvara vars ägande- och kontrollrättigheter är begränsade till den enhet som utvecklade eller köpte den) får vanligtvis säkerhetskorrigeringar som dyker upp regelbundet, men det räcker inte.

Nya sårbarheter dyker upp ofta, och communityn som är uppbyggd kring programvara med öppen källkod garanterar relativt oftare och bättre säkerhetskorrigeringar. Detta är vad RTMP missade för att förbättra sin säkerhetsställning.

RTMP-varianter

RTMP-varianter inkluderar följande:

  • Real-Time Messaging Protocol Server (RTMPS) – är ganska lik RTMP bara att den har kryptering, dvs. Secure Sockets Layer (SSL) och Transport Layer Security (TLS) aktiverade, och stöder alla spelare med Flash Player aktiverat. Det används i scenarier där det är viktigt att förhindra manipulering eller obehörig åtkomst av data under överföring.
  • Krypterat meddelandeprotokoll i realtid (RTMPE) – det är ett mycket mångsidigt strömningsprotokoll som använder både Transport Control Protocol (TCP) och User Datagram Protocol (UDP) för att överföra data. RTMPE krypterar också alla dataöverföringar med Adobes proprietära kryptering för att undvika obehörig åtkomst och manipulering.
  • Tunnel för meddelandeprotokoll i realtid (RTMPT) – RTMPT använder en tunnelmekanism för att kringgå brandväggar som vanligtvis blockerar all RTMP-trafik. I praktiken kräver RTMPT att klienten skickar en modifierad HTTP-förfrågan till servern, som svarar med en nästan liknande HTTP-överföring. Klienten och servern använder ett sessions-ID; när en anslutning har upprättats kan dataöverföringen börja mellan de två.
  • Mediaflödesprotokoll i realtid (RTMFP) – RTMFP är en stegvis version av RTMP genom att den använder ett annat kodningsformat UDP för att uppnå högpresterande mediaströmning.

Historik för RTMP-strömning

Real-Time Messaging Protocol (RTMP) var från början ett proprietärt protokoll utvecklat av Macromedia för att strömma ljud, video och data över internet mellan en Flash-spelare och en server.

RTMP används nu av många populära onlinetjänster som Facebook, Twitch och Twitter för livestreaming av video.

Den första offentliga utgåvan av RTMP var 2002. 2009 släppte Adobe en öppen version av RTMP som kallas OpenRTMP. Den största skillnaden mellan RTMP och OpenRTMP är att med OpenRTMP kan vilken mediaserver som helst användas istället för bara Flash Media Server (FMS).

Det finns också mer flexibilitet med den öppna RTMP-specifikationen när det gäller hur utvecklare kan säkra eller konfigurera peer-to-peer-funktionalitet. Detta är tänkt att uppmuntra innovation och samarbete via konkurrens och öppen tillgång bland utvecklare för att utveckla den idealiska RTMP-lösningen.

Huvudprincipen

RTMP använder en teknik som kallas "streaming" för att leverera innehåll. Det betyder att data överförs i små bitar som kallas "bitar". Bitarna är återmonterade i andra änden, så att användaren kan titta på eller lyssna på innehållet utan att vänta på att ladda ner det helt.

Det finns två delar av hur RTMP fungerar:Första och sista milen.

Första mils leverans innebär vanligtvis att media överförs från kodaren till servern med RTMP. Last-mile-leverans hänvisar till att överföra media från servern till användarens enhet. En Flash-spelare eller ett lika kapabelt verktyg används i denna andra del. Det finns rapporter om att Adobe upphör med allt stöd för Flash; följaktligen innebär detta ett slut på sista mils leverans.

Som svar har branschen anammat Hypertext Transfer Protocol (HTTP), en mer effektiv streaminglösning.

RTMP-varianter som RTMPT använder för närvarande HTTP för att kapsla in och överföra media.

Så fungerar RTMP Ingest

Detta är förmodligen en av RTMP:s räddande nåder som har hållit det igång så här länge. När världen gick bort från att titta på media på datorer och mot mobilt tittande stod RTMP inför en utmaning.

För det första litade RTMP på Adobe Flash-spelaren för att leverera sin sömlösa streamingupplevelse, men det fanns ett litet problem. Mobila enheter stödde inte Adobe Flash Player; i huvudsak blev RTMP värdelös för användare som ville ha samma streamingtjänster på sina mobila enheter.

Som svar utvecklade Apple HLS-protokollet för att stödja streamingfunktionaliteten på mobila enheter.

Det var bara rimligt att förvänta sig att RTMP skulle bli föråldrat. Lyckligtvis levde den vidare med RTMP-intag och skapade sin nisch som det idealiska protokollet för att transportera media från kodaren till servern.

RTMP-intag prioriterar lågkostnadskodare för att fungera och erbjuder i allmänhet streaming med låg latens till användare.

Det involverar tre huvudkomponenter:

1. Handslaget

När en klient vill ansluta till en RTMP-server måste den först upprätta ett handslag. Denna process börjar med att klienten skickar en "anslutningsförfrågan" till servern, som inkluderar information om klienten och vilken typ av anslutning den försöker göra.

Servern svarar sedan med ett "ansluten" meddelande, som innehåller information om servern och vilken typ av anslutning som har upprättats.

Slutligen utbyter klienten och servern meddelanden för att bekräfta att de båda fortfarande är anslutna och för att förhandla fram eventuella parametrar som behövs för anslutningen.

2. Anslutningen

Det primära syftet med RTMP-intagsanslutningen är att tillhandahålla ett sätt att strömma medieinnehåll från en källa till en destination.

Mediekällan kan vara ett livekameraflöde, förinspelad video, ljud eller annat media. Destinationen är vanligtvis en strömmande mediaserver, som distribuerar innehållet till tittarna.

Det finns tre komponenter till en RTMP-inmatningsanslutning:

  • Kodaren omvandlar video- och ljudsignalen till ett digitalt format som kan transporteras över internet.
  • Transporten:Detta är mediet över vilket den kodade signalen skickas från kodaren till servern; vanligtvis görs detta via UDP eller TCP.
  • Servern tar emot den kodade signalen och gör den tillgänglig för tittare (vanligtvis genom att paketera den i ett format som Flash).

3. Streaming

När en användare strömmar innehåll till en mediaserver måste servern först koda det inkommande video- och ljudflödet innan det skickas ut till alla anslutna klienter.

Processen att koda och omformatera video och ljud till ett standardfilformat kallas omkodning. Det innebär att konvertera insignalen till en form som kan spelas på olika enheter.

Mer om streaming finns det två typer av streaming:live och on-demand. Livestreaming hänvisar till sändning i realtid, medan on-demand streaming är när användare kan titta på innehåll bekvämt.

Livestreaming kräver en konstant anslutning mellan klienten och servern, medan on-demand streaming inte gör det.

RTMP använder TCP för att upprätthålla en beständig anslutning mellan klienten och servern, vilket möjliggör streaming med låg latens. RTMP är dock inte väl lämpad för streaming på begäran.

RTMP-alternativ för intag

SRT och WebRTC är de största utmanarna som kan matcha eller överträffa RTMP-kapacitet. Här är en kort förhandstitt på de två alternativen:

Secure Reliable Transport (SRT)

SRT fyller luckorna som RTMP inte kunde hantera, som att upprätthålla streaming med låg latens även när användaren är ansluten till ett relativt opålitligt nätverk. Detta presenterar det som ett utmärkt val för både live- och on-demand-streaming.

Eftersom det är öppen källkod är gränserna för dess möjligheter oändliga, och det finns ingen oro för att utvecklingsstödet dras in.

Webbrealtidskommunikation (WebRTC)

WebRTC vinner med sin webbläsarbaserade publicering. WebRTC HTTP Ingest Protocol (WHIP) är också på gång, och vad detta betyder för användare är att de kommer att kunna streama med endast en webbläsare istället för att bry sig om kodare som med RTMP.

RTMP-alternativ för utgående

Överst på listan över RTMP-utgående alternativ är HTTP Live Streaming (HLS), MPEG-DASH och WebRTC.

Här är en kort förhandstitt på alternativen:

HLS och MPEG-DASH

Dessa två är praktiskt taget desamma, bara att HLS är proprietär medan MPEG-DASH är öppen källkod.

Det bästa med dessa två är att de är designade för att leverera låg latens, optimal mediekvalitet och till och med fungera med opålitliga nätverksanslutningar.

WebRTC är också ett anmärkningsvärt alternativ till RTMP-utgående lösningar.

Dör RTMP och Flash ut?

Det korta svaret är:förmodligen inte. Det långa svaret är lite mer komplicerat.

En stadig ökning av populariteten för HTML5 och spridningen av kapabla alternativ till Flash kan få det att verka som att RTMP och Flash håller på att dö. Men så är inte fallet.

Flash har varit på tillbakagång ett tag nu och tappat en betydande marknadsandel till HTML5 under de senaste åren, och dess en gång dominerande ställning i videovärlden är nu konsekvent hotad.

Ändå har den fortfarande en betydande närvaro på webben och används av många populära webbplatser, inklusive YouTube och Facebook.

När det gäller RTMP används det fortfarande i stor utsträckning för att strömma ljud- och videoinnehåll. Dess framtid är dock mindre säker än Flashs.

Adobe har meddelat att de kommer att sluta stödja RTMP 2020, vilket kan markera slutet på detta protokoll. Ändå finns det gott om alternativ baserade på RTMP, så det kommer sannolikt att fortsätta att användas i någon eller annan form i många år framöver.

Så, ska du streama med RTMP?

Det beror på. Ta en titt på några av fördelarna och nackdelarna med att använda RTMP.

Proffs

  • Det är väldigt stabilt. Jämfört med andra alternativ på marknaden är det högst osannolikt att det uppstår några avbrott eller driftstopp när du använder en RTMP-aktiverad tjänst.
  • Låg latens och minimal buffring. RTMP är unik i detta avseende, vilket innebär att användare kan titta på videor i bättre upplösning, och det kommer att ta betydligt kortare tid för media att ladda.
  • Kompatibilitet. RTMPS robusta och pålitliga karaktär uppmuntrade fler tillverkare att designa sina produkter för att enkelt integreras med RTMP

Nackdelar

  • RTMP kräver en beständig anslutning mellan klienten och servern, vilket kan vara problematiskt om det finns nätverksavbrott
  • Som en proprietär programvara finns det liten flexibilitet för avancerade användare.

Vanliga frågor

Hur använder jag Wave.video för strömning via RTMP?

Om du vill strömma video via RTMP är Wave.video ett bra alternativ. Så här använder du det:

  1. Skapa ett konto med Wave.video och logga in om du inte redan har gjort det.
  2. Välj den video du vill streama.
  3. Navigera till sidan "Destinationer" på Wave.video och klicka på "Anpassad RTMP" RTMP Explained:En omfattande guide till realtidsströmning
  4. Närnäst måste du hitta serverns URL och strömningsnyckeln för innehållet du försöker strömma. För att göra detta, navigera till webbplatsen med strömmen du vill visa.
  5. Du kan använda en app eller ett tillägg från tredje part för att extrahera webbadressen och nyckeln om du inte vet hur du ska göra.
  6. Kopiera serverns URL och strömningsnyckel.
  7. Klistra in serverns URL och streamnyckel i Wave.video. RTMP Explained:En omfattande guide till realtidsströmning
  8. Skapa eller schemalägg din stream.
  9. Öppna livestudion och börja streama.

Det är allt som finns, snabbt och enkelt!

Vilka kodare stöder RTMP?

Det finns många kodarhårdvara och mjukvara som stöder RTMP. Några av dessa inkluderar:

  • Adobe Media Encoder
  • OBS Studio
  • Elemental Server
  • TriCaster
  • Wirecast
  • vMix
  • TeraDek
  • Wowza Streaming Engine
  • Niagara-video

RTMP vs. RTSP – Vilket är bättre?

RTMP och RTSP är protokoll för att streama ljud, video och data över internet. De är lika på många sätt, men några viktiga skillnader gör dem idealiska för olika situationer eller preferenser.

Här är en snabb sammanfattning av de viktigaste skillnaderna mellan de två:

  • RTMP är bättre för livestreaming, medan RTSP är bättre för on-demand-streaming.
  • RTMP har lägre latens, medan RTSP kan ge video av högre kvalitet.
  • RTMP kräver en Flash Media Server, medan RTSP kan fungera med vilken mediaserver som helst.

Så vilket protokoll är bättre? Allt beror på dina specifika behov.

RTMP är ett bra val om du behöver låg latens och inte har något emot att använda Flash. RTSP kan vara idealiskt om du behöver en video av hög kvalitet eller vill använda en icke-Flash mediaserver.

Vad är Action Message Format (AMF)?

AMF är ett binärt format för kodning och överföring av data över internet, och det används ofta i kombination med RTMP.

AMF tillåter överföring av data som är inkompatibla med RTMP, till exempel ActionScript-objekt. Det möjliggör också ett effektivt utbyte av data mellan Flash-applikationer och servrar.

Vad är en RTMP-URL och hur får man den från Facebook eller YouTube?

En RTMP URL är en unik identifierare som används för att strömma livevideoinnehåll till olika plattformar.

Den innehåller vanligtvis en IP-adress, domännamn och portnummer.

Du måste skapa ett livestreamingevenemang på endera plattformen för att få det från YouTube eller Facebook. När du har gjort detta kommer du att kunna hitta RTMP-URL:n i evenemangets inställningar.

Sluta tankar

RTMP har utan tvekan gjort sina spår i världen. Är den på väg ut? Som en utgående lösning, eventuellt, svälj inte alls!

Även när andra lika eller mer kapabla alternativ dyker upp kommer RTMP att förbli relevant inom mediaöverföring och streaming.

Gå med i vårt nyhetsbrev – det är gratis!

Vi lägger bara upp det som är bra


  1. 16 företag som gör stora saker med LinkedIn Live

  2. Bli en framgångsrik streamer:En komplett guide till att starta och utveckla din kanal

  3. Den ultimata guiden till virtuellt nätverk

  4. Hur man tar emot en gäst på din livestream

  5. Bästa livestreaminginställningar för sociala medier

Livestreaming
  1. Hur att ta en paus från sociala medier gjorde mig bättre fotograf

  2. Packa upp mosiacs

  3. Hur man skapar porträtt med svart bakgrund

  4. 67 YouTube-videoidéer för att bygga upp din sociala närvaro 2022

  5. Hur [inte] att ta ett självtimerporträtt

  6. 15 Porträttfotograferingsfel (och hur man fixar dem)

  7. 4 briljanta tips för att prata i kameran

  8. Videoutrustning önskelista