HLSEncodingStorage

Adaptiivse bitikiiruse redel: 360p kuni 4K ja kettakulu

Kuidas adaptiivne voogedastus kvaliteedi valib, millised on UFOLOADi konverteri tegelikud astmed ja bitikiirused ning palju iga aste tunnis kettaruumi võtab.

Adaptiivse bitikiiruse redel on video versioonide kogum, mille vahel voogedastusmängija saab valida. Igal astmel on oma eraldusvõime ja bitikiirus; mängija alustab ühelt astmelt, jälgib, kui kiiresti segmendid alla laaditakse, ning liigub ühenduse muutudes üles või alla. Kui redel on õige, saavad nii rongis istuv vaataja kui ka 4K-teleri ees istuv vaataja ühest üleslaadimisest sujuva taasesituse. Kui redel on vale, raiskad kettaruumi ja liiklust astmetele, mida keegi ei kasuta, või jätad aeglase ühendusega vaatajad laadimisikooni vahtima.

See artikkel selgitab, kuidas redel töötab, ning näitab seejärel tegelikku redelit, mille UFOLOADi konverter ehitab – bitikiirused on võetud otse konverterist –, ja seda, palju iga aste video tunni kohta kettaruumi võtab.

Kuidas mängija astme valib

HLS-voo põhiesitusloend loetleb kõik astmed kolme olulise atribuudiga: BANDWIDTH, RESOLUTION ja CODECS. Mängija mõõdab viimaste segmentide põhjal oma allalaadimiskiirust ja valib kõrgeima astme, mille BANDWIDTH mahub selle kiiruse alla mugava varuga. Tasub teada kahte üksikasja.

Esiteks on BANDWIDTH tippväärtus, mitte keskmine. Kui esitusloend seda alahindab, valib mängija astme, mida ühendus välja ei vea, ja taasesitus jääb seisma – seepärast kirjutab meie konverter alati tippväärtuse ja mitte kunagi nulli. Teiseks toimub vahetus segmentide piiril. Meie segmendid on nelja sekundi pikkused ja kodeerija paneb iga segmendi algusesse võtmekaadri, nii et mängija saab versioonide vahel tõrgeteta hüpata. Lühem segment reageerib kiiremini, kuid lisab päringuid; neli sekundit on levinud kompromiss.

Kui soovid sellist voogu oma lehele panna, näitab kuidas HLS-videot manustada iframe'i ja hls.js-i võimalusi.

UFOLOADi redel

Konverteril on neli astet: 2160p (4K), 1080p, 720p ja 360p. Aste luuakse ainult siis, kui allikas on vähemalt sama kõrge, sest üleskaleerimine ei lisa detaile, kuid mitmekordistab mahtu ja kodeerimisaega. 720p allikast tehakse 720p ja 360p; 360p-st väiksemast allikast tehakse üks versioon selle enda suuruses, et igal failil oleks vähemalt üks esitatav versioon. Laius järgib allika kuvasuhet ja ümardatakse paarisarvuni, sest H.264 koos 4:2:0 krominantsiga ei saa paarituid mõõtmeid kodeerida. Allpool toodud laiused eeldavad kuvasuhet 16:9.

UFOLOADi konverteri astmed (H.264 High profiil, AAC stereo)
AsteKaader 16:9 puhulVideo ülempiirKvaliteedi siht (CRF)HeliTippmaht tunnis
2160p3840x216016 Mbit/s20192 kbit/s6,79 GiB
1080p1920x10805 Mbit/s22160 kbit/s2,16 GiB
720p1280x7202,8 Mbit/s23128 kbit/s1,23 GiB
360p640x3600,8 Mbit/s2664 kbit/s0,36 GiB

Vaikimisi eelseadistus on medium ja astmete bitikiirused on valitud tavalise H.264 sisu jaoks. 1080p astme ülempiir on 5 Mbit/s: sellest piisab puhta pildi jaoks ning sellest kõrgemal fail kasvab ilma nähtava kasuta. 4K-l on neli korda rohkem piksleid kui 1080p-l, seega on selle ülempiir 16 Mbit/s ehk üle kolme korra kõrgem, et keerulistes stseenides ei ilmuks plokke.

Konverter ei tee 480p ega 240p versiooni. Vähem astmeid tähendab vähem kettaruumi ja lühemat kodeerimist ning 360p ja 720p vahel on mängijal aeglaste mobiiliühenduste jaoks ikkagi mõistlik samm. See, milliseid astmeid tegelikult saad, sõltub ka paketist: 360p ja 720p on baastase ning ülemist astet piirab paketi lagi, mis on toodud hinnalehel. Free paketis saab video ühe kvaliteedi.

CRF ja bitikiiruse ülempiir: miks failimahud on ülempiirid

Kodeerija ei sihi kindlat bitikiirust. See sihib püsivat kvaliteeti, mida väljendatakse CRF-ina (constant rate factor): väiksem number tähendab paremat pilti ja suuremat faili. Staatiline „rääkiva pea“ video vajab sihi saavutamiseks väga vähe andmeid, märulistseen aga palju. Et ükski stseen aeglast ühendust üle ei ujutaks, on igal astmel ka maxrate, mis võrdub tabelis toodud bitikiirusega, ja sellest kaks korda suurem puhver. Tulemuseks on voog, mis on tavaliselt ülempiirist allpool ega ületa seda kunagi pikalt.

Seepärast on selles artiklis toodud mahud tippmahud. Loeng või ekraanisalvestus jääb tavaliselt neist tublisti alla. Kõnepõhine sisu võib moodustada ülempiirist vaid murdosa, kiire liikumisega sport või mürarikas materjal jõuab sellele lähedale. Kogu mahtu planeerides kasuta turvalise eelarve jaoks tippmahtu ja realistliku jaoks enda mõõdetud keskmist.

Kodeerimisstuudio kvaliteediprofiil nihutab seda tasakaalu. Kiire profiil kasutab kiiremat x264 eelseadistust ja saab video kiiremini valmis veidi suuremate failidega; kvaliteediprofiil kasutab aeglasemat eelseadistust ja madalamat CRF-i puhtama pildi saamiseks ning on saadaval tasulistel pakettidel. Vaikimisi tasakaalustatud profiil jääb nende kahe vahele.

Palju redel kettaruumi võtab

Üks tund videot võtab iga astme tippbitikiirusel 6,79 GiB 2160p puhul, 2,16 GiB 1080p puhul, 1,23 GiB 720p puhul ja 0,36 GiB 360p puhul. Täielik redel on nende astmete summa, mida allikas võimaldab, ja iga aste on kettal eraldi fail:

Allika eraldusvõimeLoodavad astmedTippmaht video tunni kohta
4K (2160p)2160p, 1080p, 720p, 360p10,54 GiB
Full HD (1080p)1080p, 720p, 360p3,75 GiB
HD (720p)720p, 360p1,59 GiB
Alla 360pÜks versioon allika suurusesSõltub allikast

Konkreetne näide: 100 tundi Full HD materjali annab kõige rohkem umbes 375 GiB versioone. Kui piirad ülemise astme 720p-ga, vajab sama sada tundi kõige rohkem umbes 159 GiB ehk üle poole vähem. Arvel domineerib ülemine aste: 4K eemaldamine 4K-allikatest koosnevast kogust vähendab selle mahtu umbes kahe kolmandiku võrra. See, kas majutaja arvestab neid versioone sinu salvestuskvoodi hulka, on eraldi küsimus, mida käsitleb artikkel palju videomajutus maksab; UFOLOADis arvestatakse kvooti üleslaaditud failide suuruse järgi.

Redeli häälestamine kodeerimisstuudios

Vaikeseadetega ei pea leppima. Juhtpaneeli kodeerimisstuudios on kolm seadet, mis muudavad salvestatavate astmete arvu:

  • Maksimaalne eraldusvõime. Videoid ei kodeerita kunagi sellest väärtusest kõrgemaks. Paketi laest kõrgemad eraldusvõimed on lukus.
  • Madalaim kvaliteet. Vali alumiseks astmeks 360p, 720p või 1080p. Selle tõstmine eemaldab väikesed astmed, mis säästab kettaruumi ja kodeerimisaega, kuid nõrga ühendusega vaatajad kaotavad oma varuvariandi – seega jäta 360p alles, kui sinu publikus on mobiilikasutajaid.
  • Kiired eelseadistused. Maksimaalne kvaliteet, tasakaalustatud, salvestusruumi säästmine (kuni 720p ja ainult vajalikud kvaliteedid) ning kohene avaldamine selleks sobivatele kontodele.

Muudatused kehtivad uutele üleslaadimistele. Et rakendada neid juba kogus olevatele videotele, kasuta ümberkodeerimise toimingut: see töötleb uusimaid videoid partiidena ja käivituste vahel on ooteaeg; ümberkodeerimise ajal jäävad videod esitatavaks.

Kui ehitad oma redeli

  • Hoia naaberastmete vahe bitikiiruses umbes 1,5–2-kordsena. Väiksemad sammud lisavad salvestusmahtu ilma nähtava kasuta, suuremad muudavad kvaliteedihüppe märgatavaks.
  • Alusta piisavalt madalalt, et see sobiks su aeglaseimatele realistlikele vaatajatele. Aste, mida keegi välja ei vea, on raisatud; puuduv alumine aste tähendab laadimisikooni.
  • Joonda võtmekaadrid segmendi pikkusega ja märgi esitusloendisse tippbitikiirus.
  • Ära kaleeri üles. Piira iga aste allika kõrgusega.
  • Mõõda kuu aja pärast, milliseid astmeid vaatajad tegelikult kasutavad, ja eemalda need, mida kunagi ei esitata.

Kogu töövoo kohta alates üleslaadimisvormingutest kuni edastuseni vaata võimaluste lehte; pakettide piirangute ja hindade kohta vaata hindu. Kui alles võrdled võimalusi, käsitleb videomajutuse kontrollnimekiri kodeerimise ja kvaliteedi küsimusi, mida igalt teenusepakkujalt küsida.

Proovi tasuta kontoga

Laadi video üles ning saad mõne minutiga HLS-mängija ja API võtme. Pakettide piirangud on toodud hinnalehel.