Usluga Pretvarača Medija

Pregled slučaja

Ovo je usluga konverzije medija u oblaku koja uzima video i audio datoteke i pretvara ih u HLS streaming format s podrškom za adaptivnu bitrate. Sustav prati SQS red za nove datoteke, pokreće Kubernetes zadatak za svaku od njih i proizvodi kompletan set m3u8 popisa za reprodukciju i .ts segmenata spremnih za bilo koji moderni video player.


Podržava više rezolucija za video, više slojeva bitrate za audio i upravlja videozapisima s nekoliko audio zapisa — uključujući različite jezike ili komentare. Usluga radi na više projekata istovremeno i organizira izlaze u zasebne mape na S3 prema projektu ili izdavaču.

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

Image

Ključne informacije projekta

Industrije

Industrije

Mediji i Zabava, Platforme za Streaming Videomaterijala, OTT i Emiterske Usluge, Digitalno Izdavaštvo, Mreže za Dostavu Sadržaja — bilo koji posao kojem je potreban video ili audio sadržaj za krajnje korisnike na različitim uređajima i u različitim mrežnim uvjetima.

Usluge

Usluge

Obrada SQS reda s dugim pollingom i upravljanjem vremenskim ograničenjem vidljivosti, FFmpeg & FFprobe transkodiranje medija i analiza streama, orkestracija Kubernetes poslova s epizodnim volumenima i pravilima za odabir čvorova, paralelna S3 pipeline za upload s čišćenjem prije učitavanja.

Rješenja

Rješenja

HLS video visoke rezolucije — 1080p, 720p, 480p, 360p, 240p s adaptivnim bitrateom, HLS audio više bitrate slojeva — 32, 64, 96, 128, 192 kbps po audio zapisu, Automatsko otkrivanje svih audio streamova s jezičnim metapodacima, Sličice u 2-sekundnoj točki, 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 vrijednosti po audio zapisu, plus sličice i pregledi. Morali smo sve to uredno organizirati i brzo učitati.

Više audio streamova po jednoj video datoteci

Više audio streamova po jednoj video datoteci

Neki videozapisi imaju nekoliko audio zapisa na različitim jezicima. Sustav je trebao sve njih automatski otkriti, zasebno konvertirati i izraditi glavni popis za reprodukciju koji referencira svaki zapis s ispravnim jezičnim oznakama.

Pouzdanost reda
i logika ponovnog pokušaja

Pouzdanost reda i logika ponovnog pokušaja

Kod SQS trebate ispravno rukovati duplikatima, vremenskim ograničenjima vidljivosti i neuspjelim zadacima. Ako zadatak ne uspije, poruka se treba vratiti u red za ponovni pokušaj. Ako se ista datoteka dva puta stavi u red, ne smije se ponovno obrađivati.

Upravljanje na Kubernetesu

Upravljanje na Kubernetesu

Svaki zadatak konverzije koristi puno CPU-a i memorije. Morali smo postaviti epizodne volumene, pravila odabira čvorova i pravilno čišćenje kako se zadaci ne bi gomilali ili blokirali jedni druge.

Isolacija više projekata na S3

Isolacija više projekata na S3

Usluga radi za nekoliko projekata odjednom. Svaki treba vlastitu izlaznu putanju na S3, i morali smo podržati i strukture mapa temeljene na izdavaču i na serijama bez da išta pokvarimo.

Automatski odabir kodeka

Automatski odabir kodeka

Nijedan stroj nema uvijek GPU akceleraciju. Sustav je trebao otkriti koji su kodeci dostupni — NVIDIA, Intel Quick Sync, AMD ili samo softverski — i automatski odabrati najbolji.

Proces

Cijeli proces radi bez ljudske intervencije — od trenutka kada datoteka dospije na S3 do konačnog HLS izlaza spremnog za reprodukciju. Svaki korak prelazi uredno na sljedeći, s ugrađenim zaštitama za greške, duplikate i sukob resursa. U nastavku je opis kako sustav vodi datoteku kroz cijeli ciklus konverzije.

Pollanje reda

Pollanje reda

Upravitelj zadataka radi na Kubernetesu i obavlja pollanje SQS reda s dugim pollingom. Kad stigne poruka, analizira S3 bucket i ključ objekta za identifikaciju izvorske datoteke.

Prevencija duplikata

Prevencija duplikata

Prije stvaranja novog zadatka, upravitelj provjerava postoje li zadaci Kubernetes-a za istu datoteku. Ako su pronađeni, poruka se ponovno stavlja u red s odgodom kako bi se spriječila dvostruka obrada.

Kreiranje Kubernetes zadatka

Kreiranje Kubernetes zadatka

Stvaranje nove pod jedinice iz predloška s ispravnim ograničenjima resursa, pravilima odabira čvorova za ARM-based instance i epizodnim volumenima za privremene datoteke, ulaz, izlaz i dnevnike.

Konverzija videa i zvuka

Konverzija videa i zvuka

FFmpeg pretvara video u pet HLS rezolucija (1080p→240p) s segmentima od 4 sekunde. Svaki audio zapis se otkriva i konvertira u pet slojeva bitrate - 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.

Učitavanje, čišćenje i automatsko skaliranje

Učitavanje, čišćenje i automatsko skaliranje

Sve datoteke se učitavaju na S3 paralelno putem poola s 500 niti. Stari HLS segmenti se brišu prije dolaska novog seta. Auto skaliranje spušta broj čvorova na nulu kad je red prazan.

Rješenja

Ključne značajke rješenja

  • Video s adaptivnim bitrateom - 5 nivoa—240p (300 kbps) → 1080p (5000 kbps) u jednom popisu za reprodukciju. Automatski odabir kvalitete na temelju brzine veze.

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

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

  • Automatsko skaliranje sa nulom troška u praznom hodu — EC2 čvorovi se smanjuju na nulu kada je red prazan. Aktivni zadaci su zaštićeni od preuranjenog prekida.

  • Izolacija Multi-Projekt S3 — Svaki projekt ima svoj vlastiti S3 izlazni put. Podrška za strukture mapa temeljene na izdavaču i seriji.


Image

Rezultati u brojkama

Pokriće kvalitete videa

1080p

Pet prilagodljivih slojeva bitratea od 240p na 300 kbps do full HD 1080p na 5000 kbps — player automatski prebacuje kvalitetu temeljem brzine veze.

Paralelne niti prijenosa

500x

Stotine izlaznih datoteka — segmenata, popisa, sličica, pregleda — prenosi se simultano na S3 putem skupa niti, držeći vrijeme isporuke minimalnim.

HLS segmentirano trajanje

4sek

4-sekundni HLS segmenti usklađuju brzinu prilagodljivog prebacivanja i učinkovitost punjenja—player reagira na promjene mreže unutar jedne segmentne granice.

Slojevi audio bitratea po traci

5x

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

Izgradite skalabilni medijski pipeline za vašu platformu!

Nabavite potpuno automatizirani sustav konverzije HLS 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