Meediumitöötluse teenus

Juhtumi ülevaade

See on pilvepõhine meediumite teisendamise teenus, mis võtab video- ja helifailid ning teisendab need HLS-voogedastusformaati kohanduva bitikiirusega 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 igaks kaasaegseks videopleieriks.


Toetatakse mitut videokvaliteedi resolutsiooni, mitu helikiiruse kategooriat ja hallatakse videoid mitme helirajaga — sh erinevad keeled või kommentaarid. Teenus töötab samaaegselt mitme projektiga ja korraldab väljundid S3-s eraldi kaustadesse projekti või väljaandja põhjal.

Eesmärk: Luuakse täiesti automatiseeritud teenus, mis teisendab iga video- või helifaili HLS formaati ilma manuaalse sekkumiseta - töötab mitmete projektide vahel, haldab erinevat tüüpi sisu ja skaleerub nulli seisakuks.

Image

Põhiprojekti info

Tööstusharud

Tööstusharud

Meedia ja meelelahutus, video voogedastamise platvormid, OTT ja ringhäälinguteenused, digitaalne väljaandmine, sisuloojate võrgustikud — kõik ettevõtted, kes vajavad videot või heli sisu edastada erinevatele seadmetele ja variatiivsetes võrgutingimustes.

Teenused

Teenused

SQS järjekorra töötlemine pika päringu ja nähtavusaja haldusega, FFmpeg ja FFprobe meediumi teisendamine ja voogude analüüs, Kubernetes töö orkestreerimine ajutiste salvestusruumide ja sõlme eelistustega, paralleelse S3 üleslaadimise torujuhe koos eelneva puhastusega.

Lahendused

Lahendused

Mitme resolutsiooniga HLS video — 1080p, 720p, 480p, 360p, 240p kohanduva bitikiirusega, mitme bitikiirusega heli HLS — 32, 64, 96, 128, 192 kbps kategooriad heliraja kohta, automaatne kõigi helivoolude tuvastamine keelemetaandmetega, pisipildid 2-sekundilise märgi juures, madala lahutusvõ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 automaatskaala, Docker, Helm

Väljakutsed

Mitmed väljundvormingud ühest sisendist

Mitmed väljundvormingud ühest sisendist

Üksik videofail võib toota sadu faile — viis videokvaliteedi resolutsiooni, viis helikiiruse taset iga heliraja kohta ning pisipildid ja eelvaated. Kõik see tuli korraldada puhtalt ja kiiresti üles laadida.

Mitmed helivood ühest videost

Mitmed helivood ühest videost

Mõnel videos on mitu helirada erinevates keeltes. Süsteem pidi need kõik automaatselt tuvastama, igaühe eraldi teisendama ja koostama master esitusloendi, mis viitab igale rajale õige keelemärgistusega.

Järjekorra usaldusväärsus ja korduskatse loogika

Järjekorra usaldusväärsus ja korduskatse loogika

SQS-i puhul tuleb õigesti käsitleda duplikaate, nähtavusaja otsa saamist ja ebaõnnestunud töid. Kui töö ebaõnnestub, peaks sõnum korraks tagasi järjekorda tulema, et uuesti proovida. Kui sama fail pannakse järjekorda kaks korda, ei tohi seda uuesti töödelda.

Halduse korraldus Kuberneteses

Halduse korraldus Kuberneteses

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

Mitme projekti isolatsioon S3-s

Mitme projekti isolatsioon S3-s

Teenust kasutatakse mitme projekti jaoks korraga. Igal projektil peab olema oma väljunditee S3-s, ning tuli toetada nii väljaandja kui sarja põhiseid kaustastruktuure, ilma midagi rikkumata.

Automaatne koodeki valik

Automaatne koodeki valik

Kõik masinad ei oma 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 protsess töötab ilma inimese sekkumiseta — alates failide maandumisest S3-s kuni lõpliku HLS väljundi esitamiseks valmis saamiseni. Iga samm annab korrektselt järgmisele üle, sisseehitatud kaitsemehhanismidega vigade, duplikaatide ja ressursside jagamise vastu. Allpool on toodud, kuidas süsteem faili täieliku teisendusprotsessi jooksul liigutab.

Järjekorra pärimine

Järjekorra pärimine

Tööjuhtimissüsteem töötab Kuberneteses ja pärib SQS järjekorda pika päringuga. Kui sõnum saabub, analüüsib see S3 ämbrit ja objekti võtit allikafaili tuvastamiseks.

Duplikaatide vältimine

Duplikaatide vältimine

Enne uue töö loomist kontrollib juhataja, kas sellel failil on juba olemas Kubernetes töö. Kui leitakse, pannakse sõnum hilinemisega uuesti järjekorda, et vältida kahekordset töötlemist.

Kubernetes töö loomine

Kubernetes töö loomine

Uus pod luuakse mallist õigete ressursside piirangute, ARM-põhiste instantside sõlme eelistustega 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-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õikidele video resolutsioonidele ja heliradadele keelemetaandmetega — võimaldades kohanduvat voogedastust ja keele vahetust igas kaasaegses pleieris.

Üleslaadimine, puhastus ja automaatskaala

Üleslaadimine, puhastus ja automaatskaala

Kõik failid laaditakse S3-sse paralleelselt 500-niitmisega. Vanad HLS segmendid puhastatakse enne uue komplekti saabumist. Automaatskaala vähendab sõlmede arvu nullini, kui järjekord tühjaks saab.

Lahendused

Lahenduse peamised omadused

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

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

  • Automaatne koodeki tuvastus — Kasutab NVIDIA / Intel / AMD kiirendust või tarkvara varundust, kui GPU-d pole.

  • Nullkuluv tööautomaadne skaleerimine — EC2 sõlmed vähendavad skaleerimise nullini, kui järjekord on tühi. Aktiivsed tööd on kaitstud enneaegse lõpetamise eest.

  • Mitme projekti S3 isolatsioon— Igal projektil on oma S3 väljundi tee. Toetab nii avaldaja- kui ka sarja-põhiseid kaustastruktuure.


Image

Tulemused numbrites

Video kvaliteedi ulatus

1080p

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

Paralleelsed üleslaadimise niidid

500x

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

HLS segmentide kestus

4sec

4-sekundilised HLS segmendid tasakaalustavad adaptiivse vahetamise kiirust ja puhverdamise tõhusust — mängija reageerib võrgu muutustele ühe segmendi piires.

Audio bitikiiruse tasemed iga raja kohta

5x

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

Loo skaleeritav meediatoru oma platvormile!

Saa täielikult automatiseeritud HLS teisendusüsteem, mis skaleerub sinu sisuga - ja me aitame leida projekti jaoks optimaalse arhitektuuri.

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