En adaptiv bitrate-stige er det sæt versioner af en video, som en streamingafspiller kan vælge imellem. Hvert trin har en opløsning og en bitrate; afspilleren starter på ét trin, holder øje med, hvor hurtigt segmenterne hentes, og skifter op eller ned, når forbindelsen ændrer sig. Rammer du stigen rigtigt, får både en seer i toget og en seer foran et 4K-tv jævn afspilning fra én upload. Rammer du forkert, spilder du enten disk og båndbredde på trin, ingen bruger, eller du efterlader langsomme seere med et snurrende hjul.
Denne artikel forklarer, hvordan en stige fungerer, og viser derefter den rigtige stige, som UFOLOAD-konverteren bygger, med bitrates hentet direkte fra konverteren, og hvad hvert trin koster i diskplads pr. time video.
Sådan vælger afspilleren et trin
Master-playlisten i en HLS-stream angiver hvert trin med tre vigtige attributter: BANDWIDTH, RESOLUTION og CODECS. Afspilleren måler sin downloadhastighed over de seneste segmenter og vælger det højeste trin, hvis BANDWIDTH ligger komfortabelt under den hastighed. To detaljer er værd at kende.
For det første er BANDWIDTH en spidsværdi, ikke et gennemsnit. Hvis en playliste angiver den for lavt, vælger afspilleren et trin, forbindelsen ikke kan holde, og afspilningen går i stå. Derfor skriver vores konverter spidsværdien og aldrig nul. For det andet sker skiftet ved segmentgrænser. Vores segmenter er fire sekunder lange, og koderen placerer et keyframe i starten af hvert segment, så afspilleren kan springe mellem versioner uden hak. Et kortere segment reagerer hurtigere, men giver flere forespørgsler; fire sekunder er et almindeligt kompromis.
Vil du sætte sådan en stream ind på din egen side, viser sådan indlejrer du en HLS-video mulighederne med iframe og hls.js.
UFOLOAD-stigen
Konverteren har fire trin: 2160p (4K), 1080p, 720p og 360p. Et trin oprettes kun, hvis din kilde er mindst så høj, for opskalering tilføjer ingen detaljer, men mangedobler størrelse og kodningstid. En 720p-kilde giver 720p og 360p; en kilde under 360p giver én version i sin egen størrelse, så hver fil har mindst én afspillelig version. Bredderne følger kildens billedformat og afrundes til et lige tal, fordi H.264 med 4:2:0-chroma ikke kan kode ulige dimensioner. Bredderne nedenfor forudsætter 16:9.
| Trin | Billede ved 16:9 | Videoloft | Kvalitetsmål (CRF) | Lyd | Maks. størrelse pr. time |
|---|---|---|---|---|---|
| 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 |
Standardpresettet er medium, og trinnenes bitrates er valgt til almindeligt H.264-indhold. 1080p-trinnet er loftet ved 5 Mbit/s: det er nok til et rent billede, og derover vokser filen uden synlig gevinst. 4K har fire gange så mange pixels som 1080p, så loftet er 16 Mbit/s, mere end tre gange højere, for at undgå synlige blokke i komplekse scener.
Konverteren laver ikke 480p eller 240p. Færre trin betyder mindre disk og kortere kodning, og mellem 360p og 720p har afspilleren stadig et fornuftigt trin til langsomme mobilforbindelser. Hvilke trin du faktisk får, afhænger også af din plan: 360p og 720p er grundniveauet, og det øverste trin begrænses af planens loft, som står på prissiden. På Free-planen får en video én enkelt kvalitet.
CRF og et bitrate-loft: hvorfor filstørrelser er øvre grænser
Koderen sigter ikke efter en fast bitrate. Den sigter efter konstant kvalitet, udtrykt som CRF (constant rate factor): et lavere tal giver et bedre billede og en større fil. Statisk video med en talende person kræver meget lidt data for at nå målet, en actionscene kræver meget. For at ingen enkelt scene skal oversvømme en langsom forbindelse, har hvert trin også en maxrate svarende til bitraten i tabellen og en buffer på det dobbelte. Resultatet er en stream, der som regel ligger under loftet og aldrig over det længe.
Derfor er størrelserne i denne artikel maksimumstørrelser. En forelæsning eller en skærmoptagelse lander typisk et godt stykke under dem. Talebaseret indhold kan være en brøkdel af loftet, mens sport med meget bevægelse eller støjfyldte optagelser kommer tæt på. Når du dimensionerer et bibliotek, så brug maksimum til et sikkert budget og dit eget målte gennemsnit til et realistisk.
Kvalitetsprofilen i Kodningsstudiet flytter denne balance. Den hurtige profil bruger et hurtigere x264-preset og gør videoen klar tidligere med lidt større filer; kvalitetsprofilen bruger et langsommere preset og en lavere CRF for et renere billede og er tilgængelig på betalte planer. Den balancerede standard ligger midt imellem.
Hvad en stige koster i diskplads
En time video ved hvert trins maksimum fylder 6,79 GiB ved 2160p, 2,16 GiB ved 1080p, 1,23 GiB ved 720p og 0,36 GiB ved 360p. En fuld stige er summen af de trin, din kilde tillader, og hvert trin er en separat fil på disken:
| Kildeopløsning | Trin, der laves | Maks. størrelse pr. time video |
|---|---|---|
| 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 |
| Under 360p | Én version i kildens størrelse | Afhænger af kilden |
Et konkret eksempel: 100 timers Full HD-optagelser giver højst omkring 375 GiB versioner. Hvis du sætter loftet for det øverste trin ved 720p, kræver de samme hundrede timer højst omkring 159 GiB, en reduktion på mere end halvdelen. Det øverste trin dominerer regningen: Fjerner du 4K fra et bibliotek med 4K-kilder, forsvinder cirka to tredjedele af størrelsen. Om en udbyder tæller disse versioner med i din lagerkvote, er et separat spørgsmål, som behandles i hvad koster videohosting; hos UFOLOAD tælles kvoten efter størrelsen på de filer, du uploader.
Tilpas stigen i Kodningsstudiet
Du behøver ikke acceptere standardindstillingerne. Kodningsstudiet i dashboardet har tre indstillinger, der ændrer, hvor mange trin du gemmer:
- Maksimal opløsning. Videoer kodes aldrig over denne værdi. Opløsninger over din plans loft er låst.
- Laveste kvalitet. Vælg 360p, 720p eller 1080p som nederste trin. Hæver du det, fjernes de små trin, hvilket sparer disk og kodningstid, men seere på svage forbindelser mister deres reserve, så behold 360p, hvis dit publikum omfatter mobilbrugere.
- Hurtige presets. Maksimal kvalitet, balanceret, spar lagerplads (op til 720p og kun de kvaliteter, du har brug for) og øjeblikkelig udgivelse for kvalificerede konti.
Ændringer gælder for nye uploads. For at anvende dem på videoer, der allerede ligger i dit bibliotek, bruger du genkodningshandlingen, som behandler de nyeste videoer i portioner og har en pause mellem kørslerne; videoerne kan stadig afspilles, mens de genkodes.
Hvis du bygger din egen stige
- Hold afstanden mellem nabotrin på cirka 1,5 til 2 gange i bitrate. Mindre spring øger lagerforbruget uden synlig fordel, større spring gør kvalitetsskiftet tydeligt.
- Start lavt nok til dine langsomste realistiske seere. Et trin, som ingen kan holde, er spildt; et manglende nederste trin betyder et snurrende hjul.
- Afstem keyframes med segmentlængden, og angiv spidsbitraten i playlisten.
- Opskaler ikke. Sæt loftet for hvert trin ved kildens højde.
- Mål efter en måned, hvilke trin dine seere faktisk bruger, og fjern dem, der aldrig afspilles.
Hele kæden fra uploadformater til levering finder du på funktionssiden; plangrænser og priser står under priser. Hvis du stadig sammenligner muligheder, gennemgår tjeklisten til videohosting de spørgsmål om kodning og kvalitet, du bør stille enhver udbyder.
Upload en video, og få en HLS-afspiller og en API-nøgle på få minutter. Plangrænserne står på prissiden.