Adaptive Bitrate у мобільних додатках — що це, алгоритми та протоколи

Автор: IT Sectr Опубліковано: 2026-05-24 Час читання: 8 хв

Adaptive Bitrate (ABR) — це технологія потокової передачі, яка динамічно змінює якість відео залежно від пропускної здатності каналу користувача. На відміну від прогресивного завантаження, ABR розбиває відео на невеликі сегменти по 2–10 секунд і перемикається між ними на льоту. За даними дослідження Bitmovin Video Developer Report (2025), 86% стрімінгових сервісів використовують ABR для забезпечення плавного відтворення на мобільних пристроях.

Головне

  • ABR — технологія адаптивної бітрейтної передачі, що змінює якість відео за умовами мережі.
  • Сегментація — відео ділиться на фрагменти по 2–10 секунд, кожен доступний у кількох бітрейтах.
  • HLS і MPEG-DASH — основні протоколи для ABR-стрімінгу в мобільних додатках.
  • Алгоритми вибору бітрейту включають throughput-based, buffer-based та гібридні підходи.
  • ABR покращує UX за рахунок мінімізації буферизації та швидкого старту відтворення.

Що таке Adaptive Bitrate?

Adaptive Bitrate (ABR) — це метод потокової передачі медіаконтенту, при якому відеофайл кодується на кілька варіантів із різним бітрейтом та роздільною здатністю, а плеєр автоматично вибирає відповідний варіант у реальному часі. Користувач отримує максимально можливу якість без буферизації при поточній швидкості інтернету.

На відміну від традиційного прогресивного завантаження, ABR не потребує завантаження всього файлу — плеєр запитує короткі сегменти потрібної якості та може переключитися на інший бітрейт між сегментами. Це робить технологію незамінною для мобільних додатків, де швидкість мережі постійно змінюється.

Історія виникнення ABR

Технологія адаптивного стрімінгу вперше була комерційно реалізована Move Networks у 2006 році для трансляції телеканалу ABC. У 2009 році Apple представила HTTP Live Streaming (HLS), який став першим широко розповсюдженим стандартом ABR на базі HTTP і досі домінує в екосистемі iOS.

У 2012 році MPEG випустив стандарт MPEG-DASH (Dynamic Adaptive Streaming over HTTP) як універсальний формат ABR, не прив'язаний до конкретного вендора. DASH підтримується всіма великими платформами і є єдиним стандартом ABR, прийнятим ISO.

Як працює ABR?

Процес ABR-стрімінгу починається на етапі підготовки контенту: вихідне відео кодується в кілька варіантів із різним бітрейтом — наприклад, 144p, 360p, 720p, 1080p та 4K. Кожен варіант розбивається на сегменти однакової тривалості, зазвичай 2, 4, 6 або 10 секунд.

На сервері створюється маніфест-файл, який описує доступні варіанти, їх бітрейт, роздільну здатність, кодек та посилання на сегменти. Плеєр завантажує маніфест, аналізує його та починає відтворення з найнижчого бітрейту для швидкого старту.

Структура ABR-маніфесту (MPEG-DASH MPD)

xml
<!-- MPEG-DASH MPD manifest -->
<MPD profiles="urn:mpeg:dash:profile:isoff-live:2011">
  <Period>
    <AdaptationSet mimeType="video/mp4">
      <Representation id="720p" bandwidth="2800000"
                     width="1280" height="720">
        <SegmentTemplate duration="4"
                        media="seg_$Number$.m4s"/>
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>

Динамічне перемикання бітрейту

Під час відтворення ABR-алгоритм на стороні клієнта постійно моніторить стан мережі та буфера. Якщо пропускна здатність падає, плеєр запитує наступні сегменти з нижчим бітрейтом, щоб уникнути буферизації. При покращенні мережі бітрейт підвищується.

Перемикання між бітрейтами відбувається на межах сегментів, що робить зміну якості майже непомітною для користувача. Сучасні плеєри вміють синхронізувати ключові кадри між різними варіантами, щоб перемикання відбувалося без візуальних артефактів.

Протоколи ABR: HLS, MPEG-DASH, Smooth Streaming

Три основних протоколи ABR домінують на ринку потокового відео: HLS від Apple, MPEG-DASH як відкритий стандарт та Smooth Streaming від Microsoft. Кожен протокол визначає формат маніфесту, спосіб сегментації та механізм шифрування.

ПротоколРозробникМаніфестСегментиШифрування
HLSApple.m3u8 (M3U playlist).ts або .fmp4AES-128, SAMPLE-AES
MPEG-DASHISO/MPEG.mpd (XML).m4s або .webmCENC (Common Encryption)
Smooth StreamingMicrosoft.ismc (XML, IIS).ismv / .ismaPlayReady (AES-128 CT)

HTTP Live Streaming (HLS)

HLS — найпоширеніший протокол ABR, вбудований в iOS, tvOS та Safari на macOS. Формат маніфесту базується на розширених M3U-плейлистах, де головний плейлист містить посилання на варіанти з різними бітрейтами та роздільними здатностями.

Кожен варіант посилається на свій медіа-плейлист зі списком сегментів. HLS підтримує живі трансляції через механізм слайдингового вікна, де старі сегменти видаляються, а нові додаються в міру надходження.

MPEG-DASH

MPEG-DASH — єдиний стандарт ABR, прийнятий ISO/IEC 23009-1 у 2012 році. На відміну від HLS, DASH використовує XML-маніфест (MPD — Media Presentation Description) і не прив'язаний до конкретного формату контейнера — підтримуються fMP4, WebM та інші.

DASH забезпечує гнучку сегментацію: сегменти можуть мати різну тривалість всередині одного потоку, що оптимізує співвідношення між затримкою та накладними витратами на HTTP-запити. Для живих трансляцій DASH підтримує шаблони сегментів (SegmentTemplate).

Порівняння продуктивності протоколів

Згідно з тестами Bitmovin (2025), HLS і DASH показують порівнянну продуктивність за часом запуску та частотою перемикань бітрейту. HLS забезпечує меншу затримку на iOS за рахунок апаратної підтримки, DASH більш бажаний на Android через гнучкіше налаштування алгоритмів ABR.

Алгоритми адаптивного бітрейту

Серце ABR — алгоритм вибору бітрейту, який визначає, який варіант запросити наступним. Існує три основних сімейства алгоритмів: throughput-based, buffer-based та гібридні (hybrid). Кожен підхід має свої сильні сторони та обмеження.

Throughput-based алгоритми

Throughput-based алгоритми оцінюють пропускну здатність мережі на основі швидкості завантаження попередніх сегментів. Алгоритм вибирає максимальний бітрейт, який не перевищує 80–90% від виміряної пропускної здатності, залишаючи запас для флуктуацій.

Недолік цього підходу — чутливість до короткочасних стрибків швидкості. Якщо мережа різко впала під час завантаження сегменту, оцінка пропускної здатності занижується, і якість надмірно знижується.

Buffer-based алгоритми

Buffer-based алгоритми приймають рішення на основі заповненості буфера плеєра. Якщо буфер заповнений більш ніж на 70%, алгоритм підвищує бітрейт; якщо буфер спорожнюється нижче 20% — різко знижує якість для запобігання буферизації.

Основна перевага — відсутність хибних знижень при короткочасних падіннях мережі, оскільки буфер згладжує флуктуації. Недолік — повільна реакція на стійкі зміни пропускної здатності.

Гібридні алгоритми та машинне навчання

Сучасні плеєри, такі як ExoPlayer та AVPlayer, використовують гібридні алгоритми, що комбінують оцінку пропускної здатності та стан буфера. ExoPlayer використовує алгоритм ABR за замовчуванням DefaultTrackSelector, який враховує обидва параметри.

У 2024–2025 роках активно впроваджуються ML-based алгоритми, що передбачають майбутні зміни мережі на основі історичних даних. Netflix, YouTube та Twitch використовують власні моделі машинного навчання для оптимізації вибору бітрейту, що знижує кількість перемикань на 30–40%.

ABR у мобільних додатках

Мобільні додатки пред'являють особливі вимоги до ABR через нестабільність стільникових мереж (4G/LTE, 5G) та обмежену обчислювальну потужність пристроїв. Плеєр повинен швидко адаптуватися до змін мережі, мінімізуючи при цьому енергоспоживання та використання трафіку.

За даними OpenSignal (2025), середня швидкість 4G у міських умовах варіюється від 5 до 50 Мбіт/с, а в русі — може падати до 1 Мбіт/с. ABR-алгоритми повинні перемикатися між бітрейтами за 1–2 сегменти, щоб уникнути буферизації при вході в тунель або ліфт.

Конфігурація ABR в ExoPlayer (Android)

kotlin
val trackSelector = DefaultTrackSelector(context).apply {
    setParameters(buildUponParameters {
        setMaxVideoSizeSd()
        setAllowVideoMixedMimeTypeAdaptiveness(true)
        setPreferredVideoRoleFlags(
            roleFlags(C.ROLE_FLAG_DESCRIBES_VIDEO_AND_AUDIO)
        )
    })
}

val adaptiveTrackSelectionFactory =
    AdaptiveTrackSelection.Factory()
val player = ExoPlayer.Builder(context)
    .setTrackSelector(trackSelector)
    .setMediaSourceFactory(
        DashMediaSource.Factory(dataSourceFactory)
    )
    .build()

Оптимізація ABR для мобільних пристроїв

Для мобільних додатків критична швидка початкова завантаження (time-to-first-frame менше 2 секунд). Рекомендується починати відтворення з найнижчого доступного бітрейту, а потім підвищувати якість у міру заповнення буфера — стратегія start-low-and-rise.

Енергоспоживання також важливе: апаратне прискорення декодування повинно бути задіяне для всіх бітрейтів. Програмне декодування високих бітрейтів (1080p і вище) на старих пристроях може призводити до перегріву та дроселювання.

ABR та аналіз продуктивності

Ключові метрики якості ABR: кількість перемикань бітрейту, час до першого кадру (TTFF), відношення перемикань до загального часу перегляду. Індекс якості QoE (Quality of Experience) розраховується як зважена сума бітрейту, штрафу за перемикання та штрафу за буферизацію.

Для моніторингу ABR рекомендується збирати аналітику з плеєра: поточний бітрейт, розмір буфера, пропускну здатність, кількість та типи перемикань. Дані допомагають контент-провайдерам оптимізувати набір доступних бітрейтів та налаштувати сегментацію під конкретну аудиторію.

Часті запитання

Що таке Adaptive Bitrate у мобільних додатках?

Adaptive Bitrate (ABR) — технологія потокової передачі, що динамічно змінює якість відео за умовами мережі. Плеєр ділить відео на сегменти та вибирає для кожного оптимальний бітрейт, забезпечуючи плавне відтворення без буферизації на мобільних пристроях.

Чим HLS відрізняється від MPEG-DASH?

HLS — протокол Apple, що використовує M3U-плейлисти та транспортні потоки (.ts). MPEG-DASH — відкритий стандарт ISO з XML-маніфестом (.mpd) та гнучкими форматами сегментів. HLS краще працює на iOS, DASH — на Android та вебі.

Як ABR впливає на якість відео?

ABR покращує сприйману якість за рахунок усунення буферизації: відео може тимчасово знизити роздільну здатність при погіршенні мережі, але не зупиняється. Користувач віддає перевагу плавному відео в 720p переривчастому 4K з постійною буферизацією.

Які алгоритми ABR використовуються в ExoPlayer?

ExoPlayer використовує гібридний алгоритм DefaultTrackSelector, що враховує пропускну здатність мережі та заповненість буфера. Також доступні Throughput-based та Buffer-based стратегії з можливістю кастомізації через AdaptiveTrackSelection.Factory.

Як сегментація впливає на ABR?

Тривалість сегментів визначає частоту адаптації: короткі сегменти (2 секунди) швидше реагують на зміни мережі, але створюють більше HTTP-запитів. Сегменти 4–6 секунд оптимальні для мобільних пристроїв за співвідношенням швидкості адаптації та накладних витрат.

Підсумки

  • Adaptive Bitrate — ключова технологія стрімінгу, що динамічно підбирає якість відео за пропускною здатністю мережі.
  • HLS і MPEG-DASH — основні протоколи ABR; HLS домінує на iOS, DASH — на Android та веб-платформах.
  • Алгоритми ABR діляться на throughput-based, buffer-based та гібридні; ML-алгоритми нового покоління знижують кількість перемикань на 30–40%.
  • Сегментація на фрагменти 2–10 секунд дозволяє плеєру перемикати бітрейт між сегментами непомітно для користувача.
  • Мобільна оптимізація потребує швидкого старту (start-low-and-rise) та врахування енергоспоживання при декодуванні.
  • QoE-метрики включають кількість перемикань, час до першого кадру та частоту буферизації.
  • Гібридні алгоритми комбінують оцінку пропускної здатності та стан буфера для оптимального вибору бітрейту.

Ми розробимо мобільний застосунок під ключ

IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.

Обговорити проект

Читайте також