Videotranskodning: Vad är det och hur fungerar det?
Senast uppdaterad: 8 november 2022
Varför är det viktigt med adaptiv videostreaming?
Internet är ett opålitligt lapptäcke av tusentals sammankopplade nätverk. Det finns ingen end-to-end-kontroll eller kvalitetskontroll. Vissa användare har en bra och stadig gigabitlänk, medan andra har en fladdrig delad WiFi-anslutning. Deras bandbredd kommer att variera.
Video är den överlägset tyngsta applikationen på webben. För att leverera en video i realtid till en tittare måste anslutningen från början till slut stödja snabbare leverans än realtid. Om det uppstår ett hack eller en prestandaförlust kommer streamade videor med enkel bithastighet och progressivt nedladdade videor att buffras. Och det är en dålig upplevelse.
Här kommer adaptiv streaming. Istället för att skapa en kvalitet skapas flera kvaliteter av videor och liveströmmar genom den process som kallas transcoding.
Hur fungerar adaptiv streaming?
Videospelare har små algoritmer som kontrollerar enhetens skärmstorlek, bearbetningskapacitet och bandbredd. Beroende på dessa variabler bestämmer spelaren vilken kvalitet den hämtar från streamingplattformen.
Förr i tiden skedde adaptiv streaming via proprietära protokoll, med proprietära spelare och servrar, till exempel RealVideo och Windows Media Streaming.
Idag baseras adaptiv streaming på HTTP-trafik, med videochunks och manifestfiler. Det finns vissa nackdelar med detta (inga sessioner, massor av loggar!), men fördelarna är CDN-cachelagring (skalning och prestanda) och bitrateväxling med finare granularitet.
Processen att dela upp videor i dessa små segment (eller bitar) kallas transmuxning. Vissa transcoder transmuxar automatiskt, men transmuxning kan också göras i farten efter transcoding. Transcoding är CPU-intensivt, men det är inte transmuxning. De vanligaste formaten för adaptiv HTTP-streaming är HLS (webb) och DASH (OTT).
För att kunna erbjuda adaptiva strömmar måste dina videoklipp kodas om till flera bithastigheter.
Vad är videoomkodning?
Även om transcoding ofta förväxlas med kodning är det två olika processer. Kodning är skapandet av en video eller strömmar från en källa. Transcoding är processen för att skapa en eller flera kvaliteter av en video (eller stream) som är lämplig för uppspelning på webben. Om du vill göra professionell streaming på webben måste du omkoda till flera olika kvaliteter och använda streaming med adaptiv bithastighet i stället för progressiva nedladdningar. Användarna kommer att uppleva högre kvalitet och mycket mindre buffring.
Hur kodar jag om en video?
1. Videoplattformar
De flesta videoplattformar omkodar automatiskt åt dig. Ladda upp en video, och magiskt skapar de flera kvaliteter. De tar ut en avgift per minut. Det är easy och smidigt. Men du har noll kontroll över kvaliteterna och inte heller över priset.
Att tjäna pengar på transcoding är en av de viktigaste intäktsfaktorerna för videoplattformar. Eftersom detta är CPU-intensivt lägger de ut det på tredje part cloud tjänster. Och de är dyra. Därför finns det ett potentiellt incitament att sänka kvaliteten, vilket kanske inte ligger i ditt intresse.
2. Bygg din egen omkodningsfarm
Vi kallar detta lokal transkodning. Du köper eller hyr servrar, installerar programvara för transcoding och bearbetar dina egna videor. Detta ger dig full kontroll över kostnader och kvalitet.
Du kan justera omkodningen och lägga till ytterligare bearbetning, t.ex. färgkorrigering, dynamisk innehållsinläggning och kryptering. Full kontroll. Om du inte har en stor verksamhet kan det bli ganska dyrt, både tekniskt och personellt.
De flesta videoplattformar tillåter inte att du laddar upp dina omkodade medier direkt till deras ursprungstjänster. Deras arbetsflöde är inlåst med sin egen omkodningsprocess. Därför måste du hitta ett alternativ för hosting och leverans också.
3. Använd cloud tjänster för transcoding
Ett alternativ till videoplattformar och lokala anläggningar är att använda cloud transcoding-tjänster. Molntjänster erbjuder professionella omkodningstjänster och ger dig stor kontroll över profilerna. För att implementera och driva en sådan tjänst behöver du en expert, och moln kan bli kostsamma.
Moln kan bli dyra eftersom transcoding är en CPU-intensiv tjänst, särskilt för livestreaming. Men det är ett bra alternativ mellan on-prem och videoplattformsbaserad transkodning.
Tidigare outsourcade Jet-Stream även transcoding till moln. Vi tog investeringen att bygga automatiserade arbetsflöden och erbjuda lättillgängliga omkodningstjänster till våra kunder. Genom att göra detta en gång för många och genom automatisering skalade vi upp och sparade kostnader för våra kunder. Men det var dags att gå vidare. Vi ville erbjuda våra kunder mer kontroll över kvaliteten. Vi ville också sköta omkodningen internt på grund av GDPR-efterlevnaden. Och vi ville hantera kostnaderna bättre.
Förra året bestämde vi oss för att bygga vår egen cloud. Den ligger i Europa, hostad av förstklassiga datacenter som använder grön energi. Och vi bestämde oss för att köra alla applikationer internt, på vår egen cloud. Den goda nyheten var att vi redan hade ett arbetsflöde för transcoding (GUI&API) på plats. Därför behövde vi bara byta ut motorn.
4. Jet-Stream Maelstrom.
Det bästa av dessa tre världar. Det är enklare än videoplattformar. Ändå ger det full kontroll över kvalitet och kostnad per video, och ger dig friheten att omkoda, ladda upp och automatisera arbetsflöden för videobearbetning.
Hur kodar man om med Jet-Stream?
Grunden för Jet-Streams MaelStrom-omkodningstjänst är FFmpeg. I princip alla i branschen använder detta fantastiska bibliotek. Vi skapade våra egna avstämda byggnader, med avstämda omkodningsprofiler. Vi tittade på en hel del videor ;).
Dessutom har vi lagt till extra profiler: QuadHD och 4K. Och vi justerade de befintliga profilerna. Dessutom jämförde vi våra egna nya profiler med de gamla AWS-omkodade utdata för att se till att kvaliteten matchade eller överträffade den tjänsten.
Vi analyserade beteendet hos adaptiva streamingspelare. I grund och botten hoppar de till den högsta bithastigheten eller till den lägsta bithastigheten. Och ibland används en bithastighet i mitten. Vi lärde oss att 3-4 bithastigheter är tillräckligt för de flesta användningsfall i EU-området, medan vissa plattformar automatiskt omkodar till 8 eller till och med 12 bithastigheter: det kräver onödiga CPU-resurser och lagring, samtidigt som det inte ger en bättre QoE. Naturligtvis kan ditt användningsfall behöva många bithastigheter, och det är bra: vi stöder allt.
Se Easy, Smart, Expert transcoding demo video (6 minuter) här.
Vi har en filosofi som vi kallar easy, smart och expert. Vi har också tillämpat den på omkodningen. Jet-Stream ger dig alltså all frihet när det gäller transcoding:
Easy: dra och släpp
Att använda Jet-Stream-tjänster bör alltid vara enklare än videoplattformar. Så du kan helt easy dra och släppa en videofil på en av förinställningarna för transcoding, och det skapar magiskt kvaliteterna. Prissättningen är konkurrenskraftig.
Smart: kontrollera kvalitet och kostnader
Smart innebär att du kan anpassa tjänsten så att den matchar dina specifika behov, både vad gäller kostnader och kvalitet. Du kan skapa anpassade omkodningsprofiler och välja kvaliteter. För varje video kan du bestämma kvalitet och kostnader. En kontrollnivå som du inte hittar hos videoplattformar.
Du kan välja att behålla originalvideon med den högsta bithastigheten. Omkodaren kommer att lägga till ytterligare bithastigheter. På så sätt kan du strömma upp till 8K, adaptivt. Det är en funktion som du inte hittar med vanliga videoplattformar.
Expert: fullständig automatiserad kontroll
Expert innebär att du kan ta full kontroll. Några exempel:
Ett bra expert-exempel är bypass-funktionen. Ladda upp media direkt till Jet-Stream Clouds ursprungsservrar. Vi gör automatiskt transmuxningen åt dig. Du kan köra din egen lokala eller tredjeparts cloud transcoding-tjänst och direkt ladda upp dina medier till Jet-Stream Origin-tjänsterna i ursprunglig, oförstörd kvalitet. Du kan till och med lägga till fjärrvärdtjänster för Origin-video med ett enda klick.
Varför Jet-Steam-omkodning?
Med Jet-Stream får du enkla, smarta och expertfunktioner i en och samma plattform. Föreställ dig kostnadsbesparingarna jämfört med att själv bygga ett sådant arbetsflöde på cloud. Jet-Stream gör det möjligt för dig att batch-to-ingest-pipelines och du kan bestämma per video vilken easy-, smart- eller expertprofil som ska användas. Dessutom låter API:er dig automatisera och styra hela arbetsflödet.
Dessutom kan du köra dina egna origin-tjänster och transmuxers och ansluta dessa origins till Jet-Stream med ett enda klick. Flera kvalitetsåtergivningar av samma video grupperas automatiskt i logiska tillgångar av Jet-Streams ursprungstjänster. Den inbyggda transmuxing-tjänsten i realtid matar ut adaptiva HTTP HLS- och DASH-videor.
Om du vill streama professionellt kommer du att vilja använda transkodning för HTTP-adaptiv streaming. Testa gärna vår tjänst och se själv hur enkel och kraftfull MaelStroms omkodningstjänst är.