HLSEncodingStorage

Стълбици с адаптивен битрейт: от 360p до 4K и цена в дисково място

Как адаптивният стрийминг избира качество, реалните нива и битрейтове на конвертора на UFOLOAD и колко дисково място струва всяко ниво на час видео.

Стълбицата с адаптивен битрейт е наборът от версии на едно видео, между които стрийминг плейърът може да избира. Всяко ниво има резолюция и битрейт; плейърът започва от едно от тях, следи колко бързо се изтеглят сегментите и се качва или слиза, когато връзката се промени. Ако стълбицата е добре подбрана, и зрителят във влака, и зрителят пред 4K телевизор получават гладко възпроизвеждане от едно и също качване. Ако е сбъркана, или хабите диск и трафик за нива, които никой не използва, или оставяте зрителите с бавна връзка да гледат въртящо се колелце.

Тази статия обяснява как работи стълбицата, а после показва реалната стълбица, която изгражда конверторът на UFOLOAD, с битрейтове, взети директно от конвертора, и колко дисково място струва всяко ниво на час видео.

Как плейърът избира ниво

Главният плейлист на HLS поток изброява всяко ниво с три важни атрибута: BANDWIDTH, RESOLUTION и CODECS. Плейърът измерва скоростта на изтегляне за последните няколко сегмента и избира най-високото ниво, чийто BANDWIDTH се побира спокойно под тази скорост. Струва си да знаете два детайла.

Първо, BANDWIDTH е пикова стойност, а не средна. Ако плейлистът я подценява, плейърът избира ниво, което връзката не може да поддържа, и възпроизвеждането засича — затова нашият конвертор записва пика и никога нула. Второ, превключването става на границите между сегментите. Нашите сегменти са по четири секунди и енкодерът поставя ключов кадър в началото на всеки, така че плейърът може да преминава между версиите без засечки. По-краткият сегмент реагира по-бързо, но добавя заявки; четири секунди е често срещан компромис.

Ако искате да сложите такъв поток на своя страница, как да вградите HLS видео показва вариантите с iframe и hls.js.

Стълбицата на UFOLOAD

Конверторът има четири нива: 2160p (4K), 1080p, 720p и 360p. Ниво се създава само ако оригиналът е поне толкова висок, защото увеличаването на резолюцията не добавя детайли, а умножава размера и времето за кодиране. Оригинал в 720p дава 720p и 360p; оригинал под 360p дава една версия в собствения си размер, така че всеки файл има поне една версия за възпроизвеждане. Ширината следва съотношението на страните на оригинала и се закръглява до четно число, защото H.264 с цветова субдискретизация 4:2:0 не може да кодира нечетни размери. Ширините по-долу са за 16:9.

Нива на конвертора на UFOLOAD (H.264 High profile, AAC стерео)
НивоКадър при 16:9Таван за видеоЦелево качество (CRF)АудиоПиков размер на час
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

Настройката по подразбиране е medium, а битрейтовете на нивата са подбрани за обикновено H.264 съдържание. Нивото 1080p е ограничено до 5 Mbit/s: това стига за чиста картина, а над него файлът расте без видима полза. 4K има четири пъти повече пиксели от 1080p, затова таванът му е 16 Mbit/s — над три пъти по-висок, за да не се появяват блокове в сложни сцени.

Конверторът не прави 480p и 240p. По-малко нива означават по-малко диск и по-кратко кодиране, а между 360p и 720p плейърът пак има разумна стъпка за бавни мобилни връзки. Кои нива реално получавате зависи и от плана ви: 360p и 720p са базата, а горното ниво се ограничава от тавана на плана, посочен на страницата с цените. В плана Free видеото получава едно качество.

CRF и таван на битрейта: защо размерите са горна граница

Енкодерът не се стреми към фиксиран битрейт. Той се стреми към постоянно качество, изразено чрез CRF (constant rate factor): по-ниското число означава по-добра картина и по-голям файл. Статично видео с говорещ човек изисква много малко данни, за да постигне целта, а екшън сцена — много. За да не може отделна сцена да задръсти бавна връзка, всяко ниво има и maxrate, равен на битрейта от таблицата, и буфер, двойно по-голям от него. Резултатът е поток, който обикновено е под тавана и никога не го надвишава задълго.

Затова размерите в тази статия са пикови. Лекция или запис на екран обикновено остава доста под тях. Съдържание с много говор може да е малка част от тавана, а динамичен спорт или шумен материал се доближава до него. Когато оразмерявате библиотека, използвайте пика за безопасен бюджет и собствената си измерена средна стойност за реалистичен.

Профилът на качеството в студиото за кодиране измества този баланс. Бързият профил използва по-бърза настройка на x264 и подготвя видеото по-рано при малко по-големи файлове; профилът за качество използва по-бавна настройка и по-нисък CRF за по-чиста картина и е достъпен в платените планове. Балансираният профил по подразбиране е между двата.

Колко дисково място струва една стълбица

Един час видео при пика на всяко ниво тежи 6.79 GiB в 2160p, 2.16 GiB в 1080p, 1.23 GiB в 720p и 0.36 GiB в 360p. Пълната стълбица е сумата от нивата, които оригиналът позволява, като всяко ниво е отделен файл на диска:

Резолюция на оригиналаСъздадени ниваПиков размер на час видео
4K (2160p)2160p, 1080p, 720p, 360p10.54 GiB
Full HD (1080p)1080p, 720p, 360p3.75 GiB
HD (720p)720p, 360p1.59 GiB
Под 360pЕдна версия в размера на оригиналаЗависи от оригинала

Конкретен пример: 100 часа Full HD материал дават най-много около 375 GiB версии. Ако ограничите горното ниво до 720p, същите сто часа заемат най-много около 159 GiB — над два пъти по-малко. Горното ниво определя сметката: премахването на 4K от библиотека с 4K оригинали маха приблизително две трети от обема ѝ. Дали един хостинг отчита тези версии в квотата ви за съхранение е отделен въпрос, разгледан в колко струва видеохостингът; в UFOLOAD квотата се изчислява по размера на файловете, които качвате.

Настройка на стълбицата в студиото за кодиране

Не е задължително да приемате настройките по подразбиране. Студиото за кодиране в таблото има три настройки, които променят колко нива съхранявате:

  • Максимална резолюция. Видеата никога не се кодират над тази стойност. Резолюциите над тавана на плана ви са заключени.
  • Най-ниско качество. Изберете 360p, 720p или 1080p за най-долно ниво. Повишаването му маха малките нива, което спестява диск и време за кодиране, но зрителите със слаба връзка губят резервния си вариант — затова запазете 360p, ако аудиторията ви включва мобилни потребители.
  • Бързи пресети. Максимално качество, балансиран, пестене на място (до 720p и само нужните качества) и незабавно публикуване за акаунтите, които имат право на него.

Промените важат за новите качвания. За да ги приложите към видеа, които вече са в библиотеката ви, използвайте действието за повторно кодиране — то обработва най-новите видеа на партиди и има пауза между стартиранията; видеата остават достъпни за гледане, докато се прекодират.

Ако изграждате своя стълбица

  • Поддържайте разлика между съседните нива от около 1,5 до 2 пъти в битрейта. По-малките стъпки добавят място без видима полза, а по-големите правят скока в качеството очевиден.
  • Започнете достатъчно ниско за най-бавните си реалистични зрители. Ниво, което никой не може да поддържа, е изхабено; липсващото най-долно ниво означава въртящо се колелце.
  • Подравнете ключовите кадри с дължината на сегмента и посочвайте пиковия битрейт в плейлиста.
  • Не увеличавайте резолюцията. Ограничете всяко ниво до височината на оригинала.
  • След месец измерете кои нива реално използват зрителите ви и махнете тези, които никога не се възпроизвеждат.

За целия процес — от форматите за качване до доставката — вижте страницата с възможностите; за лимитите и цените на плановете вижте цените. Ако още сравнявате варианти, чеклистът за избор на видеохостинг съдържа въпросите за кодиране и качество, които да зададете на всеки доставчик.

Пробвайте с безплатен акаунт

Качете видео и получете HLS плейър и API ключ за минути. Лимитите на плановете са на страницата с цените.