Meediumi konverteri teenus

Juhtumi ülevaade

See on pilvepõhine meediumi konverteerimise teenus, mis võtab video- ja helifailid ning teisendab need HLS-voogedastusvormingusse, toetades adaptiivset bitikiirust. Süsteem kuulab SQS järjekorda uute failide jaoks, käivitab iga faili jaoks Kubernetes töö ja toodab täiskomplekti m3u8 esitusloendeid ja .ts segmente, mis on valmis kasutamiseks igas moodsas videopleieris.


Toetab mitut videoresolutsiooni, mitut helikiirust ja haldab videoid mitme helirajaga — sh erinevates keeltes või kommentaaridega. Teenus töötab samaaegselt mitme projektiga ning organiseerib väljundid S3 kaustadesse projekti või väljaandja alusel.

Eesmärk: Luua täielikult automatiseeritud teenus, mis teisendab mis tahes video- või helifaili HLS-vormingusse ilma käsitsi sekkumiseta — töötades mitme projektiga, hallates erinevaid sisutüüpe ja skaleerudes nulli seisaku korral.

Image

Põhiline projekti info

Tööstusharud

Tööstusharud

Meedia & meelelahutus, video voogedastusplatvormid, OTT & levitusteenused, digitaalne kirjastamine, sisutarnete võrgud — igale ettevõttele, kes peab tarnima video- või helisisu lõppkasutajatele erinevates seadmetes ja erinevates võrguoludes.

Teenused

Teenused

SQS järjekorra töötlemine pika ootamise ja nähtavuse ajapiirangute haldamisega, FFmpeg & FFprobe meediumite transcoding ja voo analüüs, Kubernetes töö orkestreerimine ajutiste ketaste ja sõlme-afiniteedireeglitega, paralleelne S3 üleslaadimise torujuhe eelpuhastusega.

Lahendused

Lahendused

Mitme resolutsiooniga HLS video — 1080p, 720p, 480p, 360p, 240p adaptiivse bitikiirusega, mitme bitikiirusega heli HLS — 32, 64, 96, 128, 192 kbps poodiumid iga heliraja kohta, automaatne kõigi helivoo keelemetaandmete tuvastus, 2-sekundilise hetkepildi pisipildid, madala kvaliteediga MP4 eelvaade, MP3 ja WAV koopiad.

Tehnoloogiad

Tehnoloogiad

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

Väljakutsed

Paljud väljundvormingud�üks sisendist

Paljud väljundvormingud�üks sisendist

Üks video fail võib toota sadu faile — viis video resolutsiooni, viis helibitraati iga heliraja kohta, pluss pisipildid ja eelvaated. Me pidime kõik selle korralikult organiseerima ja kiiresti üles laadima.

Mitmed helivoogud iga videofaili kohta

Mitmed helivoogud iga videofaili kohta

Mõnel videol on mitu helirada erinevates keeltes. Süsteem pidi need kõik automaatselt tuvastama, igaühte eraldi teisendama ja koostama peamise esitusloendi, mis viitab igale rajale õige keelumärgiga.

Järjekorra usaldusväärsus�ja korduskäsitlus

Järjekorra usaldusväärsus�ja korduskäsitlus

SQS abil tuleb korralikult hallata duplikaate, nähtavusaegade lõppemisi ja ebaõnnestunud töid. Kui töö ebaõnnestub, peaks sõnum tulema tagasi järjekorda korduskäsitluseks. Kui sama fail on kord juba järjekorda pandud, ei tohiks me seda uuesti töödelda.

Haldus Kuberneteses

Haldus Kuberneteses

Iga konversioonitöö kasutab palju protsessorit ja mälu. Me pidime seadistama ajutised kettad, sõlme-afiniteedireeglid ja korraliku puhastuse, et tööd ei kuhjuks ega blokeeriks üksteist.

Mitme projekti isolatsioon S3-s

Mitme projekti isolatsioon S3-s

Teenust kasutatakse mitme projekti jaoks samaaegselt. Igalühel peab olema oma väljundi rada S3-s, ja meil tuli toetada nii väljaandjale kui ka sarjale põhinevaid kaustastruktuure, ilma midagi rikkumata.

Automaatne kodeki valik

Automaatne kodeki valik

Kõigil masinatel pole GPU kiirendust. Süsteem pidi tuvastama, millised kodekid on saadaval — NVIDIA, Intel Quick Sync, AMD või lihtsalt tarkvara — ja automaatselt parima valima.

Protsess

Kogu torujuht töötab ilma inimsekkumiseta — alates failist, mis maandub S3-sse, kuni lõpplahenduse HLS-väljundini, mis on valmis esitamiseks. Iga samm annab edasi puhtalt järgmisele, sisseehitatud turvamehhanismidega tõrgete, duplikaatide ja ressursside jagamise vastu. Allpool on, kuidas süsteem viib faili läbi täis konverteerimistsükli.

Järjekorra pärimine

Järjekorra pärimine

Tööhaldur töötab Kuberneteses ja pärib SQS järjekorda pika ootamisega. Kui sõnum saabub, analüüsib ta S3 ämbrit ja objekti võtit allika faili tuvastamiseks.

Korduste vältimine

Korduste vältimine

Enne uue töö loomist kontrollib haldur, kas Kuberneteses sama failiga töö juba eksisteerib. Kui jah, siis sõnum pannakse tagasi järjekorda viivitusega, et vältida topelttöötlemist.

Kubernetes töö loomine

Kubernetes töö loomine

Uus pod luuakse mallist õige ressursipiirangu, ARM-põhiste instantside sõlme-afiniteedi ja ajutiste kettastega ajutiste failide, sisendi, väljundi ja logide jaoks.

Video ja heli konvertimine

Video ja heli konvertimine

FFmpeg teisendab video viieks HLS resolutsiooniks (1080p→240p) 4-sekundiliste segmentidega. Iga helirada tuvastatakse ja teisendatakse viieks bitikiiruse tasemeks — 32 kuni 192 kbps.

Peamise esitusloendi genereerimine

Peamise esitusloendi genereerimine

Üks m3u8 peafail viitab kõikidele video resolutsioonidele ja heliradadele keelemetaandmetega — võimaldades adaptiivset voogedastust ja keelevahetust ükskõik millises moodsas pleieris.

Üleslaadimine, puhastus ja automaatskaalumine

Üleslaadimine, puhastus ja automaatskaalumine

Kõik failid laaditakse paralleelselt S3-sse 500-niidilise puuliga. Vanad HLS segmendid puhastatakse enne uue komplekti saabumist. Automaatskaaler skaleerib sõlmed nulli, kui järjekord tühjeneb.

Lahendused

Lahenduse peamised omadused

  • Adaptiivne bitikiirusega video - 5 taset—240p (300 kbps) → 1080p (5000 kbps) ühes esitusloendis. Automaatne kvaliteedi valik ühenduse kiiruse põhjal.

  • Mitme raja heli koos keelumärkidega — tuvastab ja teisendab kõik helirajad, sealhulgas kommentaarid ja kirjeldused, säilitades keelemetaandmed.

  • Automaatne kodeci tuvastus — Kasutab NVIDIA / Intel / AMD kiirendust või tarkvaralist tagasipõrget, kui GPU puudub.

  • Null seisaku kulu automaatskaleerimine — EC2 sõlmed skaleeruvad nulli, kui järjekord on tühi. Aktiivseid töid kaitstakse enneaegse lõpetamise eest.

  • Mitme projekti S3 isoleerimine — Igal projektil on oma S3 väljundtee. Toetab nii kirjastaja- kui ka sarjapõhiseid kaustastruktuure.


Image

Tulemused arvudes

Video kvaliteedi ulatus

1080p

Viis adaptiivse bitikiirusega astet alates 240p 300 kbps juurest kuni täis-HD 1080p 5000 kbps-ni — esitaja vahetab kvaliteeti automaatselt ühenduse kiiruse põhjal.

Paralleelsed üleslaadimisniidid

500x

Sajad väljundfailid — segmentideks, esitusloenditeks, pisipiltideks, eelvaadeteks — laetakse S3-sse üles samaaegselt niidipuhvri abil, hoides tarneaega minimaalsena.

HLS segmendi kestus

4sek

4-sekundilised HLS-segmendid tasakaalustavad adaptiivse vahetuse kiirust ja puhverdamise tõhusust — esitaja reageerib võrgumuutustele ühe segmendi piires.

Heliraja bitikiiruse tasemed

5x

Iga heli­raja — kaasa arvatud kommentaar ja kirjeldus — saab kuni viis kvaliteeditaset alates 32 kbps (HE-AAC) kuni 192 kbps (LC-AAC) koos valjuse normaliseerimisega.

Ehita oma platvormile skaleeritav meedia torujuhe!

Hangi täielikult automatiseeritud HLS muundussüsteem, mis skaleerub sinu sisu järgi - ja me aitame leida sinu projekti jaoks optimaalse arhitektuuri.

Message not sent.
Message not sent.
×
Pole kindel, kust alustada? Aitame teil järgmised sammud välja töötada!
×
On väljakutse? Meie meeskond muudab selle lahenduseks.
Nõusolek isikuandmete töötlemiseks