Adaptive Bitrate (ABR) — је технологија стриминга која динамички мења квалитет видеа у зависности од пропусног опсега канала корисника. За разлику од прогресивног преузимања, ABR дели видео на мале сегменте од 2–10 секунди и пребацује се између њих у лету. Према истраживању Bitmovin Video Developer Report (2025), 86% стриминг сервиса користи ABR за обезбеђивање глатке репродукције на мобилним уређајима.
Главне тачке
Adaptive Bitrate (ABR) — је метода стриминга медијског садржаја у којој се видео фајл кодира у више варијанти са различитим битрејтом и резолуцијом, а плејер аутоматски бира одговарајућу варијанту у реалном времену. Корисник добија максимални могући квалитет без баферовања при тренутној брзини интернета.
За разлику од традиционалног прогресивног преузимања (progressive download), 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 стриминга почиње у фази припреме садржаја: оригинални видео се кодира у више варијанти са различитим битрејтом — на пример, 144p, 360p, 720p, 1080p и 4K. Свака варијанта се дели на сегменте исте дужине, обично 2, 4, 6 или 10 секунди.
На серверу се креира манифест фајл који описује доступне варијанте (representations), њихов битрејт, резолуцију, кодек и линкове ка сегментима. Плејер преузима манифест, анализира га и почиње репродукцију са најнижег битрејта ради брзог старта.
<!-- 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 од Apple-а, MPEG-DASH као отворени стандард и Smooth Streaming од Microsoft-а. Сваки протокол дефинише формат манифеста, начин сегментације и механизам шифровања.
| Протокол | Програмер | Манифест | Сегменти | Шифровање |
|---|---|---|---|---|
| HLS | Apple | .m3u8 (M3U playlist) | .ts или .fmp4 | AES-128, SAMPLE-AES |
| MPEG-DASH | ISO/MPEG | .mpd (XML) | .m4s или .webm | CENC (Common Encryption) |
| Smooth Streaming | Microsoft | .ismc (XML, IIS) | .ismv / .isma | PlayReady (AES-128 CT) |
HLS — најраспрострањенији ABR протокол, уграђен у iOS, tvOS и Safari на macOS-у. Формат манифеста је заснован на проширеним M3U плејлистама, где главна плејлиста (master playlist) садржи линкове ка варијантама (variant streams) са различитим битрејтима и резолуцијама.
Свака варијанта се позива на своју медија плејлисту са списком сегмената. HLS подржава уживо емитовање кроз механизам клизног прозора (sliding window), где се стари сегменти уклањају, а нови додају како пристижу.
MPEG-DASH — једини ABR стандард усвојен од стране ISO/IEC 23009-1 2012. године. За разлику од HLS-а, DASH користи XML манифест (MPD — Media Presentation Description) и није везан за одређени формат контејнера — подржава fMP4, WebM и друге.
DASH обезбеђује флексибилну сегментацију: сегменти могу имати различиту дужину у оквиру истог тока, што оптимизује однос између кашњења и overhead-а HTTP захтева. За уживо емитовање, DASH подржава шаблоне сегмената (SegmentTemplate).
Према Bitmovin тестовима (2025), HLS и DASH показују упоредиве перформансе у погледу времена покретања и учесталости пребацивања битрејта. HLS обезбеђује мање кашњење на iOS-у захваљујући хардверској подршци, DASH је пожељнији на Android-у због флексибилнијег подешавања ABR алгоритама.
Срце ABR-а — алгоритам избора битрејта који одређује коју варијанту захтевати следећу. Постоје три главне породице алгоритама: засновани на пропусности (throughput-based), засновани на баферу (buffer-based) и хибридни (hybrid). Сваки приступ има своје предности и ограничења.
Throughput-based алгоритми процењују пропусни опсег мреже на основу брзине преузимања претходних сегмената. Алгоритам бира максимални битрејт који не прелази 80–90% измереног пропусног опсега, остављајући резерву за флуктуације.
Недостатак овог приступа је осетљивост на краткотрајне скокове брзине. Ако мрежа нагло опадне током преузимања сегмента, процена пропусног опсега се потцењује и квалитет се непотребно смањује.
Buffer-based алгоритми доносе одлуке на основу попуњености бафера плејера. Ако је бафер попуњен више од 70%, алгоритам повећава битрејт; ако бафер падне испод 20% — нагло смањује квалитет да би спречио баферовање.
Главна предност је одсуство лажних смањења при краткотрајним падовима мреже, јер бафер изглађује флуктуације. Недостатак — спора реакција на стабилне промене пропусног опсега.
Савремени плејери, као што су ExoPlayer и AVPlayer, користе хибридне алгоритме који комбинују процену пропусног опсега и стање бафера. ExoPlayer подразумевано користи ABR алгоритам DefaultTrackSelector, који узима у обзир оба параметра.
У 2024–2025. години активно се уводе ML-базирани алгоритми који предвиђају будуће промене мреже на основу историјских података. Netflix, YouTube и Twitch користе сопствене моделе машинског учења за оптимизацију избора битрејта, што смањује број пребацивања за 30–40%.
Мобилне апликације постављају посебне захтеве за ABR због нестабилности мобилних мрежа (4G/LTE, 5G) и ограничене рачунарске снаге уређаја. Плејер мора брзо да се прилагоди променама мреже, минимизирајући притом потрошњу енергије и саобраћаја.
Према OpenSignal (2025), просечна брзина 4G у урбаним условима варира од 5 до 50 Mbit/s, а у покрету може пасти на 1 Mbit/s. ABR алгоритми морају да се пребаце између битрејта у 1–2 сегмента како би избегли баферовање при уласку у тунел или лифт.
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()
За мобилне апликације критично је брзо почетно учитавање (time-to-first-frame мање од 2 секунде). Препоручује се почетак репродукције са најнижег доступног битрејта, а затим повећање квалитета како се бафер пуни — стратегија start-low-and-rise.
Потрошња енергије је такође важна: хардверско убрзање декодирања треба користити за све битрејтове. Софтверско декодирање високих битрејтова (1080p и више) на старим уређајима може довести до прегревања и успоравања.
Кључне метрике квалитета ABR-а: број пребацивања битрејта (switches), време до првог кадра (TTFF), однос пребацивања према укупном времену гледања. Индекс квалитета QoE (Quality of Experience) израчунава се као пондерисани збир битрејта, казне за пребацивања и казне за баферовање.
За праћење ABR-а препоручује се прикупљање аналитике са плејера: тренутни битрејт, величина бафера, пропусни опсег, број и типови пребацивања. Подаци помажу провајдерима садржаја да оптимизују скуп доступних битрејтова и подесе сегментацију за одређену публику.
Често постављана питања
Adaptive Bitrate (ABR) — технологија стриминга која динамички мења квалитет видеа према условима мреже. Плејер дели видео на сегменте и за сваки бира оптимални битрејт, обезбеђујући глатку репродукцију без баферовања на мобилним уређајима.
HLS — Apple протокол, који користи M3U плејлисте и транспортне токове (.ts). MPEG-DASH — отворени ISO стандард са XML манифестом (.mpd) и флексибилним форматима сегмената. HLS је бољи на iOS-у, DASH — на Android-у и вебу.
ABR побољшава перципирани квалитет елиминацијом баферовања: видео може привремено да смањи резолуцију при погоршању мреже, али се не зауставља. Корисник преферира глатки видео у 720p него испрекидани 4K са сталним баферовањем.
ExoPlayer користи хибридни алгоритам DefaultTrackSelector, који узима у обзир пропусни опсег мреже и попуњеност бафера. Такође су доступне Throughput-based и Buffer-based стратегије са могућношћу прилагођавања путем AdaptiveTrackSelection.Factory.
Дужина сегмената одређује учесталост адаптације: кратки сегменти (2 секунде) брже реагују на промене мреже, али стварају више HTTP захтева. Сегменти од 4–6 секунди су оптимални за мобилне уређаје по односу брзине адаптације и overhead-а.
Резиме
Развићемо мобилну апликацију под кључ
IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.
Прочитајте такође