Meediumimuunduri teenus

Juhtumite ülevaade

See on pilvepõhine meediumi teisendus teenus, mis võtab video- ja helifailid ning teisendab need HLS voogesituse formaadiks adaptiivse bitikiiruse toega. Süsteem kuulab SQS järjekorda uute failide jaoks, käivitab igaühe jaoks Kubernetesi töö, ning genereerib kogu m3u8 esitusloendi ja .ts segmentide komplekti, mis on valmis igas moodsas videopleieris kasutamiseks.


Toetab mitut video resolutsiooni, mitut helikiirust iga helirada jaoks ning suudab töödelda videoid, millel on mitu helirada — kaasa arvatud erinevad keeled või kommentaarid. Teenus töötab samaaegselt mitme projektiga ja korraldab väljundid eraldi kaustadeks S3-s vastavalt projektile või väljaandjale.

Eesmärk: Luua täielikult automatiseeritud teenus, mis teisendab mis tahes video- või helifaili HLS formaati ilma käsitsi sekkumiseta - töötab mitmete projektide kaudu, käsitleb mitmekesiseid sisutüüpe ja skaleerub tühikäigul nulli.

Image

Peamised projekti andmed

Tööstusharud

Tööstusharud

Meedia ja meelelahutus, videovoogedastusplatvormid, OTT ja ringhäälinguteenused, digitaalne kirjastamine, sisuedastusvõrgud — iga ettevõte, kes peab tarnima video- või heli sisu lõppkasutajatele erinevates seadmetes ja varieeruvate võrguoludega.

Teenused

Teenused

SQS järjekorra töötlemine pika päringuga ja nähtavusajastusega juhtimine, FFmpeg ja FFprobe meediumite teisendus ja voo analüüs, Kubernetes tööde korraldus ajutiste mahutite ja sõlme eelistusega, paralleelne S3 üleslaadimine koos eelnevate puhastustega.

Lahendused

Lahendused

Multi-resolutsiooniga HLS video — 1080p, 720p, 480p, 360p, 240p adaptiivse bitikiirusega, Multi-bitikiirusega heli HLS — 32, 64, 96, 128, 192 kbps tase iga heliraja kohta, automaatne kõigi helivoogude tuvastus keelemetaandmetega, pisipildid 2-sekundilise märgi juures, madala resolutsiooniga 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äljundformaatid ühest sisendist

Paljud väljundformaatid ühest sisendist

Üks video fail võib toota sadu faile — viis video resolutsiooni, viis helikiirusega taset iga heliraja kohta, lisaks pisipildid ja eelvaated. Kõik see tuli korralikult organiseerida ja kiiresti üles laadida.

Mitmed helivoogud ühe video faili kohta

Mitmed helivoogud ühe video faili kohta

Mõned videod sisaldavad mitut helirada erinevates keeltes. Süsteem pidi need automaatselt ära tundma, igaühe eraldi teisendama ja koostama master-esitusloendi, mis viitab kõigile radadele õige keele märgiga.

Järjekorra usaldusväärsus ja taasalustamise loogika

Järjekorra usaldusväärsus ja taasalustamise loogika

SQS-i puhul tuleb korrektselt käsitleda duplikaate, nähtavusajastusi ja ebaõnnestunud tööde kordamist. Kui töö ebaõnnestub, peaks sõnum naasma järjekorda korduskatseks. Kui sama fail saadetakse kaks korda, ei tohiks seda uuesti töödelda.

Juhtimine Kubernetes'is

Juhtimine Kubernetes'is

Iga teisendustöö kasutab palju protsessorit ja mälu. Me pidi seadistama ajutised mahutid, sõlme eelistuse reeglid ja korrektse puhastuse, et tööd ei kuhjuks ega blokeeriks üksteist.

Mitme projekti isolatsioon S3s

Mitme projekti isolatsioon S3s

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

Automaatne koodekivalik

Automaatne koodekivalik

Igal masinal pole GPU kiirendust. Süsteem pidi tuvastama saadaolevad koodekid — NVIDIA, Intel Quick Sync, AMD või ainult tarkvara — ja valima automaatselt parima.

Protsess

Terve torujuhe töötab ilma inimsekkumiseta — alates hetkest, kui fail maandub S3-sse kuni viimase HLS väljundi esitamiseks valmis saamiseni. Iga samm juhib sujuvalt järgmisele, sisseehitatud turvameetmetega ebaõnnestumiste, duplikaatide ja ressursside vaidlustamise vastu. Allpool on kirjeldatud, kuidas süsteem faili täismuundetus tsükli jooksul käsitleb.

Järjekorra pärimine

Järjekorra pärimine

Töödehaldur töötab Kubernetes'is ja pärib SQS järjekorda pika pärimisega. Kui sõnum saabub, analüüsib see S3 ämber ja objekti võtit, et tuvastada algfail.

Duplikaatide vältimine

Duplikaatide vältimine

Enne uue töö loomist kontrollib haldur, kas samale failile on juba loodud Kubernetes töö. Kui leidub, pannakse sõnum viitega tagasi järjekorda, et vältida topelttöötlust.

Kubernetes töö loomine

Kubernetes töö loomine

Uus pod luuakse mallist, millel on õiged ressursipiirangud, sõlme eelistus ARM-põhistele instantsidele ja ajutised mahutid ajutiste failide, sisendi, väljundi ning logide jaoks.

Video ja heli teisendus

Video ja heli teisendus

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

Master esitusloendi genereerimine

Master esitusloendi genereerimine

Üks m3u8 master fail viitab kõigile video resolutsioonidele ja heliradadele keelemetaandmetega — võimaldades adaptiivset voogesitust ja keele vahetamist igas moodsas mängijas.

Üleslaadimine, puhastamine ja automaatskaalumine

Üleslaadimine, puhastamine ja automaatskaalumine

Kõik failid laaditakse paralleelselt S3-sse 500 lõimelises torujuhtmes. Vanad HLS segmendid puhastatakse enne uue komplekti saabumist. Automaatskaaler vähendab sõlmed nulli, kui järjekord tühjaks saab.

Lahendused

Lahenduse peamised omadused

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

  • Mitme raja heli keelemärgistega — Tuletab kõik helirajad, sealhulgas kommentaarid ja kirjeldused, automaatselt välja ja teisendab need, säilitades keele metaandmed.

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

  • Nulltööga autoskaalumine — EC2 sõlmed vähenevad nullini, kui järjekord on tühi. Aktiivsed tööd on kaitstud ennetava lõpetamise eest.

  • Mitme projekti S3 isolatsioon — Igal projektil on oma S3 väljunditee. Toetab nii väljaandja kui ka sarja põhiseid kaustastruktuure.


Image

Tulemused numbrites

Video kvaliteedi katvus

1080p

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

Paralleelsed üleslaadimistöövood

500x

Sajad väljundfailid — segmendid, esitusloendid, pisipildid, eelvaated — laaditakse S3-sse samaaegselt niidujärjestuse kaudu, hoides kohaletoimetamise aja minimaalsena.

HLS segmendi kestus

4sek

4-sekundilised HLS segmendid tasakaalustavad kohanduva vahetuskiiruse ja puhverdamise efektiivsuse — mängija reageerib võrgumuutustele ühe segmendi piires.

Heli bitikiiruse tasemed rajatihti

5x

Iga helirada — kaasa arvatud kommentaar ja kirjeldus — saab kuni viis kvaliteeditaset vahemikus 32 kbps (HE-AAC) kuni 192 kbps (LC-AAC) koos helitugevuse normaliseerimisega.

Ehita skaleeritav meediatoru oma platvormile!

Hangi täielikult automatiseeritud HLS teisendusüsteem, mis skaleerub koos sinu sisuga - ja aitame leida parima 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