Термин
Throughput-based ABR
ABR-алгоритм выбирает наиболее высокое качество воспроизведения, битрейт которого не превышает недавно измеренную пропускную способность. Это самый простой и распространённый подход к адаптивному битрейту.
Throughput-based ABR оценивает доступную полосу пропускания по времени загрузки последних сегментов и выбирает наиболее высокое качество, которое помещается с запасом. Типичная формула: гармоническое среднее по времени загрузки последних N сегментов (N около 5), умноженное на коэффициент безопасности (0,7–0,9), после чего выбирается самый высокий rendition с битрейтом ниже полученного значения. При поступлении следующего сегмента параметры пересчитываются, и при необходимости происходит переключение.
Сильная сторона – простота: алгоритм легко понять, быстро внедрить и предсказать его поведение. Когда пропускная способность действительно меняется, throughput-алгоритм адаптационного управления битрейтом подстраивается за несколько сегментов. Слабая сторона – в сетях с переменной нагрузкой (например, сотовых или Wi-Fi при высокой активности) недавняя пропускная способность плохо предсказывает ближайшую, что приводит к колебаниям и лишним переключениям. Throughput-алгоритмы также склонны к резким скачкам скорости – могут слишком легко переходить с 720p на 1080p и обратно.
Throughput-ориентированный ABR – стандартная настройка в hls.js, Shaka Player и большинстве старых плееров. В современных продакшен-развёртываниях обычно добавляются дополнительные эвристики: минимальное время пребывания на одном качестве (не переключаться чаще, чем раз в 10 секунд), проверка уровня буфера (не повышать качество, если буфер ниже 5 секунд), стартовый буст (начинать с низкого качества и быстро подняться). Эти доработки превращают учебный throughput-алгоритм в решение, приемлемое для реальных пользователей.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.