HLSEncodingStorage

Mukautuvan bittinopeuden portaikko: 360p–4K ja levytilan hinta

Miten mukautuva suoratoisto valitsee laadun, mitkä ovat UFOLOAD-muuntimen todelliset portaat ja bittinopeudet ja paljonko levytilaa kukin vie tunnissa.

Mukautuvan bittinopeuden portaikko on joukko saman videon versioita, joista suoratoistosoitin voi valita. Jokaisella portaalla on resoluutio ja bittinopeus. Soitin aloittaa yhdeltä portaalta, seuraa, kuinka nopeasti segmentit latautuvat, ja siirtyy ylös tai alas yhteyden muuttuessa. Kun portaikko on kunnossa, sekä junassa istuva katsoja että 4K-televisiota katsova saavat sujuvan toiston samasta latauksesta. Jos se on pielessä, joko tuhlaat levytilaa ja kaistaa portaisiin, joita kukaan ei käytä, tai hitaan yhteyden katsojat tuijottavat latauskuvaketta.

Tässä artikkelissa kerrotaan, miten portaikko toimii, ja näytetään UFOLOAD-muuntimen todellinen portaikko suoraan muuntimesta otettuine bittinopeuksineen sekä se, paljonko levytilaa kukin porras vie videotuntia kohden.

Miten soitin valitsee portaan

HLS-striimin pääsoittolista luettelee jokaisen portaan kolmella olennaisella attribuutilla: BANDWIDTH, RESOLUTION ja CODECS. Soitin mittaa latausnopeutensa muutaman viimeisimmän segmentin ajalta ja valitsee korkeimman portaan, jonka BANDWIDTH mahtuu väljästi tuon nopeuden alle. Kaksi yksityiskohtaa kannattaa tietää.

Ensinnäkin BANDWIDTH on huippuarvo, ei keskiarvo. Jos soittolista ilmoittaa sen liian pienenä, soitin valitsee portaan, jota yhteys ei jaksa ylläpitää, ja toisto pysähtyy. Siksi muuntimemme kirjoittaa huippuarvon eikä koskaan nollaa. Toiseksi vaihto tapahtuu segmenttien rajoilla. Segmenttimme ovat neljän sekunnin mittaisia, ja kooderi sijoittaa avainruudun jokaisen alkuun, joten soitin voi hypätä versiosta toiseen ilman häiriöitä. Lyhyempi segmentti reagoi nopeammin mutta lisää pyyntöjä; neljä sekuntia on yleinen kompromissi.

Jos haluat lisätä tällaisen striimin omalle sivullesi, HLS-videon upottaminen esittelee iframe- ja hls.js-vaihtoehdot.

UFOLOADin portaikko

Muuntimessa on neljä porrasta: 2160p (4K), 1080p, 720p ja 360p. Porras luodaan vain, jos lähdevideo on vähintään sen korkuinen, koska skaalaus ylöspäin ei tuo lisää yksityiskohtia vaan moninkertaistaa koon ja koodausajan. 720p-lähteestä syntyy 720p ja 360p. Alle 360p:n lähteestä syntyy yksi versio sen omassa koossa, jotta jokaisesta tiedostosta on ainakin yksi toistettava versio. Leveydet noudattavat lähteen kuvasuhdetta ja pyöristetään parilliseen lukuun, koska H.264 ja 4:2:0-värinäytteistys eivät salli parittomia mittoja. Alla olevat leveydet olettavat kuvasuhteen 16:9.

UFOLOAD-muuntimen portaat (H.264 High -profiili, AAC-stereo)
PorrasKuva 16:9-suhteellaVideon ylärajaLaatutavoite (CRF)ÄäniHuippukoko tunnissa
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

Oletusesiasetus on medium, ja porrasten bittinopeudet on valittu tavalliselle H.264-sisällölle. 1080p-portaan yläraja on 5 Mbit/s: se riittää puhtaaseen kuvaan, ja sen yläpuolella tiedosto kasvaa ilman näkyvää hyötyä. 4K:ssa on nelinkertainen määrä pikseleitä 1080p:hen verrattuna, joten sen yläraja on 16 Mbit/s, yli kolminkertainen, jotta monimutkaisissa kohtauksissa ei näkyisi palikoitumista.

Muunnin ei tuota 480p- eikä 240p-versioita. Vähemmän portaita tarkoittaa vähemmän levytilaa ja lyhyempää koodausta, ja 360p:n ja 720p:n välillä soittimella on silti järkevä askel hitaille mobiiliyhteyksille. Se, mitkä portaat todella saat, riippuu myös paketistasi: 360p ja 720p ovat perustaso, ja ylintä porrasta rajaa paketin katto, joka näkyy hinnoittelusivulla. Free-paketissa video saa yhden laadun.

CRF ja bittinopeuden yläraja: miksi tiedostokoot ovat ylärajoja

Kooderi ei tähtää kiinteään bittinopeuteen. Se tähtää tasaiseen laatuun, joka ilmaistaan CRF-arvona (constant rate factor): pienempi luku tarkoittaa parempaa kuvaa ja suurempaa tiedostoa. Paikallaan puhuva henkilö tarvitsee tavoitteeseen hyvin vähän dataa, toimintakohtaus paljon. Jotta mikään yksittäinen kohtaus ei tukkisi hidasta yhteyttä, jokaisella portaalla on lisäksi maxrate, joka on taulukon bittinopeus, ja puskuri, joka on sen kaksinkertainen. Tuloksena on striimi, joka on yleensä ylärajan alapuolella eikä koskaan pitkään sen yläpuolella.

Siksi tämän artikkelin koot ovat huippukokoja. Luento tai näytön tallenne jää tyypillisesti selvästi niiden alle. Puhepainotteinen sisältö voi olla murto-osa ylärajasta, kun taas vauhdikas urheilu tai kohinainen kuvamateriaali lähestyy sitä. Kun mitoitat kirjastoa, käytä huippuarvoa turvalliseen budjettiin ja omaa mitattua keskiarvoasi realistiseen.

Koodausstudion laatuprofiili siirtää tätä tasapainoa. Nopea profiili käyttää nopeampaa x264-esiasetusta ja saa videon valmiiksi aiemmin hieman suuremmin tiedostoin. Laatuprofiili käyttää hitaampaa esiasetusta ja pienempää CRF-arvoa puhtaamman kuvan saamiseksi, ja se on saatavilla maksullisissa paketeissa. Tasapainoinen oletus sijoittuu näiden väliin.

Paljonko portaikko vie levytilaa

Tunti videota kunkin portaan huippuarvolla painaa 6,79 GiB 2160p:llä, 2,16 GiB 1080p:llä, 1,23 GiB 720p:llä ja 0,36 GiB 360p:llä. Koko portaikko on lähteesi sallimien portaiden summa, ja jokainen porras on levyllä erillinen tiedosto:

Lähteen resoluutioSyntyvät portaatHuippukoko videotuntia kohden
4K (2160p)2160p, 1080p, 720p, 360p10,54 GiB
Full HD (1080p)1080p, 720p, 360p3,75 GiB
HD (720p)720p, 360p1,59 GiB
Alle 360pYksi versio lähteen koossaRiippuu lähteestä

Konkreettinen esimerkki: 100 tuntia Full HD -materiaalia tuottaa enintään noin 375 GiB versioita. Jos rajaat ylimmän portaan 720p:hen, samat sata tuntia vievät enintään noin 159 GiB eli alle puolet. Ylin porras ratkaisee laskun: 4K:n pudottaminen 4K-lähteistä koostuvasta kirjastosta poistaa noin kaksi kolmasosaa sen koosta. Se, laskeeko palvelu nämä versiot tallennuskiintiöösi, on eri kysymys, jota käsitellään artikkelissa paljonko videohosting maksaa; UFOLOADissa kiintiö lasketaan lataamiesi tiedostojen koon mukaan.

Portaikon säätäminen Koodausstudiossa

Oletuksiin ei tarvitse tyytyä. Hallintapaneelin Koodausstudiossa on kolme asetusta, jotka muuttavat tallennettavien portaiden määrää:

  • Suurin resoluutio. Videoita ei koskaan koodata tätä arvoa suuremmiksi. Pakettisi katon ylittävät resoluutiot ovat lukittuja.
  • Alin laatu. Valitse alimmaksi portaaksi 360p, 720p tai 1080p. Nostaminen poistaa pienet portaat, mikä säästää levytilaa ja koodausaikaa, mutta heikon yhteyden katsojat menettävät varavaihtoehtonsa, joten pidä 360p, jos yleisössäsi on mobiilikäyttäjiä.
  • Pika-asetukset. Paras laatu, tasapainoinen, säästä tallennustilaa (enintään 720p ja vain tarvitsemasi laadut) sekä välitön julkaisu kelpoisille tileille.

Muutokset koskevat uusia latauksia. Jos haluat soveltaa niitä kirjastossa jo oleviin videoihin, käytä uudelleenkoodausta: se käsittelee uusimmat videot erissä, ja ajojen välillä on tauko. Videot pysyvät katsottavina uudelleenkoodauksen aikana.

Jos rakennat oman portaikon

  • Pidä vierekkäisten portaiden bittinopeuksien ero noin 1,5–2-kertaisena. Pienemmät askeleet lisäävät tallennustilaa ilman näkyvää hyötyä, suuremmat tekevät laatuhypystä ilmeisen.
  • Aloita riittävän alhaalta hitaimpia realistisia katsojiasi varten. Porras, jota kukaan ei jaksa ylläpitää, on hukkaa; puuttuva alin porras tarkoittaa latauskuvaketta.
  • Tasaa avainruudut segmentin pituuden mukaan ja ilmoita soittolistassa huippubittinopeus.
  • Älä skaalaa ylöspäin. Rajaa jokainen porras lähteen korkeuteen.
  • Mittaa kuukauden kuluttua, mitä portaita katsojasi todella käyttävät, ja pudota ne, joita ei koskaan toisteta.

Koko ketju latausmuodoista jakeluun on kuvattu ominaisuussivulla; pakettien rajat ja hinnat löydät hinnoittelusta. Jos vertailet vielä vaihtoehtoja, videohostingin tarkistuslista kattaa koodaukseen ja laatuun liittyvät kysymykset, jotka kannattaa esittää kenelle tahansa palveluntarjoajalle.

Kokeile ilmaisella tilillä

Lataa video ja saat HLS-soittimen ja API-avaimen muutamassa minuutissa. Pakettien rajat löytyvät hinnoittelusivulta.