Meediumikonverteri teenus

Juhul ülevaade

See on pilvepõhine meediumikonversiooniteenus, mis võtab video- ja audiofaile ning teisendab need HLS voogedastusformaati, toetades adaptiivset bitikiirust. Süsteem kuulab SQS järjekorda uute failide jaoks, käivitab igaühe jaoks Kubernetes töö ja toodab täieliku komplekti m3u8 esitusloendeid ja .ts segmenti, mis on valmis kasutamiseks ükskõik millises kaasaegses videomängijas.


See toetab mitut eraldusvõimet videole, mitut bitikiiruse taset audiosse ning käitleb videoid mitme helirada - sh eri keelte või kommentaaridega. Teenus töötab samaaegselt mitme projektiga ja korraldab väljundid eraldi kaustadesse S3-s vastavalt projektile või väljaandjale.

Eesmärk: Luua täielikult automatiseeritud teenus, mis teisendab iga video- või audiofaili HLS formaati ilma käsitsi sekkumiseta - töötades mitme projektiga, käsitledes erinevaid sisutüüpe ja skaleerudes nullini, kui tegevus puudub.

Image

Peamised projekti andmed

Tööstusharud

Tööstusharud

Meedia ja meelelahutus, video voogedastusplatvormid, OTT- ja ringhäälinguteenused, digitaalse väljaandmine, sisu edastamise võrgud - iga ärivaldkond, mis peab edastama video- või audio sisu lõppkasutajatele erinevates seadmetes ja erinevates võrgu tingimustes.

Teenused

Teenused

SQS järjekorra töötlemine pika küsitlemise ja nähtavuse ajalõpu haldamisega, FFmpeg & FFprobe meediumitranskodeerimine ja voo analüüs, Kubernetes töö orkestreerimine mööduvate mahtude ja sõlmete sobivusega, paralleelne S3 üleslaadimise torujuhtme puhastamisega enne üleslaadimist.

Lahendused

Lahendused

Mitme eraldusvõimega HLS video — 1080p, 720p, 480p, 360p, 240p adaptiivse bitikiirusega, Mitme bitikiirusega audio HLS — 32, 64, 96, 128, 192 kbps tasemed heliraja kohta, Kõigi helivoogude automaatne tuvastamine keele metaandmetega, 2-sekundilise märgi pisipildid, madala eraldusvõimega 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

Palju väljundiformaate ühest sisendist

Palju väljundiformaate ühest sisendist

Üksik videofail võib toota sadu faile — viis video eraldusvõimet, viis audio bitikiirust heliraja kohta, lisaks pisipildid ja eelvaated. Peame kõik selle korralikult organiseerima ja kiiresti üles laadima.

Mitmed helivoogud ühes videofailis

Mitmed helivoogud ühes videofailis

Mõnel videos on mitu helirada erinevates keeltes. Süsteem pidi need kõik automaatselt tuvastama, igaüks eraldi teisendama ja looma põhijärjestuse, mis viitab igale rajale õige keele sildiga.

Järjekorra töökindlus ja taaskäivituse loogika

Järjekorra töökindlus ja taaskäivituse loogika

SQS-iga tuleb õigesti käsitleda duplikaate, nähtavuse ajalõppeid ja ebaõnnestunud töid. Kui töö ebaõnnestub, peaks sõnum tulema tagasi järjekorda uuskäivituseks. Kui sama fail pandakse järjekorda kaks korda, ei tohiks seda uuesti töödelda.

Halduse korraldus Kuberneteses

Halduse korraldus Kuberneteses

Iga konversioonitöö kasutab palju CPU ja mälu. Pidi seadistama mööduvad helitugevused, sõlme sobivuse reeglid ja korrektsed puhastused, nii et tööd ei kuhjuks ega blokeeriks üksteist.

Mitme projekti isolatsioon S3-s

Mitme projekti isolatsioon S3-s

Teenust kasutatakse korraga mitmel projektil. Igal projektil peab olema oma väljundtee S3-s ning pidime toetama nii väljaandjapõhiseid kui ka sarjapõhiseid kaustastruktuure, ilma et midagi puruneks.

Automaatne koodeki valik

Automaatne koodeki valik

Igal masinal ei ole GPU kiirendust. Süsteem pidi tuvastama, millised koodekid on saadaval – NVIDIA, Intel Quick Sync, AMD või lihtsalt tarkvara – ja automaatselt parima valima.

Protsess

Kogu torujuhtmiku töö toimub ilma inimsekkumiseta — alates hetkest, mil fail jõuab S3-sse kuni lõpliku HLS väljundi valmimiseni esitamiseks. Iga samm antakse sujuvalt järgmisele üle, millel on sisseehitatud kaitsemehhanismid ebaõnnestumiste, duplikaatide ja ressursikonkurentsi vastu. Allpool on kirjeldatud, kuidas süsteem liigub faili täieliku konversioonitsükli jooksul.

Järjekorra küsitlemine

Järjekorra küsitlemine

Tööhaldur töötab Kuberneteses ja küsib pika ootamisajaga SQS järjekorda. Kui sõnum saabub, analüüsib ta S3 ämbrisse ja objekti võtmesse, et tuvastada allikafail.

Duplikaatide vältimine

Duplikaatide vältimine

Enne uue töö loomist kontrollib haldur olemasolevat Kubernetes tööd sama faili jaoks. Kui leitakse, lükatakse sõnum viivitusega uuesti järjekorda topelttöötluse vältimiseks.

Kubernetes töö loomine

Kubernetes töö loomine

Uus pod luuakse mallist õiget ressursside piiramist, ARM-põhiste eksemplaride sõlme sobivust ja mööduvaid mahte toetades, ajutiste failide, sisendi, väljundi ja logide jaoks.

Video ja audio konversioon

Video ja audio konversioon

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

Põhiesitusloendi genereerimine

Põhiesitusloendi genereerimine

Üksik m3u8 põhifail viitab kõigile video eraldusvõimetele ja heliradadele koos keele metaandmetega — võimaldades adaptiivset voogedastust ja keele vahetamist igas kaasaegses mängijas.

Üleslaadimine, puhastamine ja automaatskaleerimine

Üleslaadimine, puhastamine ja automaatskaleerimine

Kõik failid laaditakse S3-sse paralleelselt 500-niidilise hulga kaudu. Vanad HLS segmendid puhastatakse enne uue komplekti saabumist. Automaatskaleerija vähendab sõlmed nullini, kui järjekord tühjeneb.

Lahendused

Lahenduse peamised omadused

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

  • Mitmerajaline heli keelesiltidega — Tuvastab ja teisendab kõik helirajad, sealhulgas kommentaarid ja kirjeldused, säilitades keeleteabe.

  • Automaatne koodekite tuvastamine — Kasutab NVIDIA / Intel / AMD kiirendust või tarkvaralist varuplaani, kui GPU puudub.

  • Null seisakukulukusega automaatne skaleerimine — EC2 sõlmed vähendavad koormust nullini, kui järjekord on tühi. Aktiivsed tööd on kaitstud ennetava lõpetamise eest.

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


Image

Tulemused numbrites

Video kvaliteedi katvus

1080p

Viis adaptiivse bitikiiruse taset alates 240p 300 kbps juures kuni täis-HD 1080p 5000 kbps juures — mängija vahetab kvaliteeti automaatselt ühenduse kiiruse põhjal.

Paralleelsed üleslaadimise lõimed

500x

Sajad väljundfailid — segmendid, esitusloendid, pisipildid, eelvaated — laaditakse S3-le samaaegselt lõimede hulgiga, hoides tarnimisaja võimalikult lühikese.

HLS segmenteeritud kestus

4sek

4-sekundilised HLS segmendid tasakaalustavad adaptiivset vahetamise kiirust ja buferdamise efektiivsust — mängija reageerib võrgu muutustele ühe segmentpiiri jooksul.

Heli bitikiiruse tasemed loo kohta

5x

Iga heli rada — sh kommentaar ja kirjeldus — saab kuni viis kvaliteeditaset vahemikus 32 kbps (HE-AAC) kuni 192 kbps (LC-AAC) koos heli valjuse normaliseerimisega.

Ehita skaleeritav meediapuhver oma platvormile!

Saa täielikult automatiseeritud HLS teisendussüsteem, mis skaleerub vastavalt sinu sisule - ja aitame leida optimaalse arhitektuuri sinu projektile.

Message not sent.
Message not sent.
×
Ei tea, kust alustada? Me aitame teil järgmised sammud kavandada!
Nõusolek isikuandmete töötlemiseks
×
Kas Teil on väljakutse? Meie meeskond muudab selle lahenduseks.
Nõusolek isikuandmete töötlemiseks