Meedia konverteerimise teenus

Juhtumi ülevaade

See on pilvepõhine meedia konverteerimise teenus, mis võtab video- ja helifailid ning teisendab need HLS voogedastuse vormingusse kohanduva bitikiiruse toega. Süsteem kuulab SQS järjekorda uute failide jaoks, käivitab igaühe jaoks Kubernetes töö ning toodab täieliku komplekti m3u8 esitusloendeid ja .ts segmente, mis on valmis mis tahes kaasaegseks videopleieriks.


See toetab mitut videotugevust, mitut bitikiiruse taset helile ja haldab videoid mitme helirada abil — kaasa arvatud erinevad keeled või kommentaarid. Teenus töötab samaaegselt mitme projektiga ja korraldab väljundid S3-sse eraldi kaustadesse projekti või väljaandja alusel.

Eesmärk: Luua täiesti automatiseeritud teenus, mis teisendab mistahes video- või helifaili HLS vormingusse ilma käsitsi sekkumiseta – töötab mitme projekti ulatuses, haldab erinevaid sisutüüpe ja skaleerub nulli seisakujärgselt.

Image

Olulised projekti andmed

Tööstusharud

Tööstusharud

Meedia ja meelelahutus, videovoogude platvormid, OTT ja ringhäälinguteenused, digitaalne väljaandmine, sisuedastusvõrgud — iga ettevõte, kes vajab video- või helisisu edastamist lõppkasutajatele erinevates seadmetes ja varieeruvates võrgutingimustes.

Teenused

Teenused

SQS järjekorra töötlemine pika pollimise ja nähtavuse ajalõpu haldusega, FFmpeg & FFprobe meediumi transkodeerimine ja voogude analüüs, Kubernetes töö orkestreerimine vahetute salvestusruumidega ja sõlme sobivusega, paralleelne S3 üleslaadimise torujuhe enne üleslaadimist puhastusega.

Lahendused

Lahendused

Mitme resolutsiooniga HLS video — 1080p, 720p, 480p, 360p, 240p kohanduva bitikiirusega, Mitme bitikiirusega audio HLS — 32, 64, 96, 128, 192 kbps tasemed iga heliraja kohta, Kõigi heli voogude automaatne tuvastus koos keele metaandmetega, Kuvatõmmised 2-sekundise 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 automaatne skaleerimine, Docker, Helm

Väljakutsed

Paljud väljundvormingud ühest sisendist

Paljud väljundvormingud ühest sisendist

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

Mitmed helivood ühe video faili kohta

Mitmed helivood ühe video faili kohta

Mõned videod sisaldavad mitut helirada erinevates keeltes. Süsteem pidi need kõik automaatselt tuvastama, igaühe eraldi teisendama ning koostama põhiesitusloendi, mis viitab kõigile radadele õige keelemärgiga.

Järjekorra töökindlus ja korduskatsete loogika

Järjekorra töökindlus ja korduskatsete loogika

SQSiga tuleb õigesti käsitleda duplikaate, nähtavuse aegumisi ja ebaõnnestunud töid. Kui töö ebaõnnestub, peaks sõnum tulema tagasi järjekorda korduskatseks. Kui sama fail lisatakse kahte korda, ei tohiks seda uuesti töödelda.

Haldus Kuberneteses

Haldus Kuberneteses

Iga konverteerimistöö kasutab palju protsessorit ja mälu. Pidime seadistama ajutised salvestusruumid, sõlme sobivuse reeglid ja korrektse koristuse, et tööd ei kuhjuks ega blokeeriks üksteist.

Mitme projekti isoleerimine S3-s

Mitme projekti isoleerimine S3-s

Teenust kasutatakse mitme projekti jaoks korraga. Igal peaks olema oma väljundtee S3-s ning pidime toetama nii väljaandja-põhiseid kui ka seeriapõhiseid kaustastruktuure, ilma midagi rikkumata.

Automaatne koodeki valik

Automaatne koodeki valik

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

Protsess

Terve töövoog käib ilma inimese sekkumiseta — alates hetkest, mil fail maandub S3-le, kuni lõpliku HLS väljundini, mis on valmis esitamiseks. Iga samm antakse puhtalt üle järgmisele, koos sisseehitatud kaitsetega vigade, duplikaatide ja ressursside vastasseisu vastu. Allpool on kirjeldatud, kuidas süsteem faile kogu konverteerimistsükli jooksul töötleb.

Järjekorra pärimine

Järjekorra pärimine

Tööde haldur töötab Kuberneteses ja kontrollib SQS järjekorda pika pärimisega. Kui sõnum saabub, analüüsib see S3 konteinerit ja objekti võtit allika faili tuvastamiseks.

Duplikaatide vältimine

Duplikaatide vältimine

Enne uue töö loomist kontrollib haldur, kas samale failile on juba olemas Kubernetesi töö. Kui on, pannakse sõnum viivitusega uuesti järjekorda, et vältida topelt töötlemist.

Kubernetesi töö loomine

Kubernetesi töö loomine

Uus pod luuakse mallist koos õiget tüüpi ressursside piirangute, ARM-põhiste instantside sõlme sobivuse ja ajutiste salvestusruumidega ajutiste failide, sisendi, väljundi ja logide jaoks.

Video- ja heli teisendus

Video- ja heli teisendus

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

Põhiesitusloendi genereerimine

Põhiesitusloendi genereerimine

Üksainus m3u8 põhifail viitab kõigile video resolutsioonidele ja heliradadele koos keelemetaandmetega — võimaldades kohanduvat voogedastust ja keelevahetust igas kaasaegses pleieris.

Üleslaadimine, koristus ja automaatne skaleerimine

Üleslaadimine, koristus ja automaatne skaleerimine

Kõik failid laaditakse S3-le paralleelselt 500-niidilise pildi kaudu. Vana HLS segment puhastatakse enne uue komplekti kohale jõudmist. Automaatse skaleerija lülitab sõlmed nulli, kui järjekord tühjeneb.

Lahendused

Lahenduse peamised omadused

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

  • Mitme raja heli keelemärkidega — Tuvastab ja teisendab kõik helirajad, sealhulgas kommentaarid ja kirjeldused, säilitades keele metaandmed.

  • Automaatne koodeki tuvastus — Kasutab NVIDIA / Intel / AMD kiirendust või tarkvara võimaluse korral, kui GPU puudub.

  • Nullkulu seisaku auto-skaleerimine — EC2 sõlmed skaleeruvad nullini, kui järjekord on tühi. Aktiivsed tööd on kaitstud ennetähtaegse lõpetamise eest.

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


Image

Tulemused numbrites

Video kvaliteedi katvus

1080p

Viis adaptiivse bitikiiruse taset alates 240p 300 kbps juurest kuni täis-HD 1080p 5000 kbps-ni — mängija vahetab kvaliteeti automaatselt ühenduse kiiruse järgi.

Paralleelsed üleslaadimise lõimed

500x

Sajad väljundfailid — segmendid, esitusloendid, pisipildid, eelvaated — laaditakse S3-le korraga lõimede hulgast, hoides kohaletoimetamise aja minimaalsena.

HLS segmenteeritud kestus

4 sek

4-sekundilised HLS segmendid tasakaalustavad adaptiivset vahetamiskiirust ja puhverdustõhusust — mängija reageerib võrgumuutustele ühe segmendi piires.

Heli bitikiiruse tasemed rajati kohta

5x

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

Ehita oma platvormile skaleeritav meediatoru!

Hangi täielikult automatiseeritud HLS konverteerimisüsteem, mis skaleerub koormusega - ja aitame sul leida parima arhitektuuri oma projektile.

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