Adaptyvaus bitų srauto kopėčios – tai vaizdo įrašo versijų rinkinys, iš kurio gali rinktis transliacijos grotuvas. Kiekviena pakopa turi raišką ir bitų srautą; grotuvas pradeda nuo vienos, stebi, kaip greitai atsisiunčiami segmentai, ir kyla aukštyn arba leidžiasi žemyn, kai keičiasi ryšys. Teisingai sudarytos kopėčios leidžia ir traukinyje važiuojančiam žiūrovui, ir 4K televizoriaus savininkui sklandžiai žiūrėti tą patį vieną kartą įkeltą įrašą. Suklydus arba švaistote diską ir srautą pakopoms, kurių niekas nenaudoja, arba lėto ryšio žiūrovams paliekate tik besisukantį įkėlimo ratuką.
Šiame straipsnyje paaiškinama, kaip veikia kopėčios, o tada parodomos tikrosios kopėčios, kurias sukuria UFOLOAD konverteris, su bitų srautais, paimtais iš paties konverterio, ir kiek disko vietos kiekviena pakopa užima vienai vaizdo įrašo valandai.
Kaip grotuvas parenka pakopą
HLS srauto pagrindiniame grojaraštyje (master playlist) kiekviena pakopa aprašyta trimis svarbiais atributais: BANDWIDTH, RESOLUTION ir CODECS. Grotuvas matuoja atsisiuntimo greitį per kelis paskutinius segmentus ir pasirenka aukščiausią pakopą, kurios BANDWIDTH patogiai telpa po tuo greičiu. Verta žinoti dvi detales.
Pirma, BANDWIDTH yra didžiausia, o ne vidutinė reikšmė. Jei grojaraštis ją sumažina, grotuvas pasirenka pakopą, kurios ryšys neištempia, ir atkūrimas stringa – todėl mūsų konverteris visada įrašo didžiausią reikšmę ir niekada nulio. Antra, perjungimas vyksta segmentų ribose. Mūsų segmentai trunka keturias sekundes, o koderis kiekvieno pradžioje įterpia rakto kadrą, todėl grotuvas gali pereiti tarp versijų be trikdžių. Trumpesnis segmentas reaguoja greičiau, bet padidina užklausų skaičių; keturios sekundės yra įprastas kompromisas.
Jei tokį srautą norite įdėti į savo puslapį, straipsnyje kaip įterpti HLS vaizdo įrašą aprašyti iframe ir hls.js variantai.
UFOLOAD kopėčios
Konverteris turi keturias pakopas: 2160p (4K), 1080p, 720p ir 360p. Pakopa sukuriama tik tada, jei šaltinio aukštis yra ne mažesnis, nes didinant raišką detalių neatsiranda, o failo dydis ir kodavimo laikas išauga kelis kartus. Iš 720p šaltinio gaunamos 720p ir 360p versijos; iš mažesnio nei 360p šaltinio – viena versija jo paties dydžio, kad kiekvienas failas turėtų bent vieną atkuriamą versiją. Plotis atitinka šaltinio kraštinių santykį ir suapvalinamas iki lyginio skaičiaus, nes H.264 su 4:2:0 spalvų diskretizacija negali koduoti nelyginių matmenų. Toliau pateikti pločiai atitinka 16:9 santykį.
| Pakopa | Kadras esant 16:9 | Vaizdo riba | Kokybės tikslas (CRF) | Garsas | Didžiausias dydis per valandą |
|---|---|---|---|---|---|
| 2160p | 3840x2160 | 16 Mbit/s | 20 | 192 kbit/s | 6,79 GiB |
| 1080p | 1920x1080 | 5 Mbit/s | 22 | 160 kbit/s | 2,16 GiB |
| 720p | 1280x720 | 2,8 Mbit/s | 23 | 128 kbit/s | 1,23 GiB |
| 360p | 640x360 | 0,8 Mbit/s | 26 | 64 kbit/s | 0,36 GiB |
Numatytasis išankstinis nustatymas yra medium, o pakopų bitų srautai parinkti įprastam H.264 turiniui. 1080p pakopa apribota iki 5 Mbit/s: to pakanka švariam vaizdui, o virš šios ribos failas didėja be matomo pagerėjimo. 4K turi keturis kartus daugiau pikselių nei 1080p, todėl jo riba yra 16 Mbit/s, daugiau nei tris kartus aukštesnė, kad sudėtingose scenose neatsirastų kvadratėlių.
Konverteris nekuria 480p ar 240p versijų. Mažiau pakopų reiškia mažiau disko ir trumpesnį kodavimą, o tarp 360p ir 720p grotuvas vis tiek turi protingą žingsnį lėtam mobiliajam ryšiui. Kurias pakopas gausite iš tikrųjų, priklauso ir nuo plano: 360p ir 720p yra bazinės, o viršutinę pakopą riboja plano lubos, nurodytos kainų puslapyje. Free plane vaizdo įrašas gauna vieną kokybę.
CRF ir bitų srauto riba: kodėl failų dydžiai yra viršutinės ribos
Koderis nesiekia fiksuoto bitų srauto. Jis siekia pastovios kokybės, išreikštos CRF (constant rate factor): mažesnis skaičius reiškia geresnį vaizdą ir didesnį failą. Statiškam „kalbančios galvos“ vaizdui tikslui pasiekti reikia labai mažai duomenų, veiksmo scenai – daug. Kad jokia atskira scena neužtvindytų lėto ryšio, kiekviena pakopa dar turi maxrate, lygų lentelėje nurodytam bitų srautui, ir dvigubai didesnį buferį. Rezultatas – srautas, kuris dažniausiai būna žemiau ribos ir niekada ilgam jos neviršija.
Todėl šiame straipsnyje pateikti dydžiai yra didžiausi. Paskaita ar ekrano įrašas paprastai būna gerokai mažesni. Daug kalbos turintis turinys gali užimti tik dalį ribos, o dinamiškas sportas ar triukšminga medžiaga prie jos priartėja. Planuodami bibliotekos dydį, saugiam biudžetui naudokite didžiausią reikšmę, o realistiškam – savo išmatuotą vidurkį.
Kodavimo studijos kokybės profilis keičia šią pusiausvyrą. Greitasis profilis naudoja spartesnį x264 išankstinį nustatymą ir vaizdo įrašą paruošia greičiau, bet failai būna šiek tiek didesni; kokybės profilis naudoja lėtesnį išankstinį nustatymą ir mažesnį CRF švaresniam vaizdui ir yra prieinamas mokamuose planuose. Numatytasis subalansuotas profilis yra tarp jų.
Kiek kopėčios kainuoja disko vietos
Viena vaizdo įrašo valanda, esant didžiausiam kiekvienos pakopos srautui, užima 6,79 GiB 2160p, 2,16 GiB 1080p, 1,23 GiB 720p ir 0,36 GiB 360p raiška. Pilnos kopėčios yra šaltinio leidžiamų pakopų suma, o kiekviena pakopa diske yra atskiras failas:
| Šaltinio raiška | Sukuriamos pakopos | Didžiausias dydis vienai vaizdo valandai |
|---|---|---|
| 4K (2160p) | 2160p, 1080p, 720p, 360p | 10,54 GiB |
| Full HD (1080p) | 1080p, 720p, 360p | 3,75 GiB |
| HD (720p) | 720p, 360p | 1,59 GiB |
| Mažiau nei 360p | Viena versija šaltinio dydžio | Priklauso nuo šaltinio |
Konkretus pavyzdys: 100 valandų Full HD medžiagos sukuria daugiausia apie 375 GiB versijų. Jei viršutinę pakopą apribosite iki 720p, tam pačiam šimtui valandų reikės daugiausia apie 159 GiB – daugiau nei perpus mažiau. Sąskaitą lemia viršutinė pakopa: atsisakius 4K bibliotekoje, sudarytoje iš 4K šaltinių, jos svoris sumažėja maždaug dviem trečdaliais. Ar talpinimo paslauga šias versijas įskaičiuoja į jūsų saugyklos kvotą, yra atskiras klausimas, aptartas straipsnyje kiek kainuoja vaizdo įrašų talpinimas; UFOLOAD kvota skaičiuojama pagal jūsų įkeltų failų dydį.
Kopėčių derinimas kodavimo studijoje
Neprivalote tenkintis numatytaisiais nustatymais. Valdymo skydelio kodavimo studijoje yra trys nustatymai, keičiantys saugomų pakopų skaičių:
- Didžiausia raiška. Vaizdo įrašai niekada nekoduojami aukštesne raiška. Raiškos virš jūsų plano lubų yra užrakintos.
- Žemiausia kokybė. Kaip apatinę pakopą pasirinkite 360p, 720p arba 1080p. Ją pakėlus pašalinamos mažos pakopos, todėl taupomas diskas ir kodavimo laikas, tačiau silpno ryšio žiūrovai netenka atsarginio varianto, tad palikite 360p, jei tarp jūsų auditorijos yra mobiliųjų naudotojų.
- Greitieji nustatymai. Didžiausia kokybė, subalansuotas, saugyklos taupymas (iki 720p ir tik reikalingos kokybės) ir momentinis publikavimas tinkamoms paskyroms.
Pakeitimai taikomi naujiems įkėlimams. Kad pritaikytumėte juos jau bibliotekoje esantiems vaizdo įrašams, naudokite perkodavimo veiksmą: jis apdoroja naujausius vaizdo įrašus paketais, o tarp paleidimų yra pertrauka; perkoduojami vaizdo įrašai lieka prieinami žiūrėti.
Jei kuriate savo kopėčias
- Tarp gretimų pakopų bitų srauto žingsnį laikykite maždaug 1,5–2 kartų. Mažesni žingsniai didina saugyklą be matomos naudos, didesni – padaro kokybės šuolį akivaizdų.
- Pradėkite pakankamai žemai, kad tiktų lėčiausiems realiems žiūrovams. Pakopa, kurios niekas negali išlaikyti, yra švaistymas; trūkstama apatinė pakopa – tai besisukantis ratukas.
- Suderinkite rakto kadrus su segmento trukme ir grojaraštyje nurodykite didžiausią bitų srautą.
- Nedidinkite raiškos. Kiekvieną pakopą ribokite šaltinio aukščiu.
- Po mėnesio išmatuokite, kurias pakopas žiūrovai iš tikrųjų naudoja, ir atsisakykite tų, kurios niekada neatkuriamos.
Visą procesą, nuo įkėlimo formatų iki pristatymo, rasite funkcijų puslapyje; plano limitus ir kainas – puslapyje kainos. Jei dar lyginate variantus, vaizdo įrašų talpinimo kontrolinis sąrašas apima kodavimo ir kokybės klausimus, kuriuos verta užduoti bet kuriam teikėjui.
Įkelkite vaizdo įrašą ir per kelias minutes gaukite HLS grotuvą bei API raktą. Planų limitai nurodyti kainų puslapyje.