Jämför du lösningar för livestreaming? Undersöker du skillnaden mellan att använda hårdvara och mjukvara för streaming? Vill du förstå grunderna för kodningsinställningar för streaming? Läs vidare! Vi kommer att gå igenom allt detta och mer i denna hårdvarukodarprimer.
Vad är en hårdvarukodare?
När det gäller att strömma video över webben är okomprimerade video- och ljudfiler för stora och skrymmande för att skickas i realtid. Lösningen är att komprimera dessa filer först.
En hårdvarukodare är en dedikerad apparat som fångar, komprimerar (kodar) och levererar ljud- och videodata till en destination. Specifikt är en hårdvarukodare för livestreaming en enhet som kan strömma video över lokala nätverk (LAN), Wide Area Networks (WAN) eller över Internet.
Streamingdestinationer online inkluderar streamingplattformar som YouTube Live, LinkedIn Live och Facebook Live samt livestreamingtjänster som Vimeo, Akamai och Wowza.
Exempel på kodare för livestreaming inkluderar Epiphan's Pearl Nano, Pearl Mini och Pearl-2. Dessutom har många hårdvarukodare andra funktioner, som livevideoväxling och lokal videoinspelning.
Ljud- och videoingångar på hårdvarukodare
Hårdvarukodare har vanligtvis en mängd olika ingångar som låter dig direkt ansluta avancerad video- och ljudutrustning som kameror och mikrofoner. Pearl-2 kan till exempel spela in lokal video via HDMI-, USB- och SDI-ingångar, analoga ljudingångar över XLR och RCA och nätverksanslutna AV-ingångar över NDI, SRT och RTSP.
Däremot, för att ansluta samma utrustning till ett allmänt datorsystem, behöver du ett inspelningskort för att strömma video från en kamera eller ett front-end ljudgränssnitt för professionellt ljud.
Hårdvarukodare jämfört med programvara för livestreaming
Programvara för livestreaming är en applikation som körs på vanliga, vanliga datorer (som en bärbar dator eller en stationär dator). Några exempel på streamingprogramvara inkluderar vMix, Wirecast och OBS. Ungefär som en hårdvarukodare komprimerar och strömmar programvara för livestreaming video till en destination.
Den största skillnaden är att hårdvarukodare dedikerar all processorkraft till insamling, kodning och streaming. Däremot måste datordriven streamingprogramvara dela resurser med andra processer på maskinen. Hårdvarukodare är designade från grunden specifikt för kodning och streaming, vilket gör dem till en mer pålitlig streaminglösning jämfört med deras mjukvarumotsvarigheter. Det är därför professionella sändare förlitar sig på hårdvarukodare i uppdragskritiska situationer.
Kodningsinställningar:Nyckeltermer att förstå
Kodningsinställningar har en direkt inverkan på streamkvaliteten. Generellt sett gäller att ju högre inställningar (inom specifika värdeintervall), desto högre videokvalitet.
Streamingplattformar erbjuder ofta en lista med rekommenderade kodningsinställningar för livestreaming. Det är en bra idé att använda dem som vägledning. Här är en översikt över de viktigaste kodningsparametrarna som användarna har kontroll över.
Codecs
En codec är komprimeringsmetoden för att göra mediefiler mindre. Olika codecs tillhandahåller olika typer av komprimering för att passa specifika användningsfall. Alla videocodecs är inte lämpliga för livestreaming.
Några exempel på allmänt använda videokodekar för streaming är Motion-JPEG (MJPEG), H.264/AVC och H.265/HEVC. H.264/AVC är utan tvekan den vanligaste codec idag. H.265/HEVC är nästa generations codec efter H.264/AVC. Den lovar identisk kvalitet som H.264 med ungefär halva bithastigheten, vilket minskar kraven på uppladdningsbandbredd.
Observera att ljudet kodas separat från videon. Den vanligaste ljudkodeken kallas AAC.
Kodningsupplösning
Kodningsupplösning är videons bildrutestorlek, uttryckt i pixlar som bredd x höjd. Två vanliga upplösningar är 1280 x 720 (dvs. 720p) och 1920 x 1080 (d.v.s. 1080p). Högre streamingupplösningar som 4K är mindre populära eftersom de kräver betydande processorkraft, uppladdningsbandbredd och stöd för 4K-upplösning på tittarens sida.
Eftersom allas inställningar är lite olika är det bra att ge tittarna ett val av upplösningar när de tittar på ditt innehåll. Om CDN-numret du använder inkluderar omkodning (många gör det), finns det inget extra arbete att göra på din sida. Skicka bara ström av högsta kvalitet och CDN kommer att ge tittaren en rad olika upplösningar.
Bildfrekvens
Bildhastighet är antalet bilder som kodas per sekund, i bildrutor per sekund (fps). Standardbildhastigheter inkluderar 24, 25, 30 och 60 fps, där 30 fps är den mest använda inställningen för onlinestreaming.
Bithastighet
Bitrate beskriver hur mycket data som överförs per tidsenhet. Bithastigheten mäts vanligtvis i kilobits per sekund (Kbps) och mindre ofta i megabits per sekund (Mbps). Ju högre bithastighet, desto högre videokvalitet – men också desto större filstorlek.
Att hitta rätt bithastighetsinställning handlar om balans. En låg bithastighetsinställning gör att livestreamen ser skakig ut och har låg kvalitet. Å andra sidan kan en för hög bithastighet orsaka videobuffring för tittarna eftersom filstorleken blir för stor.
Bithastighetsinställningen beror på vald codec, upplösning och bildhastighet. Till exempel är videobithastighetsintervallet för en 1080p vid 30 fps stream mellan 3 000–6 000 Kbps, medan bithastighetsintervallet för 4K 60 fps streaming är mellan 20 000–51 000 Kbps.
Förutom en adekvat vald bithastighet, är en annan avgörande faktor för högkvalitativ onlinevideoleverans tillräcklig lokal uppladdningsbandbredd. Oavsett hur hög bithastighet eller hur kraftfull hårdvarukodaren är, kan låg bandbredd bli flaskhalsen för streamingkvalitet.
Ovan är en skärmdump av fliken kodningsinställningar i Pearl Web UI
Streamingprotokoll:Vad de är och hur de fungerar
Ett streamingprotokoll är en metod genom vilken multimedia levereras till streamingdestinationen. Det är en uppsättning regler som bestämmer hur man skär upp den kodade videon i mindre bitar och levererar den till destinationen, i tid och i rätt ordning. Olika hårdvarukodare stöder specifika uppsättningar av strömningsprotokoll. Dessutom kommer vissa streamingprotokoll bara att fungera med särskilda codecs, medan andra protokoll är codec-agostic.
Olika videoströmningsprotokoll kan leverera video online med varierande grad av fördröjning. Till exempel kan vissa protokoll omedelbart överföra data från hårdvarukodaren till destinationen, medan andra tar längre tid. Detta kallas strömningsfördröjning.
För envägsöverföringar är viss latens ingen stor sak. För händelser med interaktivitet är dock hög strömningsfördröjning oacceptabelt. Därför är latenskrav en av faktorerna som styr valet av strömningsprotokoll.
Ett av de mest använda streamingprotokollen är Real-Time Messaging Protocol (RTMP) och dess säkra variant (RTMPS). RTMP(S) är ett robust och universellt stödd protokoll. Det fungerar dock bara med H.264-codec och har viss latens (3–30 sekunder).
HTTP Live Streaming (HLS) är ett annat vanligt protokoll som stöds av nästan alla webbläsare, operativsystem och till och med smarta TV-apparater. HLS fungerar bara med H.264 och H.265 codecs.
En direkt HLS-konkurrent är MPEG-DASH. Till skillnad från HLS är MPEG-DASH ett codec-agnostiskt protokoll. När det gäller strömningsfördröjning ligger både HLS och MPEG-DASH i den högre delen av skalan (30–45 sekunder).
Secure Reliable Transport (SRT) är ett strömningsprotokoll med öppen källkod, codec-agnostiskt. Det möjliggör robust streaming med låg latens även över suboptimala nätverk. Dess förmåga att leverera högkvalitativt innehåll i nästan realtid över Internet ger programföretag ett hållbart alternativ till dyr satellitteknik. SRT stöds inte lika brett som RTMP, till exempel, men det vinner popularitet och stöd inom området hårdvarukodning.
Råd om att välja en hårdvarukodare
Hårdvarukodarmodeller är prissatta baserat på antalet och typen av ingångsanslutningar, streaming- och kodningsteknologier som stöds och, viktigast av allt, processorkraft. Varje ytterligare ingångskälla och kodningskanal lägger till extra belastning på kodarens CPU. Högre maskinvarukodare, som Pearl-2, kan fånga flera ljud- och videokällor, koda flera kanaler med hög upplösning och strömma till flera destinationer samtidigt. Mer grundläggande modeller kan bara fånga en eller två källor och streama ett program till en destination.
Vi rekommenderar att du väljer en hårdvarukodare baserat på dina krav på kodning och streaming. Om du till exempel vill fånga bara en input från en produktionsmixer och strömma den till en enda onlinedestination – överväg en enkanalig kodare som Pearl Nano. Å andra sidan, om du vill fånga flera HDMI-, SDI- och kanske NDI-källor och strömma flera kodade kanaler till flera destinationer – överväg en arbetshäst-hårdvarukodare som Pearl-2.
Det här inlägget publicerades ursprungligen den 2 juni 2019 och uppdaterades den 1 november 2021 med mer relevant information.