Usluga pretvaranja medija

Pregled slučaja

Ovo je usluga pretvaranja medija temeljena na oblaku koja uzima video i audio datoteke i pretvara ih u HLS streaming format s podrškom za adaptivni bitrate. Sustav osluškuje SQS red za nove datoteke, pokreće Kubernetes posao za svaku datoteku i proizvodi cjelokupan skup m3u8 popisa za reprodukciju i .ts segmenata spremnih za bilo koji moderni video player.


Podržava više rezolucija za video, više slojeva bitratea za audio te obrađuje videozapise s nekoliko audio zapisa — uključujući različite jezike ili komentare. Usluga radi istovremeno za više projekata i organizira izlaze u zasebne mape na S3 na temelju projekta ili izdavača.

Cilj: Izgraditi potpuno automatiziranu uslugu koja pretvara bilo koju video ili audio datoteku u HLS format bez ručne intervencije - radeći na više projekata, obrađujući različite vrste sadržaja i skalirajući na nulu kad je neaktivna.

Image

Ključne informacije o projektu

Industrije

Industrije

Mediji i zabava, platforme za video streaming, OTT i emitentske usluge, digitalno izdavaštvo, mreže za isporuku sadržaja — svaki posao koji treba isporučiti video ili audio sadržaj krajnjim korisnicima na različitim uređajima i raznim uvjetima mreže.

Usluge

Usluge

Obrada SQS reda s dugim ispitivanjem i upravljanjem vidljivosti, FFmpeg i FFprobe pretvaranje medija i analiza streama, orkestracija Kubernetes poslova s privremenim volumenima i afinitetom čvorova, paralelni prijenos u S3 s prethodnim čišćenjem.

Rješenja

Rješenja

Višerezolucijski HLS video — 1080p, 720p, 480p, 360p, 240p s adaptivnim bitrateom, višeslojni audio HLS — 32, 64, 96, 128, 192 kbps po audio zapisu, automatska detekcija svih audio streamova s jezičnim metapodacima, sličice na 2 sekunde, niskorezolucijski MP4 pregled, MP3 i WAV kopije.

Tehnologije

Tehnologije

AWS SQS, S3, Kubernetes, FFmpeg, FFprobe, H.264, AAC/HE-AAC, HLS/m3u8, NVIDIA NVENC, Intel Quick Sync, EC2 Auto Scaling, Docker, Helm

Izazovi

Mnogo izlaznih formata iz jednog ulaza

Mnogo izlaznih formata iz jednog ulaza

Jedna video datoteka može proizvesti stotine datoteka — pet video rezolucija, pet audio bitrate razina po audio zapisu, plus sličice i pregledi. Morali smo sve to uredno organizirati i brzo prenijeti.

Više audio streamova po video datoteci

Više audio streamova po video datoteci

Neki videozapisi dolaze s nekoliko audio zapisa na različitim jezicima. Sustav ih je morao sve automatski detektirati, svaki zasebno pretvoriti i izgraditi glavni popis koji referencira svaki zapis s odgovarajućom jezičnom oznakom.

Pouzdanost reda i logika ponovnih pokušaja

Pouzdanost reda i logika ponovnih pokušaja

Sa SQS-om morate pravilno upravljati duplikatima, timeoutima vidljivosti i neuspjelim poslovima. Ako posao zakaže, poruka bi trebala ponovno ići u red za ponovni pokušaj. Ako se ista datoteka dva puta stavi u red, ne smijemo je ponovno obrađivati.

Upravljanje na Kubernetesu

Upravljanje na Kubernetesu

Svaki posao pretvorbe koristi puno CPU-a i memorije. Morali smo postaviti privremene volumene, pravila afiniteta čvorova i pravilno čišćenje da se poslovi ne nagomilavaju niti blokiraju jedan drugoga.

Izolacija više projekata na S3

Izolacija više projekata na S3

Usluga radi za više projekata odjednom. Svaki treba vlastitu izlaznu stazu na S3 i morali smo podržati strukture mapa temeljene na izdavaču i na seriji bez problema.

Automatski odabir kodeka

Automatski odabir kodeka

Nijedan stroj nema uvijek hardversko ubrzanje GPU-om. Sustav je morao detektirati koji kodeci su dostupni — NVIDIA, Intel Quick Sync, AMD ili samo softverski — i automatski izabrati najbolji.

Proces

Cijeli proces radi bez ljudske intervencije — od trenutka kada datoteka stigne na S3 do konačnog HLS izlaza spremnog za reprodukciju. Svaki korak uredno predaje sljedećem, s ugrađenim mjerama za neuspjehe, duplikate i konflikt resursa. Ispod je kako sustav vodi datoteku kroz cijeli ciklus pretvorbe.

Ispitivanje reda

Ispitivanje reda

Upravitelj poslova radi na Kubernetesu i ispitivački provjerava SQS red dugim ispitivanjem. Kad poruka stigne, parsira S3 spremnik i ključ objekta da identificira izvornu datoteku.

Sprečavanje duplikata

Sprečavanje duplikata

Prije stvaranja novog posla, upravitelj provjerava postoji li već posao u Kubernetesu za istu datoteku. Ako postoji, poruka se ponovno stavlja u red s odgodom kako bi se spriječila dvostruka obrada.

Kreiranje Kubernetes posla

Kreiranje Kubernetes posla

Novi pod se kreira iz predloška sa pravilnim ograničenjima resursa, afinitetom čvorova za ARM instance i privremenim volumenima za privremene datoteke, ulaz, izlaz i zapise.

Pretvorba videa i audio zapisa

Pretvorba videa i audio zapisa

FFmpeg pretvara video u pet HLS rezolucija (1080p→240p) sa segmentima od 4 sekunde. Svaki audio zapis se detektira i pretvara u pet slojeva bitratea — od 32 do 192 kbps.

Generiranje glavnog popisa za reprodukciju

Generiranje glavnog popisa za reprodukciju

Jedna m3u8 glavna datoteka referencira sve video rezolucije i audio zapise s jezičnim metapodacima — omogućujući adaptivni streaming i promjenu jezika u bilo kojem modernom playeru.

Prijenos, čišćenje i automatsko skaliranje

Prijenos, čišćenje i automatsko skaliranje

Sve datoteke se prenose u S3 paralelno preko bazena sa 500 niti. Stari HLS segmenti se čiste prije nego što stigne novi set. Automatski skalator smanjuje broj čvorova na nulu kad red postane prazan.

Rješenja

Ključne značajke rješenja

  • Adaptivni video s promjenjivim bitrateom - 5 razina — 240p (300 kbps) → 1080p (5000 kbps) u jednom popisu za reprodukciju. Automatski odabir kvalitete prema brzini veze.

  • Više audio zapisa s jezičnim oznakama — Detektira i pretvara sve audio zapise, uključujući komentare i opise, uz očuvanje jezičnih metapodataka.

  • Automatsko otkrivanje kodeka — Koristi ubrzanje NVIDIA / Intel / AMD ili softversku rezervu ako nema GPU-a.

  • Automatsko skaliranje bez troška mirovanja — EC2 čvorovi se smanjuju na nulu kad je red prazan. Aktivni poslovi su zaštićeni od prerane obustave.

  • Izolacija višestrukih projekata u S3 — Svaki projekt ima svoj vlastiti izlazni put u S3. Podržava strukture mapa temeljene na izdavaču i seriji.


Image

Rezultati u brojkama

Pokriće kvalitete videa

1080p

Pet razina prilagodive brzine prijenosa od 240p pri 300 kbps do punog HD 1080p pri 5000 kbps — reproduktor automatski mijenja kvalitetu prema brzini veze.

Paralelne niti za prijenos

500x

Stotine izlaznih datoteka — segmenti, popisi za reprodukciju, sličice, pregledi — istovremeno se prenose u S3 putem skupa niti, održavajući vrijeme isporuke minimalnim.

Trajanje segmenta HLS-a

4 sek

HLS segmenti od 4 sekunde balansiraju brzinu prilagodljive promjene s učinkovitošću baferiranja — reproduktor reagira na mrežne promjene unutar granice jednog segmenta.

Razine brzine zvuka po zapisu

5x

Svaki audio zapis — uključujući komentare i opis — dobiva do pet razina kvalitete od 32 kbps (HE-AAC) do 192 kbps (LC-AAC) s normalizacijom glasnoće.

Izgradite skalabilnu medijsku cjevovodnu liniju za svoju platformu!

Nabavite potpuno automatizirani sustav pretvorbe HLS-a koji se skalira s vašim sadržajem - i pomoći ćemo vam pronaći optimalnu arhitekturu za vaš projekt.

Message not sent.
Message not sent.
×
Niste sigurni odakle početi? Pomoći ćemo vam da definirate sljedeće korake!
Sklapanje privole za obradu osobnih podataka
×
Imate izazov? Naš tim će ga pretvoriti u rješenje.
Sklapanje privole za obradu osobnih podataka