Adaptive Bitrate (ABR) — egy olyan streamelési technológia, amely dinamikusan változtatja a videó minőségét a felhasználó csatornájának sávszélességétől függően. A progresszív letöltéssel ellentétben az ABR a videót 2–10 másodperces kis szegmensekre bontja, és menet közben vált közöttük. A Bitmovin Video Developer Report (2025) szerint a streaming szolgáltatások 86%-a használ ABR-t a zökkenőmentes lejátszás biztosítására mobileszközökön.
Főbb pontok
Adaptive Bitrate (ABR) — a médiatartalom streamelésének olyan módszere, ahol a videófájl több különböző bitrate-ű és felbontású változatba van kódolva, és a lejátszó automatikusan kiválasztja a megfelelő változatot valós időben. A felhasználó a lehető legjobb minőséget kapja pufferelés nélkül az aktuális internetsebesség mellett.
A hagyományos progresszív letöltéssel (progressive download) ellentétben az ABR nem igényli a teljes fájl betöltését — a lejátszó rövid szegmenseket kér a szükséges minőségben, és a szegmensek között másik bitrate-re válthat. Ez a technológiát nélkülözhetetlenné teszi a mobilalkalmazásokban, ahol a hálózati sebesség folyamatosan változik.
Az adaptív streamelési technológiát először a Move Networks valósította meg kereskedelmi céllal 2006-ban az ABC csatorna közvetítésére. 2009-ben az Apple bemutatta a HTTP Live Streaming (HLS)-t, amely az első széles körben elterjedt HTTP-alapú ABR szabvány lett, és még mindig domináns az iOS ökoszisztémában.
2012-ben az MPEG kiadta a MPEG-DASH (Dynamic Adaptive Streaming over HTTP) szabványt univerzális ABR formátumként, amely nem kötődik egyetlen szállítóhoz sem. A DASH-t az összes nagy platform támogatja, és ez az egyetlen ABR szabvány, amelyet az ISO elfogadott.
Az ABR streamelés folyamata a tartalom előkészítési szakaszában kezdődik: az eredeti videót több változatba kódolják különböző bitrate-eken — például 144p, 360p, 720p, 1080p és 4K. Minden változat azonos hosszúságú szegmensekre van osztva, általában 2, 4, 6 vagy 10 másodpercre.
A szerveren létrejön egy manifest fájl, amely leírja a rendelkezésre álló változatokat (representations), azok bitrate-jét, felbontását, kodekjét és a szegmensekre mutató linkeket. A lejátszó letölti a manifestet, elemzi azt, és a legalacsonyabb bitrate-en kezdi a lejátszást a gyors indítás érdekében.
<!-- 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>
A lejátszás során az ABR algoritmus az ügyfél oldalon folyamatosan figyeli a hálózat és a puffer állapotát. Ha a sávszélesség csökken, a lejátszó a következő szegmenseket alacsonyabb bitrate-en kéri a pufferelés elkerülése érdekében. Amikor a hálózat javul, a bitrate növekszik.
A bitrate-ek közötti váltás a szegmensek határainál történik, ami a minőségváltozást szinte észrevehetetlenné teszi a felhasználó számára. A modern lejátszók képesek szinkronizálni a kulcskockákat a különböző változatok között, így a váltás vizuális műtermékek nélkül történik.
Három fő ABR protokoll uralja a videóstreamelési piacot: az Apple HLS-e, az MPEG-DASH nyílt szabványként és a Microsoft Smooth Streaming-je. Minden protokoll meghatározza a manifest formátumát, a szegmentálás módját és a titkosítási mechanizmust.
| Protokoll | Fejlesztő | Manifest | Szegmensek | Titkosítás |
|---|---|---|---|---|
| HLS | Apple | .m3u8 (M3U playlist) | .ts vagy .fmp4 | AES-128, SAMPLE-AES |
| MPEG-DASH | ISO/MPEG | .mpd (XML) | .m4s vagy .webm | CENC (Common Encryption) |
| Smooth Streaming | Microsoft | .ismc (XML, IIS) | .ismv / .isma | PlayReady (AES-128 CT) |
HLS — a legelterjedtebb ABR protokoll, beépítve az iOS-be, tvOS-be és a Safari-ba macOS-en. A manifest formátuma kiterjesztett M3U lejátszási listákon alapul, ahol a fő lejátszási lista (master playlist) linkeket tartalmaz a különböző bitrate-ű és felbontású változatokhoz (variant streams).
Minden változat a saját média lejátszási listájára hivatkozik a szegmensek listájával. A HLS támogatja az élő közvetítéseket a csúszóablakos mechanizmuson (sliding window) keresztül, ahol a régi szegmensek eltávolításra kerülnek, és az újak hozzáadódnak érkezésükkor.
MPEG-DASH — az egyetlen ABR szabvány, amelyet az ISO/IEC 23009-1 elfogadott 2012-ben. A HLS-sel ellentétben a DASH XML manifestet (MPD — Media Presentation Description) használ, és nem kötődik egyetlen tárolóformátumhoz sem — támogatja az fMP4, WebM és más formátumokat.
A DASH rugalmas szegmentálást biztosít: a szegmensek eltérő hosszúságúak lehetnek ugyanazon a streamen belül, ami optimalizálja a késleltetés és a HTTP-kérések terhelése közötti arányt. Az élő közvetítésekhez a DASH szegmenssablonokat (SegmentTemplate) támogat.
A Bitmovin tesztek (2025) szerint a HLS és a DASH összehasonlítható teljesítményt nyújt az indítási idő és a bitrate-váltások gyakorisága tekintetében. A HLS kisebb késleltetést biztosít iOS-en a hardvertámogatásnak köszönhetően, a DASH pedig Androidon előnyösebb az ABR algoritmusok rugalmasabb konfigurálhatósága miatt.
Az ABR szíve — a bitrate kiválasztási algoritmus, amely meghatározza, hogy melyik változatot kérje a következő lépésben. Három fő algoritmuscsalád létezik: throughput-based, buffer-based és hibrid (hybrid). Mindegyik megközelítésnek megvannak a maga erősségei és korlátai.
Throughput-based algoritmusok a hálózati sávszélességet az előző szegmensek letöltési sebessége alapján becsülik meg. Az algoritmus a maximális bitrate-et választja, amely nem haladja meg a mért sávszélesség 80–90%-át, tartalékot hagyva a fluktuációkra.
Ennek a megközelítésnek a hátránya a rövid távú sebességkiugrásokra való érzékenység. Ha a hálózat hirtelen leesik egy szegmens letöltése közben, a sávszélesség becslése alacsonyabb lesz, és a minőség szükségtelenül csökken.
Buffer-based algoritmusok a lejátszó pufferének telítettsége alapján hoznak döntéseket. Ha a puffer több mint 70%-ban tele van, az algoritmus növeli a bitrate-et; ha a puffer 20% alá csökken — drasztikusan csökkenti a minőséget a pufferelés megelőzése érdekében.
A fő előny a rövid távú hálózati eséseknél a hamis csökkentések hiánya, mivel a puffer kisimítja a fluktuációkat. Hátrány — lassú reakció a sávszélesség tartós változásaira.
A modern lejátszók, mint az ExoPlayer és az AVPlayer, hibrid algoritmusokat használnak, amelyek kombinálják a sávszélesség-becslést és a puffer állapotát. Az ExoPlayer alapértelmezés szerint a DefaultTrackSelector ABR algoritmust használja, amely mindkét paramétert figyelembe veszi.
2024–2025-ben aktívan bevezetésre kerülnek ML-alapú algoritmusok, amelyek a jövőbeli hálózati változásokat előrejelzik a történeti adatok alapján. A Netflix, a YouTube és a Twitch saját gépi tanulási modelleket használ a bitrate kiválasztás optimalizálására, ami 30–40%-kal csökkenti a váltások számát.
A mobilalkalmazások különleges követelményeket támasztanak az ABR-rel szemben a celluláris hálózatok (4G/LTE, 5G) instabilitása és az eszközök korlátozott számítási teljesítménye miatt. A lejátszónak gyorsan kell alkalmazkodnia a hálózati változásokhoz, miközben minimalizálja az energiafogyasztást és az adatforgalmat.
Az OpenSignal (2025) szerint az átlagos 4G sebesség városi körülmények között 5 és 50 Mbit/s között változik, mozgás közben pedig akár 1 Mbit/s-ra is csökkenhet. Az ABR algoritmusoknak 1–2 szegmensen belül kell váltaniuk a bitrate-ek között, hogy elkerüljék a pufferelést alagútba vagy liftbe való belépéskor.
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()
A mobilalkalmazások számára kritikus a gyors kezdeti betöltés (time-to-first-frame kevesebb mint 2 másodperc). Javasolt a lejátszást a legalacsonyabb elérhető bitrate-en kezdeni, majd a minőséget növelni a puffer telődésével — ez a start-low-and-rise stratégia.
Az energiafogyasztás szintén fontos: a hardveres dekódolási gyorsítást minden bitrate-hez használni kell. A magas bitrate-ek (1080p és felette) szoftveres dekódolása régebbi eszközökön túlmelegedéshez és throttlinghoz vezethet.
Az ABR minőségének kulcsfontosságú mutatói: a bitrate-váltások száma (switches), az első képkockáig eltelt idő (TTFF), a váltások aránya a teljes nézési időhöz képest. A QoE (Quality of Experience) minőségi index a bitrate, a váltásokért járó büntetés és a pufferelésért járó büntetés súlyozott összegeként kerül kiszámításra.
Az ABR monitorozásához javasolt analitikát gyűjteni a lejátszóból: aktuális bitrate, pufferméret, sávszélesség, a váltások száma és típusai. Az adatok segítenek a tartalomszolgáltatóknak optimalizálni a rendelkezésre álló bitrate-ek készletét és beállítani a szegmentálást az adott közönségre.
Gyakran ismételt kérdések
Adaptive Bitrate (ABR) — streamelési technológia, amely dinamikusan változtatja a videó minőségét a hálózati körülmények szerint. A lejátszó szegmensekre bontja a videót, és mindegyikhez optimális bitrate-et választ, biztosítva a zökkenőmentes lejátszást pufferelés nélkül mobileszközökön.
HLS — az Apple protokollja, M3U lejátszási listákat és transport streameket (.ts) használ. MPEG-DASH — nyílt ISO szabvány XML manifesttel (.mpd) és rugalmas szegmensformátumokkal. A HLS iOS-en jobb, a DASH Androidon és weben.
Az ABR javítja az észlelt minőséget a pufferelés megszüntetésével: a videó átmenetileg csökkentheti a felbontást a hálózat romlásakor, de nem áll le. A felhasználó a folyamatos puffereléssel járó 4K helyett a sima 720p videót részesíti előnyben.
Az ExoPlayer a hibrid algoritmust, a DefaultTrackSelector-t használja, amely figyelembe veszi a hálózati sávszélességet és a puffer telítettségét. Emellett Throughput-based és Buffer-based stratégiák is elérhetők testreszabással az AdaptiveTrackSelection.Factory segítségével.
A szegmensek hossza határozza meg az alkalmazkodás gyakoriságát: a rövid szegmensek (2 másodperc) gyorsabban reagálnak a hálózati változásokra, de több HTTP-kérést generálnak. A 4–6 másodperces szegmensek optimálisak mobileszközökhöz az alkalmazkodási sebesség és a terhelés aránya szempontjából.
Összefoglaló
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is