Meedia konverteerimise teenus

Juhtumi ülevaade

See on pilvepõhine meedia konverteerimise teenus, mis võtab video- ja helifailid ning muudab need HLS voogedastusvorminguks adaptatiivse bitikiiruse toega. Süsteem kuulab SQS järjekorda uute failide jaoks, käivitab igaühe jaoks Kubernetes töö, ja toodab täiskomplekti m3u8 esitusloendeid ning .ts segmentide komplekti, mis on valmis igaks moodsaks videopleieriks.


See toetab mitut videotugevust, mitut helikvaliteedi taset ja haldab videoid, millel on mitu helirada — sh erinevad keeled või kommentaarid. Teenus töötab samaaegselt mitme projektiga ja organiseerib väljundid S3 erinevatesse kaustadesse projekti või väljaandja järgi.

Eesmärk: Luuakse täielikult automatiseeritud teenus, mis konverteerib iga video- või helifaili HLS vormingusse ilma käsitsi sekkumiseta — töötab mitmes projektis, haldab erinevaid sisutüüpe ja skaleerub nulli, kui pole tegevust.

Image

Peamised projekti andmed

Tööstusharud

Tööstusharud

Meedia ja meelelahutus, videovoogedastuse platvormid, OTT ja ringhäälinguteenused, digitaalne väljaandmine, sisutarnejõudluse võrgud — iga ettevõte, kellel on vaja tarbida video- või helisisu erinevatel seadmetel ja erinevate võrguoludega.

Teenused

Teenused

SQS järjekorra töötlemine pikkade päringutega ja nähtavuse ajapiirangute haldamine, FFmpeg & FFprobe meedia transkodeerimine ja voo analüüs, Kubernetes töökorraldus efemeersete mahtudega ja sõlme afiniidsuse reeglitega, paralleelne S3 üleslaadimise torujuhe eelneva puhastusega.

Lahendused

Lahendused

Mitmetugi HLS video—1080p, 720p, 480p, 360p, 240p adaptatiivse bitikiirusega, mitmetasandiline heliline HLS—32, 64, 96, 128, 192 kbps igal heliradal, automaatne kõigi helivoogude tuvastus keelemetaandmetega, pisipildid 2-sekundilisel hetkel, 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 automaatskaleerimine, Docker, Helm

Väljakutsed

Mitmed väljundvormingud ühest sisendist

Mitmed väljundvormingud ühest sisendist

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

Mitmed helivood ühe video faili kohta

Mitmed helivood ühe video faili kohta

Mõnel videol on mitu helirada erinevates keeltes. Süsteem pidi kõik automaatselt tuvastama, igaühe eraldi konverteerima ja koostama põhiesitusloendi, mis viitab õigete keelemärgistega kõikidele radadele.

Järjekorra töökindlus ja korduslogika

Järjekorra töökindlus ja korduslogika

SQS kasutamisel tuleb korrektselt käsitleda duplikaate, nähtavuse ajapiiranguid ja ebaõnnestunud töid. Kui töö ebaõnnestub, peaks sõnum järjekorda tagasi minema korduskatseks. Kui sama fail on kaks korda järjekorras, ei tohi teda uuesti töödelda.

Haldus Kuberneteses

Haldus Kuberneteses

Iga konverteerimistöö kasutab palju CPU-d ja mälu. Pidi seadistama efemeersed mahud, sõlme afiniidsuse reeglid ja korrektsed puhastusmeetodid, et tööd ei kuhjuks ega blokeeriks üksteist.

Mitme projekti isolatsioon S3-l

Mitme projekti isolatsioon S3-l

Teenust kasutatakse samaaegselt mitme projekti jaoks. Igal peab olema oma väljundtee S3-s ning pidime toetama nii väljaandjapõhiseid kui seeriapõhiseid kaustastruktuure, ilma midagi rikkumata.

Automaatne koodekivalik

Automaatne koodekivalik

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

Protsess

Kogu torujuhe töötab ilma inimsekkumiseta — alates hetkest, mil fail maandub S3-le, kuni lõpliku HLS väljundi valmis esitamiseks. Iga samm annab korralikult järgmisele üle, sisseehitatud veakaitsega ebaõnnestumiste, duplikaatide ja ressursside jagamise vastu. Allpool on kirjas, kuidas süsteem liigutab faili täieliku konverteerimistsükli läbi.

Järjekorra pärimine

Järjekorra pärimine

Töö haldur töötab Kuberneteses ja pärib SQS järjekorda pika pärimisega. Sõnumi saabudes analüüsib ta S3 ämbri ning objekti võtme, et määrata lähtefail.

Duplikaadi vältimine

Duplikaadi vältimine

Enne uue töö loomist kontrollib haldur, kas Kuberneteses on juba tegemisel sarnane töö. Kui on, pannakse sõnum uuesti järjekorda viivitusega, et vältida topelt töötlemist.

Kubernetes töö loomine

Kubernetes töö loomine

Uus pod luuakse mallist, kus on õige ressursipiirang, ARM-põhiste sõlmede afiniidsus ning efemeersed mahud ajutiste failide, sisendi, väljundi ja logide jaoks.

Video ja heli konverteerimine

Video ja heli konverteerimine

FFmpeg konverteerib video viieks HLS resolutsiooniks (1080p→240p) 4-sekundiliste segmentidega. Iga helirada tuvastatakse ja konverteeritakse viide bitikiiruse tasemesse — 32 kuni 192 kbps.

Põhiesitusloendi genereerimine

Põhiesitusloendi genereerimine

Üks m3u8 põhifail viitab kõigile video resolutsioonidele ja heliradadele keelemetaandmetega — võimaldades adaptatiivset voogesitust ja keelevahetust igas moodsas pleieris.

Üleslaadimine, puhastus ja automaatne skaleerimine

Üleslaadimine, puhastus ja automaatne skaleerimine

Kõik failid laaditakse S3-le paralleelselt 500-niidilise puulõngaga. Vanu HLS segmente puhastatakse enne uue kogumi saabumist. Automaatne skaleerija vähendab sõlmed nullini, kui järjekord on tühi.

Lahendused

Lahenduse peamised omadused

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

  • Mitmeraadiline heli keelemärkidega — Tuvastab ja konverteerib kõik helirajad, sh kommentaarid ja kirjeldused, säilitades keelemetaandmed.

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

  • Null tühikäigukulu automaatne skaala — EC2 sõlmed skaleeruvad nulli, kui järjekord on tühi. Aktiivsed tööd on kaitstud enneaegse lõpetamise eest.

  • Mitme projekti S3 isoleerimine — Iga projekt omab oma S3 väljundteed. Toetab nii kirjastaja- kui ka sarja-põhiseid kaustastruktuure.


Image

Tulemused numbrites

Video kvaliteedi ulatus

1080p

Viis adaptiivse bitikiirusega kihti alates 240p 300 kbps juurest kuni täis-HD 1080p 5000 kbps-ni — mängija valib kvaliteedi automaatselt vastavalt ühenduse kiirusele.

Paralleelsed üleslaadimise lõimed

500x

Sajad väljundfailid — segmentid, esitusloendid, pisipildid, eelvaated — laaditakse samaaegselt S3-sse lõimepõhise töötlusega, hoides kohaletoimetamise aja minimaalsena.

HLS segmentide kestus

4sek

4-sekundilised HLS segmentide kestused tasakaalustavad adaptiivse vahetuse kiirust ja puhverdamise efektiivsust — mängija reageerib võrgu muutustele ühe segmendi piires.

Audio bitikiiruse kihid iga raja kohta

5x

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

Ehitage oma platvormile skaleeritav meediatoru!

Saage täielikult automatiseeritud HLS teisendussüsteem, mis skaleerub teie sisuga – ja me aitame teil leida optimaalse arhitektuuri teie projekti jaoks.

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