Usluga pretvaranja medija

Pregled slučaja

Ovo je usluga pretvaranja medija u oblaku koja uzima video i audio datoteke te ih pretvara u HLS streaming format s podrškom za adaptivni bitrate. Sustav osluškuje SQS red za nove datoteke, kreira Kubernetes posao za svaku i proizvodi kompletan skup m3u8 playlista i .ts segmenata spremnih za bilo koji moderni video player.


Podržava višestruke rezolucije za video, više razina bitrate-a za audio te obrađuje video zapise s nekoliko audio zapisa — uključujući različite jezike ili komentare. Usluga radi na više projekata istovremeno i organizira izlaze u zasebne mape na S3 ovisno o projektu ili izdavaču.

Cilj: Izgraditi potpuno automatiziranu uslugu koja pretvara bilo koju video ili audio datoteku u HLS format bez ručne intervencije – radeći preko više projekata, obrađujući različite vrste sadržaja i skalirajući na nulu kad je neaktivna.

Image

Ključne informacije o projektu

Industrije

Industrije

Mediji i zabava, video streaming platforme, OTT i usluge emitiranja, digitalno izdavaštvo, mreže za dostavu sadržaja — bilo koje poslovanje koje mora isporučivati video ili audio sadržaj krajnjim korisnicima na različitim uređajima i uz različite uvjete mreže.

Usluge

Usluge

Obrada SQS reda s dugim ispitivanjem i upravljanjem timeoutom vidljivosti, FFmpeg i FFprobe medijska transkodiranja i analiza tokova, orkestracija Kubernetes poslova s privremenim volumenima i pravilima afiniteta čvorova, paralelni prijenos u S3 s čišćenjem prije prijenosa.

Rješenja

Rješenja

HLS video višestruke rezolucije — 1080p, 720p, 480p, 360p, 240p s adaptivnim bitrateom, HLS audio s više bitrata — razine 32, 64, 96, 128, 192 kbps po audio zapisu, automatsko otkrivanje svih audio tokova s jezičnim metapodacima, sličice na 2 sekunde, nisko-rezolucijski MP4 pregled, MP3 i WAV kopije.

Tehnologije

Tehnologije

AWS SQS, S3, Kubernetes, FFmpeg, FFprobe, H.264, AAC/HE-AAC, HLS/m3u8, NVIDIA NVENC, Intel Quick Sync, EC2 Auto Scaling, Docker, Helm

Izazovi

Mnogi izlazni formatiiz jednog ulaza

Mnogi izlazni formatiiz jednog ulaza

Jedna video datoteka može proizvesti stotine datoteka — pet video rezolucija, pet audio bitrate-a po audio zapisu, plus sličice i pregledi. Morali smo sve to uredno organizirati i brzo učitavati.

Više audio tokova po video datoteci

Više audio tokova po video datoteci

Neki videozapisi dolaze sa nekoliko audio zapisa na različitim jezicima. Sustav ih je morao automatski otkriti sve, pretvoriti svaki zasebno i izgraditi glavnu playlistu koja referencira svaki zapis s pravilnom jezičnom oznakom.

Pouzdanost redai logika ponovnog pokušaja

Pouzdanost redai logika ponovnog pokušaja

Kod SQS-a morate pravilno upravljati duplikatima, timeoutima vidljivosti i neuspjelim poslovima. Ako posao zakaže, poruka bi se trebala vratiti u red na ponovni pokušaj. Ako je ista datoteka u redu dva puta, ne bismo je trebali ponovno obrađivati.

Upravljanje na Kubernetesu

Upravljanje na Kubernetesu

Svaki zadatak pretvaranja koristi puno CPU-a i memorije. Morali smo postaviti privremene volumene, pravila afiniteta čvorova i pravilno čišćenje da se poslovi ne bi gomilali ili blokirali jedni druge.

Izolacija više projekata na S3

Izolacija više projekata na S3

Usluga radi za nekoliko projekata istovremeno. Svaki treba vlastiti izlazni put na S3, a morali smo podržati strukture mapa temeljene na izdavaču i na seriji bez kvarenja.

Automatski odabir kodeka

Automatski odabir kodeka

Nije svako računalo opremljeno GPU ubrzanjem. Sustav je morao otkriti koji su kodeci dostupni — NVIDIA, Intel Quick Sync, AMD ili samo softverski — i automatski odabrati najbolji.

Proces

Cijeli proces radi bez ljudske intervencije — od trenutka kada datoteka stigne na S3 do konačnog HLS izlaza spremnog za reprodukciju. Svaki korak pravilno predaje sljedećem, s ugrađenim zaštitama za neuspjehe, duplikate i borbu za resurse. U nastavku je opis kako sustav prenosi datoteku kroz cijeli konverzijski ciklus.

Ispitivanje reda

Ispitivanje reda

Upravitelj poslova radi na Kubernetesu i ispitiva SQS red s dugim ispitivanjem. Kad stigne poruka, parsira S3 kantu i ključ objekta da identificira izvornu datoteku.

Sprečavanje duplikata

Sprečavanje duplikata

Prije kreiranja novog posla, upravitelj provjerava postoji li već Kubernetes posao za istu datoteku. Ako postoji, poruka se ponovno stavlja u red s odgodom da spriječi dvostruku obradu.

Kreiranje Kubernetes posla

Kreiranje Kubernetes posla

Novi pod se kreira iz predloška s pravilnim limitima resursa, afinitetom čvorova za ARM instance i privremenim volumenima za privremene datoteke, ulaz, izlaz i logove.

Pretvorba video i audio zapisa

Pretvorba video i audio zapisa

FFmpeg pretvara video u pet HLS rezolucija (1080p→240p) s segmentima od 4 sekunde. Svaki audio zapis se detektira i pretvara u pet bitrate razina — od 32 do 192 kbps.

Generiranje glavne playliste

Generiranje glavne playliste

Jedna master m3u8 datoteka referira sve video rezolucije i audio zapise s jezičnim metapodacima — omogućavajući adaptivni streaming i promjenu jezika u bilo kojem modernom playeru.

Prijenos, čišćenje i automatsko skaliranje

Prijenos, čišćenje i automatsko skaliranje

Sve datoteke se paralelno učitavaju u S3 putem 500-thread poola. Stari HLS segmenti se čiste prije nego što novi stignu. Autoskaler skalira čvorove na nulu kad red postane prazan.

Rješenja

Ključne značajke rješenja

  • Video s adaptivnim bitrateom - 5 razina — 240p (300 kbps) → 1080p (5000 kbps) u jednoj playlisti. Automatski odabir kvalitete temeljen na brzini veze.

  • Više audio zapisa s jezičnim oznakama — Detektira i konvertira sve audio zapise, uključujući komentare i opise, pritom čuvajući jezične metapodatke.

  • Automatsko prepoznavanje kodeka — Koristi NVIDIA / Intel / AMD ubrzanje, ili softversku rezervu ako nema GPU.

  • Automatsko skaliranje bez troška za neaktivnost — EC2 čvorovi se smanjuju do nule kada je red prazan. Aktivni poslovi su zaštićeni od preuranjenog prekida.

  • Izolacija S3 za više projekata — Svaki projekt ima vlastitu S3 izlaznu putanju. Podržava strukture mapa bazirane i na izdavaču i na serijama.


Image

Rezultati u brojkama

Pokriće kvalitete videa

1080p

Pet razina adaptivnog bitratea od 240p pri 300 kbps do pune HD 1080p pri 5000 kbps — player automatski prebacuje kvalitetu prema brzini veze.

Paralelne niti za učitavanje

500x

Stotine izlaznih datoteka — segmenata, popisa za reprodukciju, sličica, pregleda — se istovremeno učitavaju na S3 putem skupine niti, održavajući minimalno vrijeme isporuke.

Trajanje segmentiranog HLS-a

4sec

4-sekundni HLS segmenti uravnotežuju brzinu adaptivnog prebacivanja s učinkovitošću međuspremnika — player reagira na mrežne promjene unutar granice jednog segmenta.

Niveliranje audio bitrejtova po zapisu

5x

Svaki audio zapis — uključujući komentare i opise — ima do pet razina kvalitete od 32 kbps (HE-AAC) do 192 kbps (LC-AAC) s normalizacijom glasnoće.

Izgradite skalabilnu medijsku cjevovodnu liniju za vašu platformu!

Nabavite potpuno automatizirani HLS sustav konverzije koji se skalira s vašim sadržajem - a mi ćemo vam pomoći pronaći optimalnu arhitekturu za vaš projekt.

Message not sent.
Message not sent.
×
Niste sigurni odakle početi? Pomoći ćemo vam da definirate sljedeće korake!
Sklapanje privole za obradu osobnih podataka
×
Imate izazov? Naš tim će ga pretvoriti u rješenje.
Sklapanje privole za obradu osobnih podataka