Videoströmningsprotokoll: Vilka ska man använda för livevideo? Vilka ska användas för professionella sändningar

Max Wilbert

Max Wilbert är en passionerad skribent, praktiker inom live-streaming och har stark expertis inom videostreamingindustrin.

När du kommer igång med live streaming kommer du att märka ett överflöd av akronymer som tjänar många olika syften. Det finns RTMP, HLS, HDS med mera.

Många av dessa akronymer avser olika videostreamingprotokoll. I grund och botten är protokoll tekniska processer som underlättar överföringen av data från ett program till ett annat. Inom streaming innebär detta överföringen av dina videofiler till och från din kodare, streamingvärd och slutligen videospelaren där din publik ser din stream.

I dag ska vi identifiera några av de vanligaste streamingprotokollen som du kommer att stöta på, vad de gör och när du bör använda dem. För att ge lite relevant bakgrund för att hjälpa dig att förstå kommer vi också att förklara förhållandet mellan en codec kontra ett containerformat.

Är du redo att dyka ner i live streamingprotokoll?

Bemärk att det här inlägget har uppdaterats för att återspegla den senaste utvecklingen inom videostreamingprotokoll från och med november 2020.

Innehållsförteckning

  • Vad är ett videoströmningsprotokoll?
  • Strömningsprotokoll vs. Codecs vs. Containerformat
  • Gemensamma videoströmningsprotokoll
  • Videoprotokoll för professionell direktsändning
  • Slutsats

Vad är ett videoströmningsprotokoll?

Ett videoströmningsprotokoll är nödvändigt för direktsändningar.

För att gå vidare ska vi titta lite närmare på definitionen av ett videoströmningsprotokoll. De flesta digitala videor är utformade för två saker: lagring och uppspelning. Detta leder till två viktiga överväganden, nämligen liten filstorlek och universell uppspelning.

De flesta videofiler är inte utformade för streaming, vilket innebär att streaming av en video innebär att den först måste konverteras till en streambar fil. Detta innebär att den måste delas upp i små bitar. Dessa bitar anländer sedan sekventiellt och spelas upp i takt med att de tas emot. Om du streamar livevideo kommer källvideon direkt från en kamera. Annars kommer den från en fil för VOD-innehåll.

Ett videoströmningsprotokoll är en standardiserad leveransmetod för att bryta upp en video i bitar, skicka den till tittaren och sätta ihop den igen.

Strömningsprotokoll kan bli mycket mer komplexa. Många är till exempel ”adaptiva bitrate”-protokoll. Denna teknik levererar den bästa kvalitet som en tittare kan stödja vid varje given tidpunkt.

Vissa protokoll fokuserar på att minska latensen, eller fördröjningen mellan en händelse som inträffar i verkligheten och när den spelas upp på tittarens skärm. Vissa protokoll fungerar bara på vissa system, och andra protokoll fokuserar på hantering av digitala rättigheter (DRM).

När vi går igenom några specifika protokoll kommer vi att sätta dessa och andra egenskaper i perspektiv.

Streamingprotokoll vs codec vs containerformat

Protokoll, codec och containerformat är var och en för sig separata facetter av streaming.

En vanlig källa till förvirring när det gäller strömmande video är skillnaden mellan ett protokoll och en codec.

Simpelt uttryckt avser termen ”codec” tekniken för videokomprimering. Logiskt sett används olika streamingcodecs för olika ändamål. Apple ProRes används till exempel ofta för videoredigering och H.264, den vanligaste videokodexen, används ofta för onlinevideo.

Som för codec kan termen ”format” också vara förvirrande i samband med videostreamingprotokoll. I många fall hänvisar formatet helt enkelt till behållarformatet för en videofil. Vanliga behållarformat är .mp4, .m4v och .avi.

I huvudsak fungerar ett containerformat som en ”låda” som vanligtvis innehåller en videofil, en ljudfil och metadata. Containerformatet är dock inte ett lika centralt begrepp för live streamers.

Låt oss göra en jämförelse för att göra det lättare att förstå förhållandet mellan en codec, ett containerformat och ett streamingprotokoll.

Föreställ dig att du är en handlare och att du transporterar kläder i bulk (kläderna representerar videoinnehållet). Streaming codec motsvarar den maskin som komprimerar kläderna till en bunt för att spara utrymme. Behållarformatet är den godsvagn som dessa buntar packas i. Streamingprotokollet är analogt med järnvägsspåren, signalerna och förarna som levererar det till destinationen.

Som programföretag vill du att ditt livevideoinnehåll ska fungera tillsammans med en codec, ett containerformat och ett streamingprotokoll.

Det är också viktigt att notera att de flesta streamingprotokoll endast stöder vissa codecs. Vi kommer att gå in mer på detta senare.

Gemensamma videoströmningsprotokoll

Nu när du har en bättre uppfattning om syftet med videoströmningsprotokoll kan vi börja vår jämförelse av de vanligaste videoströmningsprotokollen idag.

I denna jämförelse kommer vi också att erbjuda användningsfall för varje protokoll när det är möjligt.

Real-Time Messaging Protocol (RTMP)

Syftet med RTMP har utvecklats under de senaste åren.

Först ut är veteranprotokollet: RTMP eller Real-time messaging protocol. RTMP-protokollet utvecklades ursprungligen av Macromedia i streamingens tidiga dagar och används fortfarande i stor utsträckning.

I dag används RTMP främst för att ta emot live-strömmar med hjälp av en RTMP-aktiverad kodare. När du ställer in din kodare för att skicka ditt videoflöde till din videohostingplattform kommer videon att nå CDN via RTMP-protokollet. Innehållet når så småningom slutanvändaren via ett annat protokoll, vanligtvis HLS streamingprotokoll.

RTMP används sällan som ett protokoll för videoströmning som vänder sig till tittaren, vilket det en gång i tiden gjorde. Det beror på att det är beroende av Flash-pluginet, som har varit behäftat med säkerhetsproblem i flera år och som snabbt håller på att bli föråldrat.

Vem bör använda RTMP?

RTMP är ett streamingprotokoll som ger strömmar med mycket låg latenstid. Eftersom det kräver Flash-plugin för att spelas upp rekommenderar vi det dock inte. Återigen, undantaget är för stream ingestion. För detta ändamål är RTMP fortfarande ett av de bästa alternativen. Det är robust och har nästan universellt stöd.

Real-Time Streaming Protocol (RTSP)

Real-Time Streaming Protocol (RTSP) är kanske ett mindre känt protokoll för videoströmning och publicerades första gången 1998. RTSP utvecklades för att styra servrar för strömmande media i underhållnings- och kommunikationssystem.

Under 2016 blev ett uppdaterat RTSP 2.0 tillgängligt. Överlag är det känt som ett videoströmningsprotokoll för att upprätta och kontrollera mediesessioner mellan slutpunkter.

RTSP liknar på vissa sätt protokollet HTTP Live Streaming (HLS), som vi kommer att behandla nedan. Överföring av data för live-streaming är dock inte vad RTSP åstadkommer på egen hand. I stället arbetar RTSP-servrar ofta tillsammans med Real-Time Transport Protocol (RTP) och Real-Time Control Protocol (RTCP) för att leverera medieströmmar.

Vem bör använda RTSP?

RTSP utformades för att stödja streaming med låg latenstid och är ett bra val för användningsområden för streaming, t.ex. IP-kameraflöden (t.ex. övervakningskameror), sakernas internet-enheter (t.ex. en laptopstyrd drönare) och mobila SDK:er.

En betydande nackdel är dock att det finns begränsat inhemskt webbläsarstöd för RTSP.

RTMP vs RTSP

RTMP och RTSP är båda streamingprotokoll, vilket innebär att de är uppsättningar av regler som styr hur data färdas från ett kommunikationssystem till ett annat. Om videodata som du försöker skicka till dina tittare är en bil är streamingprotokollet den väg som bilen tar för att ta sig från en plats till en annan.

Fördelar med att använda RTMP:

  • Låg latenstid: Låg latens gör att din live-videoström kan bibehålla en stabil anslutning och videoflöde för tittaren, även om internetanslutningen är opålitlig. Detta ger dina tittare färre ”laggs” när de tittar på dina videor med en osäker internetuppkoppling, vilket gör att de snabbt kan återuppta strömmen när deras internetuppkoppling stabiliseras.
  • Anpassningsbar: Ett anpassningsbart flöde innebär att dina tittare inte är låsta till att titta på dina flöden i en linjär riktning. Anpassningsbarheten gör det möjligt för dem att hoppa över och spola tillbaka delar av flödet eller att ansluta sig till en direktsändning efter att den har börjat.
  • Flexibel: RTMP gör det möjligt att integrera en mängd olika medietyper i ett sammanhängande paket och sömlöst blanda ljud, video och text. Dessutom kan du ha flera olika varianter av mediekanaler, t.ex. strömning av både MP3- och AAC-ljudströmmar eller strömning av MP4-, FLV- och F4V-videor.

Nackdelar med att använda RTMP:

  • Stöds inte av HTML5: RTMP stöds av Flash-spelare, ett format som är på god väg att bli föråldrat. HTML5-spelare håller snabbt på att bli den moderna standarden, men RTMP kan inte spelas på HTML5-spelare utan en omvandlare som HLS.
  • Bandbreddsproblem: RTMP-strömmar kan vara särskilt sårbara för problem med låg bandbredd. Detta kan orsaka frekventa, frustrerande avbrott i dina strömmar som förstör upplevelsen för dina tittare.
  • HTTP inkompatibelt: Du kan inte direkt strömma ett RTMP-flöde över en HTTP-anslutning. För att kunna använda en RTMP-ström på din webbplats måste du ansluta till en särskild server, t.ex. Flash Media Server, och använda ett CDN-nätverk (Content Delivery Network) från en tredje part.

Fördelar med att använda RTSP:

  • Segmenterad streaming: I stället för att tvinga tittarna att ladda ner hela videon innan de tittar på den kan de med RTSP-strömmen titta på ditt innehåll innan nedladdningen är klar.
  • Anpassning: Genom att använda andra protokoll, t.ex. Transmission Control Protocol (TCP) och User Datagram Protocol (UDP), kan du skapa dina egna videoströmningsprogram.

Nackdelar med att använda RTSP:

  • Mindre populärt: Jämfört med andra medieflödesprotokoll är RTSP mycket mindre populärt. De flesta videospelare och streamingtjänster har inte stöd för RTSP-streaming, vilket gör det svårare att sända din stream i din webbläsare. För att sända en RTSP-ström måste du använda en separat RTSP-live streamingtjänst.
  • HTTP inkompatibelt: Precis som RTMP kan du inte streama RTSP direkt via HTTP. På grund av detta finns det inget enkelt och okomplicerat sätt att strömma RTSP i en webbläsare, eftersom RTSP är mer utformat för att strömma video i privata nätverk, t.ex. säkerhetssystem inom ett företag. Du kan dock strömma RTSP med hjälp av ytterligare programvara som är inbäddad på din webbplats.

Att välja mellan RTMP- respektive RTSP-strömningsprotokoll beror i hög grad på dina individuella affärsbehov och hur många extra steg du är villig att ta för att göra ditt innehåll spelbart på din webbplats.

Dynamic Adaptive Streaming over HTTP (MPEG-DASH): ett nytt protokoll

Adaptiva streamingfunktioner är extremt värdefulla för professionella programföretag.

I motsatt ände av spektrumet har vi MPEG-DASH, ett av de nyaste protokollen på scenen. Även om det inte används i någon större utsträckning ännu har detta protokoll några stora fördelar.

För det första har det stöd för streaming med adaptiv bithastighet. Det innebär att tittarna alltid får den bästa videokvalitet som deras nuvarande internetanslutningshastighet kan stödja. Denna tenderar att fluktuera från sekund till sekund, och DASH kan hänga med.

MPEG-DASH löser några långvariga tekniska problem med leverans och komprimering. En annan fördel är att MPEG-DASH är ”codec agnostic”, vilket innebär att det kan användas med nästan alla kodningsformat. Det stöder också Encrypted Media Extensions (EME) och Media Source Extension (MSE) som är standardiserade API:er för webbläsarbaserad digital rättighetshantering (DRM).

Vem bör använda MPEG-DASH?

Nuförtiden används MPEG-DASH bara av en bråkdel av de professionella programföretagen jämfört med HLS. Vi tror dock att det kommer att bli standardteknik i framtiden.

Anledningen till att detta protokoll inte är otroligt populärt ännu kan tillskrivas kompatibilitet (t.ex. Apple Safari och iOS-enheter har inte stöd för det) och andra relaterade problem.

Microsoft Smooth Streaming (MSS)

Nästa är Microsofts Smooth Streaming (MSS)-protokoll. MSS introducerades ursprungligen 2008 och var en integrerad del av de olympiska sommarspelen det året. Dess popularitet har dock sjunkit, utom bland Microsoft-fokuserade utvecklare och de som arbetar i Xbox-ekosystemet.

Smooth Streaming stöder streaming med adaptiv bithastighet och innehåller några robusta verktyg för DRM. På det hela taget är det en hybridmetod för medieöverföring som fungerar som streaming, men som är baserad på HTTP-progressiv nedladdning.

Vem bör använda Smooth Streaming?

Om din huvudsakliga målgrupp inte är Xbox-användare eller om du planerar att bygga Windows-specifika appar, rekommenderar vi inte att du använder MSS som primärt protokoll för videoströmning.

HTTP Dynamic Streaming (HDS)

HDS är det minst rekommenderade streamingprotokollet.

Adobe har tagit sig in i streamingprotokollvärlden med HTTP Dynamic Streaming (HDS), efterföljaren till RTMP. Liksom RTMP är HDS ett flashbaserat streamingprotokoll. Men det lägger också till stöd för adaptiv streaming och har ett rykte om sig att vara av hög kvalitet.

HDS är också ett av de bättre protokollen när det gäller latens. Å andra sidan är latensen inte lika låg som med RTMP på grund av fragmenteringen och krypteringsprocessen, vilket gör det mindre populärt för streaming av sport och andra evenemang där sekunderna spelar roll.

Vem bör använda HDS?

Generellt sett rekommenderar vi inte att du använder HDS. Under de senaste åren har Flash-stödet blivit för svagt för att något programföretag ska kunna förlita sig på den här tekniken för att nå sin publik. Kort sagt är det idag helt enkelt ett dåligt val att bygga din webbvideo kring Flashspelaren.

HTTP Live Streaming (HLS)

HTP Live Streaming (HLS) utvecklades av Apple och har stöd för mediespelare, webbläsare, mobila enheter och medieservrar.

Det sista videoströmningsprotokollet vi ska diskutera är HTTP Live Streaming eller HLS. Apple släppte ursprungligen detta protokoll 2009 för att göra det möjligt för dem att släppa Flash från iPhones. Sedan dess har HLS blivit det mest använda streamingprotokollet.

Det finns flera skäl till detta. För det första har stationära webbläsare, smarta tv-apparater och mobila enheter med både Android och iOS stöd för HLS. HTML5-videospelare har också nativt stöd för HLS, i jämförelse med HDS och RTMP.

Detta gör det möjligt för en stream att nå så många tittare som möjligt, vilket gör HLS till det säkraste protokollet idag för att skala upp en live stream till en stor publik. Du kan till exempel använda detta protokoll för att strömma livevideo på din webbplats med en enkel inbäddningskod.

När det gäller funktioner har HLS-standarden också stöd för adaptiv bitrate-streaming, vilket dynamiskt levererar bästa möjliga videokvalitet i varje ögonblick. Med de senaste uppdateringarna har standarden nu stöd för den senaste och bästa H.265-koden, som ger dubbelt så hög videokvalitet vid samma filstorlek som H.264.

För närvarande är den enda nackdelen med HLS att latensen kan vara relativt hög. Det finns dock metoder för att minska HLS latenstid.

Vem bör använda HLS?

HLS är det mest använda protokollet idag eftersom det är robust och effektivt. Vi vet till exempel att få tittare återvänder till en webbplats under en stream om de drabbas av ett videofel. Genom att använda ett allmänt kompatibelt, adaptivt protokoll som HLS får publiken bästa möjliga upplevelse.

Vi vill också nämna att HLS nu är det standardprotokoll för streaming som används på Dacast.

Videoprotokoll för professionell live streaming

Vet du vilka videoprotokoll som är bäst för professionell live streaming?

För att sammanfatta finns det många videoströmningsprotokoll i dag, och många av dessa kan användas för live-videoströmning.

Som vi täckte ovan har alla de protokoll som diskuteras här – RTMP, RTSP, MPEG-DASH, MSS, HDS och HL – specifika användningsområden för specifika programföretag. När allt tas i beaktande är HLS dock bäst, särskilt när det gäller codec-kompatibilitet, kompatibilitet med alla enheter, stöd för HTML5-videospelare och streamingkapacitet med adaptiv bithastighet.

Vår rekommendation här är enkel: för tillfället bör nästan alla programföretag hålla sig till HLS-protokollet för videoströmning.

Självklart kan vissa användare tycka att andra protokoll är bättre för deras behov. Men oavsett om du vill strömma direktsänd video på din webbplats, göra direktsändning av sportevenemang eller sända professionella evenemang och sammankomster direkt, är HLS generellt sett det bästa sättet att gå till väga.

Håll dig i minnet att MPEG-DASH är ett alternativ som är på väg att utvecklas. Se upp för att det streamingprotokollet kommer att antas alltmer inom en snar framtid.

Slutsats

Liveströmningsprotokoll gör det möjligt att sända videofiler och är en integrerad del av alla videoplattformar på nätet.

Och även om streamingprotokoll och relaterad teknik är lite komplexa är de helt lättillgängliga när de delas upp i mindre, lättsmälta idéer.

Vi hoppas att det här inlägget har hjälpt till att klargöra syftet med videoströmningsprotokoll och förhållandet mellan videoströmningsprotokoll, codec och containerformat. Vi litar på att du är rustad för att välja och använda rätt protokoll för dina behov.

För att testa HLS-streaming på Dacast-plattformen bjuder vi in dig att registrera dig för vår 30-dagars gratis provperiod. På så sätt kan du bekanta dig med funktionerna innan du binder dig/

GET STARTED FOR FREE

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *