Meediumi konverteerimise teenus

Juhtumi ülevaade

See on pilvepõhine meediumiteenuse konverteerimine, mis võtab vastu video- ja audiofaile ning muudab need HLS voogude formaati, mis toetab adaptiivset bitikiirust. Süsteem kuulab SQS järjekorda uute failide jaoks, käivitab igaühe jaoks Kubernetes töö ja toodab täiskomplekti m3u8 esitusloendeid ning .ts segmente, mis on valmis mis tahes kaasaegseks videopleieriks.


See toetab video jaoks mitut eraldusvõimet, audio jaoks mitut bitikiiruse taset ning käsitleb videoid mitme helirajaga – sealhulgas erinevad keeled või kommentaarid. Teenus töötab samaaegselt mitme projektiga ning korraldab väljundid S3 eraldi kaustadesse projekti või väljaandja alusel.

Eesmärk: Ehitada täielikult automatiseeritud teenus, mis teisendab iga video- või audiofaili HLS formaati ilma käsitsi sekkumiseta – toimides mitme projekti ulatuses, käsitledes erinevaid sisutüüpe ja skaleerudes tühikäigu ajal nullini.

Image

Peamised projektiandmed

Tööstusharud

Tööstusharud

Meelelahutus ja meedia, video voogedastuse platvormid, OTT ja levitusteenused, digitaalne kirjastamine, sisulooja võrgustikud — igasugune äri, mis peab edastama video- või audio sisu lõppkasutajatele erinevatel seadmetel ja muutuvates võrgutingimustes.

Teenused

Teenused

SQS järjekorra töötlemine pikkade päringute ja nähtavuse ajahaldamisega, FFmpeg ja FFprobe meedia transcoding ja voo analüüs, Kubernetes töökorraldus ajutiste mahutite ja sõlme eelistusega, paralleelne S3 üleslaadimine koos eel-üleslaadimise puhastusega.

Lahendused

Lahendused

Mitme eraldusvõimega HLS video — 1080p, 720p, 480p, 360p, 240p adaptiivse bitikiirusega, mitme bitikiirusega audio HLS — 32, 64, 96, 128, 192 kbps taset heliraja kohta, automaatne kõigi heli voogude tuvastamine keelega seotud metainfoga, pisipildid 2 sekundi märgil, 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 automaat-skaala, Docker, Helm

Väljakutsed

Mitmed väljundvormingud ühest sisendist

Mitmed väljundvormingud ühest sisendist

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

Mitmed helivood video faili kohta

Mitmed helivood video faili kohta

Mõnel videol on mitu helirada erinevates keeltes. Süsteem pidi need kõik automaatselt tuvastama, igaühe eraldi konverteerima ja koostama meister-esitusloendi, mis viitab igale rajale õige keelemärgiga.

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

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

SQS-ga tuleb korrektselt käsitleda duplikaate, nähtavusajapiiranguid ja nurjunud töid. Kui töö ebaõnnestub, peaks sõnum tulema tagasi järjekorda taaskäivituseks. Kui sama fail pannakse kaks korda järjekorda, ei tohi me seda uuesti töödelda.

Haldus Kubernetes'is

Haldus Kubernetes'is

Iga konverteerimistöö kasutab palju CPU ja mälu. Pidi seadistama ajutised mahtud, 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 kasutati samaaegselt mitme projekti jaoks. Igal projektil peab olema oma väljundtee S3-s ning tuli toetada nii väljaandjapõhiseid kui ka sarjapõhiseid kaustastruktuure, purunemata.

Automaatne kodeki valik

Automaatne kodeki valik

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

Protsess

Terve töövoog toimub ilma inimese sekkumiseta — alates failide maandumisest S3-sse kuni lõpliku HLS väljundi esitamiseks valmisolekuni. Iga samm annab puhtalt järgmisele üle, sisaldades sisseehitatud kaitseid vigade, duplikaatide ja ressursside konkurentsi vastu. Allpool on näha, kuidas süsteem viib faili täieliku konverteerimise tsükli läbi.

Järjekorra päring

Järjekorra päring

Tööde haldur töötab Kubernetes'is ja pärib SQS järjekorda pika päringuga. Kui sõnum saabub, analüüsib see S3 ämbrit ja objekti võtit, et kindlaks teha lähtefail.

Duplikaatide vältimine

Duplikaatide vältimine

Enne uue töö loomist kontrollib haldur, kas Kubernetes'il on juba olemas töö sama faili jaoks. Kui leitakse, pannakse sõnum viivitusega uuesti järjekorda, et vältida topelttöötlust.

Kubernetes töö loomine

Kubernetes töö loomine

Uus pod luuakse mallist koos õigete ressursipiirangute, ARM-põhiste instantside sõlme eelistuse ja ajutiste mahtudega temp-failide, sisendi, väljundi ja logide jaoks.

Video ja audio konverteerimine

Video ja audio konverteerimine

FFmpeg konverteerib video viieks HLS eraldusvõimeks (1080p kuni 240p) 4-sekundiliste segmentidega. Iga helirada tuvastatakse ja konverteeritakse viieks bitikiiruse tasemeks – 32 kuni 192 kbps.

Meister-esitusloendi loomine

Meister-esitusloendi loomine

Üks m3u8 meisterfail viitab kõigile video eraldusvõimetele ja heliradadele keelega seotud metainfoga – võimaldades adaptiivset voogedastust ja keelevahetust mis tahes kaasaegses pleieris.

Üleslaadimine, puhastus ja automaatskaalumine

Üleslaadimine, puhastus ja automaatskaalumine

Kõik failid laaditakse S3-sse paralleelselt 500-niidriga. Vana HLS segmentide komplekt puhastatakse enne uue paigaldamist. Automaatikaskaaler vähendab sõlmedeni null, kui järjekord tühjeneb.

Lahendused

Lahenduse peamised omadused

  • Adaptiivne bitikiirusega video - 5 taset — 240p (300 kbps) kuni 1080p (5000 kbps) ühes esitusloendis. Automaattasemel kvaliteedi valik põhineb ühenduse kiirusel.

  • Mitme raadiusega heli koos keeltemärgistega — Tuvastab ja teisendab kõik helirajad, sealhulgas kommentaarid ja kirjeldused, säilitades samal ajal keele metaandmed.

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

  • Null seisakukulus automaatne skaleerimine — EC2 sõlmed vähenevad nullini, kui järjekord on tühi. Aktiivseid töid kaitstakse enneaegse lõpetamise eest.

  • Mitmeprojektiline S3 isoleerimine — Igal projektil on oma S3 väljundtee. Toetab nii kirjastaja kui ka sarja põhiseid kaustastruktuure.


Image

Tulemused numbrites

Video kvaliteedi ulatus

1080p

Viis adaptiivset bitikiiruse taset vahemikus 240p ja 300 kbps kuni täis-HD 1080p ja 5000 kbps — mängija lülitab kvaliteedi automaatselt vastavalt ühenduse kiirusele.

Paralleelsed üleslaadimiste jooned

500x

Sajad väljundfailid — segmendid, esitusloendid, pisipildid, eelvaated — laaditakse S3-le samaaegselt lõimede grupi kaudu, hoides kohaletoimetamise aega minimaalsena.

HLS segmendi kestus

4sek

4-sekundilised HLS segmendid tasakaalustavad adaptiivse lülituskiiruse ja puhverdamistõhususe — mängija reageerib võrgumuutustele ühe segmendi piires.

Heli bitikiirus raja kohta

5x

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

Ehita oma platvormile skaleeritav meediadünaamiline torujuhe!

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

Message not sent.
Message not sent.
×
Pole kindel, kust alustada? Aitame teil järgmised sammud välja töötada!
×
On väljakutse? Meie meeskond muudab selle lahenduseks.
Nõusolek isikuandmete töötlemiseks