Az adaptív bitrátalétra egy videó azon változatainak összessége, amelyek közül a streamelő lejátszó választhat. Minden szintnek (fokozatnak) van felbontása és bitrátája; a lejátszó elindul az egyiken, figyeli, milyen gyorsan töltődnek le a szegmensek, és a kapcsolat változásával feljebb vagy lejjebb lép. Ha jól van összeállítva a létra, a vonaton ülő néző és a 4K-s tévé előtt ülő néző is akadásmentes lejátszást kap ugyanabból a feltöltésből. Ha rosszul, akkor vagy olyan szintekre pazarolsz tárhelyet és sávszélességet, amelyeket senki sem használ, vagy a lassú kapcsolatú nézők a töltésjelzőt bámulják.
Ez a cikk elmagyarázza, hogyan működik a létra, majd bemutatja azt a valós létrát, amelyet az UFOLOAD konvertere készít – a bitrátákat közvetlenül a konverterből vettük –, valamint azt, hogy egy-egy szint óránként mennyi tárhelyet foglal.
Hogyan választ szintet a lejátszó
Egy HLS-stream master playlistje minden szintet felsorol, három fontos attribútummal: BANDWIDTH, RESOLUTION és CODECS. A lejátszó az utolsó néhány szegmens alapján méri a letöltési sebességét, és azt a legmagasabb szintet választja, amelynek BANDWIDTH értéke kényelmesen belefér ebbe a sebességbe. Két részletet érdemes tudni.
Először is, a BANDWIDTH csúcsérték, nem átlag. Ha a playlist alábecsüli, a lejátszó olyan szintet választ, amelyet a kapcsolat nem bír el, és a lejátszás megakad – ezért a konverterünk mindig a csúcsértéket írja be, és sosem nullát. Másodszor, a váltás a szegmenshatárokon történik. Szegmenseink négy másodpercesek, és a kódoló mindegyik elejére kulcskockát tesz, így a lejátszó hiba nélkül ugorhat a változatok között. A rövidebb szegmens gyorsabban reagál, de több kérést jelent; a négy másodperc bevett kompromisszum.
Ha egy ilyen streamet a saját oldaladra szeretnél tenni, a HLS-videó beágyazásáról szóló cikk bemutatja az iframe és a hls.js lehetőségeit.
Az UFOLOAD létrája
A konverter négy szintet ismer: 2160p (4K), 1080p, 720p és 360p. Egy szint csak akkor készül el, ha a forrás legalább ilyen magas, mert a felskálázás nem ad hozzá részleteket, viszont megsokszorozza a méretet és a kódolási időt. Egy 720p-s forrásból 720p és 360p lesz; a 360p-nél kisebb forrásból egyetlen változat készül a saját méretében, így minden fájlnak van legalább egy lejátszható verziója. A szélesség a forrás képarányát követi, és páros számra kerekítjük, mert a 4:2:0 krómás H.264 nem tud páratlan méreteket kódolni. Az alábbi szélességek 16:9-es képarányra vonatkoznak.
| Szint | Képméret 16:9-ben | Videókorlát | Minőségi cél (CRF) | Hang | Csúcsméret óránként |
|---|---|---|---|---|---|
| 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 |
Az alapértelmezett preset a medium, a szintek bitrátáit pedig hétköznapi H.264-tartalomhoz választottuk. Az 1080p-s szint felső korlátja 5 Mbit/s: ez elég a tiszta képhez, fölötte a fájl csak nő, látható javulás nélkül. A 4K-nak négyszer annyi pixele van, mint az 1080p-nek, ezért a korlátja 16 Mbit/s, több mint háromszoros, hogy összetett jelenetekben se jelenjenek meg kockák.
A konverter nem készít 480p-s vagy 240p-s változatot. Kevesebb szint kevesebb tárhelyet és rövidebb kódolást jelent, a 360p és a 720p között pedig a lejátszónak így is marad értelmes lépcső a lassú mobilkapcsolatokhoz. Hogy ténylegesen mely szinteket kapod, az a csomagodtól is függ: a 360p és a 720p az alap, a legfelső szintet pedig a csomag plafonja korlátozza, amely az Árak oldalon szerepel. A Free csomagban egy videó egyetlen minőségben érhető el.
CRF és bitrátakorlát: miért felső határok a fájlméretek
A kódoló nem rögzített bitrátát céloz meg, hanem állandó minőséget, amelyet a CRF (constant rate factor) fejez ki: minél kisebb a szám, annál jobb a kép és annál nagyobb a fájl. Egy statikus, beszélő fejes videónak nagyon kevés adat kell a cél eléréséhez, egy akciójelenetnek sok. Hogy egyetlen jelenet se árassza el a lassú kapcsolatot, minden szintnek van maxrate értéke is, amely megegyezik a táblázatban szereplő bitrátával, és ennek kétszerese a puffer. Az eredmény olyan stream, amely többnyire a korlát alatt marad, és sosem lépi túl tartósan.
Ezért a cikkben szereplő méretek csúcsméretek. Egy előadás vagy képernyőfelvétel jellemzően jóval alattuk marad. A beszédközpontú tartalom a korlát töredéke is lehet, a mozgalmas sport vagy a zajos felvétel közel kerül hozzá. Egy könyvtár méretezésénél a csúcsértékkel biztonságos, a saját mért átlagoddal pedig reális költségvetést kapsz.
A Kódolóstúdió minőségi profilja ezt az egyensúlyt tolja el. A gyors profil gyorsabb x264-presetet használ, és hamarabb elkészíti a videót, kicsit nagyobb fájlokkal; a minőségi profil lassabb presetet és alacsonyabb CRF-et használ a tisztább képért, és a fizetős csomagokban érhető el. Az alapértelmezett kiegyensúlyozott profil a kettő között helyezkedik el.
Mennyi tárhelyet foglal egy létra
Egy óra videó az egyes szintek csúcsán 2160p-ben 6,79 GiB, 1080p-ben 2,16 GiB, 720p-ben 1,23 GiB, 360p-ben pedig 0,36 GiB. A teljes létra a forrásod által lehetővé tett szintek összege, és minden szint külön fájl a lemezen:
| Forrás felbontása | Elkészülő szintek | Csúcsméret egy óra videóra |
|---|---|---|
| 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 |
| 360p alatt | Egy változat a forrás méretében | A forrástól függ |
Egy konkrét példa: 100 óra Full HD felvételből legfeljebb körülbelül 375 GiB változat készül. Ha a legfelső szintet 720p-re korlátozod, ugyanehhez a száz órához legfeljebb körülbelül 159 GiB kell, ami több mint a felére csökkenti a méretet. A számlát a legfelső szint uralja: egy 4K-s forrásokból álló könyvtárból a 4K elhagyása nagyjából kétharmaddal csökkenti a méretet. Az, hogy egy szolgáltató beszámítja-e ezeket a változatokat a tárhelykvótádba, külön kérdés, ezt a videotárhely költségeiről szóló cikk tárgyalja; az UFOLOAD-nál a kvótát a feltöltött fájlok mérete alapján számoljuk.
A létra finomhangolása a Kódolóstúdióban
Nem kell elfogadnod az alapértékeket. A vezérlőpult Kódolóstúdiójában három beállítás határozza meg, hány szintet tárolsz:
- Maximális felbontás. A videók sosem készülnek ennél nagyobb felbontásban. A csomagod plafonja fölötti felbontások zárolva vannak.
- Legalacsonyabb minőség. Válaszd a 360p-t, a 720p-t vagy az 1080p-t alsó szintnek. Ha megemeled, eltűnnek a kis szintek, ami tárhelyet és kódolási időt takarít meg, de a gyenge kapcsolatú nézők elveszítik a tartalékukat, ezért tartsd meg a 360p-t, ha mobilos nézőid is vannak.
- Gyors presetek. Maximális minőség, kiegyensúlyozott, tárhelytakarékos (legfeljebb 720p, és csak a szükséges minőségek), valamint azonnali közzététel a jogosult fiókoknak.
A módosítások az új feltöltésekre vonatkoznak. Ha a könyvtáradban már meglévő videókra is alkalmaznád őket, használd az újrakódolás műveletet: ez kötegekben dolgozza fel a legújabb videókat, a futtatások között várakozási idővel; a videók az újrakódolás alatt is lejátszhatók maradnak.
Ha saját létrát építesz
- A szomszédos szintek között a bitráta nagyjából 1,5–2-szeres legyen. A kisebb lépések látható előny nélkül növelik a tárhelyet, a nagyobbak feltűnővé teszik a minőségugrást.
- Kezdd elég alacsonyan a leglassabb, de még reális nézőid számára. Az a szint, amelyet senki sem tud kiszolgálni, kidobott pénz; a hiányzó alsó szint pedig töltésjelzőt jelent.
- Igazítsd a kulcskockákat a szegmenshosszhoz, és a playlistben a csúcsbitrátát add meg.
- Ne skálázz fel. Minden szintet korlátozz a forrás magasságára.
- Egy hónap után mérd meg, mely szinteket használják ténylegesen a nézőid, és hagyd el azokat, amelyeket soha senki nem játszik le.
A teljes folyamatot a feltöltési formátumoktól a kiszolgálásig a Funkciók oldalon találod; a csomagok korlátait és árait az Árak oldalon. Ha még a lehetőségeket hasonlítod össze, a videotárhely-ellenőrzőlista sorra veszi azokat a kódolási és minőségi kérdéseket, amelyeket bármely szolgáltatónak érdemes feltenni.
Tölts fel egy videót, és percek alatt kapsz hozzá HLS-lejátszót és API-kulcsot. A csomagok korlátai az Árak oldalon találhatók.