Adaptive Bitrate (ABR) — ay isang teknolohiya ng streaming na dinamikong nagbabago ng kalidad ng video batay sa bandwidth ng channel ng user. Hindi tulad ng progresibong pag-download, hinahati ng ABR ang video sa maliliit na segment na 2–10 segundo at lumilipat sa pagitan ng mga ito nang mabilis. Ayon sa Bitmovin Video Developer Report (2025), 86% ng mga serbisyo ng streaming ay gumagamit ng ABR upang matiyak ang maayos na pag-playback sa mga mobile device.
Mga Pangunahing Punto
Adaptive Bitrate (ABR) — ay isang paraan ng streaming ng media content kung saan ang video file ay naka-encode sa maraming variant na may iba't ibang bitrate at resolution, at ang player ay awtomatikong pumipili ng angkop na variant sa real-time. Nakukuha ng user ang pinakamataas na posibleng kalidad nang walang buffering sa kasalukuyang bilis ng internet.
Hindi tulad ng tradisyonal na progresibong pag-download (progressive download), hindi kinakailangan ng ABR na i-load ang buong file — ang player ay humihiling ng maiikling segment ng kinakailangang kalidad at maaaring lumipat sa ibang bitrate sa pagitan ng mga segment. Ginagawa nitong kailangang-kailangan ang teknolohiya para sa mga mobile app, kung saan patuloy na nagbabago ang bilis ng network.
Ang adaptive streaming technology ay unang komersyal na ipinatupad ng Move Networks noong 2006 para sa broadcast ng ABC channel. Noong 2009, ipinakilala ng Apple ang HTTP Live Streaming (HLS), na naging unang malawakang ginamit na ABR standard na batay sa HTTP at nananatiling dominant sa iOS ecosystem.
Noong 2012, inilabas ng MPEG ang standard na MPEG-DASH (Dynamic Adaptive Streaming over HTTP) bilang universal ABR format, hindi nakatali sa anumang partikular na vendor. Ang DASH ay sinusuportahan ng lahat ng pangunahing platform at ito ang tanging ABR standard na pinagtibay ng ISO.
Ang proseso ng ABR streaming ay nagsisimula sa yugto ng paghahanda ng content: ang orihinal na video ay naka-encode sa maraming variant na may iba't ibang bitrate — halimbawa, 144p, 360p, 720p, 1080p at 4K. Ang bawat variant ay hinahati sa mga segment na may parehong tagal, karaniwang 2, 4, 6 o 10 segundo.
Sa server, nilikha ang isang manifest file na naglalarawan sa mga available na variant (representations), kanilang bitrate, resolution, codec at mga link sa mga segment. Dina-download ng player ang manifest, sinusuri ito at sinisimulan ang playback sa pinakamababang bitrate para sa mabilis na pagsisimula.
<!-- 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>
Sa panahon ng playback, ang ABR algorithm sa client side ay patuloy na sinusubaybayan ang network at buffer status. Kung bumaba ang bandwidth, hihilingin ng player ang mga susunod na segment na may mas mababang bitrate upang maiwasan ang buffering. Kapag bumuti ang network, tataas ang bitrate.
Ang paglipat sa pagitan ng mga bitrate ay nangyayari sa mga hangganan ng segment, na ginagawang halos hindi napapansin ang pagbabago ng kalidad para sa user. Ang mga modernong player ay maaaring mag-sync ng mga key frame sa pagitan ng iba't ibang variant upang ang paglipat ay maganap nang walang visual artifacts.
Tatlong pangunahing ABR protocol ang nangingibabaw sa merkado ng video streaming: HLS mula sa Apple, MPEG-DASH bilang open standard at Smooth Streaming mula sa Microsoft. Ang bawat protocol ay tumutukoy sa format ng manifest, paraan ng segmentasyon at mekanismo ng encryption.
| Protocol | Developer | Manifest | Mga Segment | Encryption |
|---|---|---|---|---|
| HLS | Apple | .m3u8 (M3U playlist) | .ts o .fmp4 | AES-128, SAMPLE-AES |
| MPEG-DASH | ISO/MPEG | .mpd (XML) | .m4s o .webm | CENC (Common Encryption) |
| Smooth Streaming | Microsoft | .ismc (XML, IIS) | .ismv / .isma | PlayReady (AES-128 CT) |
HLS — ang pinakamalawak na ginagamit na ABR protocol, naka-embed sa iOS, tvOS at Safari sa macOS. Ang format ng manifest ay batay sa pinalawak na M3U playlist, kung saan ang master playlist ay naglalaman ng mga link sa mga variant (variant streams) na may iba't ibang bitrate at resolution.
Ang bawat variant ay tumutukoy sa sarili nitong media playlist na may listahan ng mga segment. Sinusuportahan ng HLS ang live broadcast sa pamamagitan ng sliding window mechanism, kung saan ang mga lumang segment ay tinatanggal at ang mga bago ay idinaragdag habang dumarating.
MPEG-DASH — ang tanging ABR standard na pinagtibay ng ISO/IEC 23009-1 noong 2012. Hindi tulad ng HLS, gumagamit ang DASH ng XML manifest (MPD — Media Presentation Description) at hindi nakatali sa anumang partikular na container format — sinusuportahan nito ang fMP4, WebM at iba pa.
Ang DASH ay nagbibigay ng flexible na segmentasyon: ang mga segment ay maaaring magkaroon ng iba't ibang tagal sa loob ng isang stream, na nag-o-optimize ng ratio sa pagitan ng latency at overhead ng HTTP requests. Para sa live broadcast, sinusuportahan ng DASH ang mga template ng segment (SegmentTemplate).
Ayon sa mga pagsubok ng Bitmovin (2025), ang HLS at DASH ay nagpapakita ng paghahambing na pagganap sa mga tuntunin ng oras ng pagsisimula at dalas ng paglipat ng bitrate. Ang HLS ay nagbibigay ng mas mababang latency sa iOS dahil sa hardware support, ang DASH ay mas gusto sa Android dahil sa mas flexible na configuration ng ABR algorithms.
Ang puso ng ABR — ang algorithm sa pagpili ng bitrate na tumutukoy kung aling variant ang susunod na hihilingin. May tatlong pangunahing pamilya ng algorithm: throughput-based, buffer-based at hybrid. Ang bawat approach ay may sariling kalakasan at limitasyon.
Throughput-based algorithm ay tinatantiya ang bandwidth ng network batay sa bilis ng pag-download ng mga nakaraang segment. Pinipili ng algorithm ang maximum na bitrate na hindi lalampas sa 80–90% ng sinusukat na bandwidth, nag-iiwan ng margin para sa mga fluctuation.
Ang kahinaan ng approach na ito ay pagkasensitibo sa panandaliang pagtaas ng bilis. Kung ang network ay biglang bumaba sa panahon ng pag-download ng isang segment, ang pagtantiya ng bandwidth ay nagiging mas mababa at ang kalidad ay hindi kinakailangang ibababa.
Buffer-based algorithm ay gumagawa ng mga desisyon batay sa antas ng pagkapuno ng buffer ng player. Kung ang buffer ay puno ng higit sa 70%, tinataas ng algorithm ang bitrate; kung ang buffer ay bumaba sa ibaba 20% — biglang ibinababa ang kalidad upang maiwasan ang buffering.
Ang pangunahing bentahe ay kawalan ng maling pagbaba sa panandaliang pagbaba ng network, dahil ang buffer ay nagpapakinis ng mga fluctuation. Kahinaan — mabagal na reaksyon sa matatag na pagbabago ng bandwidth.
Ang mga modernong player, tulad ng ExoPlayer at AVPlayer, ay gumagamit ng hybrid algorithm na pinagsasama ang pagtantiya ng bandwidth at status ng buffer. Ang ExoPlayer ay default na gumagamit ng ABR algorithm DefaultTrackSelector, na isinasaalang-alang ang parehong parameter.
Sa 2024–2025, ang ML-based algorithm na hinuhulaan ang mga pagbabago sa network sa hinaharap batay sa historical data ay aktibong ipinapatupad. Ang Netflix, YouTube at Twitch ay gumagamit ng kanilang sariling machine learning models upang i-optimize ang pagpili ng bitrate, na nagbabawas ng bilang ng paglipat ng 30–40%.
Ang mga mobile app ay naglalagay ng mga espesyal na pangangailangan para sa ABR dahil sa instability ng cellular networks (4G/LTE, 5G) at limitadong computing power ng mga device. Ang player ay dapat mabilis na umangkop sa mga pagbabago ng network habang pinapaliit ang konsumo ng kuryente at paggamit ng data.
Ayon sa OpenSignal (2025), ang average na bilis ng 4G sa urban na kondisyon ay nag-iiba mula 5 hanggang 50 Mbit/s, at sa paggalaw ay maaaring bumaba sa 1 Mbit/s. Ang ABR algorithm ay dapat lumipat sa pagitan ng bitrate sa loob ng 1–2 segment upang maiwasan ang buffering kapag pumapasok sa tunnel o elevator.
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()
Para sa mga mobile app, ang mabilis na paunang pag-load (time-to-first-frame na mas mababa sa 2 segundo) ay kritikal. Inirerekomenda na simulan ang playback sa pinakamababang available na bitrate, pagkatapos ay taasan ang kalidad habang napupuno ang buffer — start-low-and-rise strategy.
Ang konsumo ng kuryente ay mahalaga rin: ang hardware acceleration ng decoding ay dapat gamitin para sa lahat ng bitrate. Ang software decoding ng mataas na bitrate (1080p pataas) sa mga lumang device ay maaaring humantong sa sobrang init at throttling.
Mga pangunahing metrics ng kalidad ng ABR: bilang ng paglipat ng bitrate (switches), oras hanggang unang frame (TTFF), ratio ng paglipat sa kabuuang oras ng panonood. Ang QoE (Quality of Experience) quality index ay kinakalkula bilang weighted sum ng bitrate, penalty para sa paglipat at penalty para sa buffering.
Para sa pagmonitor ng ABR, inirerekomenda na mangolekta ng analytics mula sa player: kasalukuyang bitrate, laki ng buffer, bandwidth, bilang at uri ng paglipat. Ang data ay tumutulong sa mga content provider na i-optimize ang set ng mga available na bitrate at i-adjust ang segmentasyon para sa partikular na audience.
Mga Madalas Itanong
Adaptive Bitrate (ABR) — teknolohiya ng streaming na dinamikong nagbabago ng kalidad ng video ayon sa kondisyon ng network. Hinahati ng player ang video sa mga segment at pinipili para sa bawat isa ang optimal na bitrate, tinitiyak ang maayos na playback nang walang buffering sa mga mobile device.
HLS — protocol ng Apple, gumagamit ng M3U playlist at transport stream (.ts). MPEG-DASH — open na ISO standard na may XML manifest (.mpd) at flexible na format ng segment. Mas mahusay ang HLS sa iOS, ang DASH sa Android at web.
Pinapabuti ng ABR ang perceived na kalidad sa pamamagitan ng pag-alis ng buffering: ang video ay maaaring pansamantalang magpababa ng resolution kapag lumala ang network, ngunit hindi hihinto. Mas gusto ng user ang maayos na 720p video kaysa sa 4K na may patuloy na buffering.
Gumagamit ang ExoPlayer ng hybrid algorithm DefaultTrackSelector, na isinasaalang-alang ang network bandwidth at antas ng pagkapuno ng buffer. Available din ang Throughput-based at Buffer-based na mga strategy na may kustomisasyon sa pamamagitan ng AdaptiveTrackSelection.Factory.
Ang tagal ng segment ay tumutukoy sa dalas ng adaptasyon: ang maiikling segment (2 segundo) ay mas mabilis na tumugon sa mga pagbabago ng network, ngunit lumilikha ng mas maraming HTTP request. Ang mga segment na 4–6 segundo ay optimal para sa mga mobile device sa mga tuntunin ng ratio ng bilis ng adaptasyon sa overhead.
Buod
Gagawa kami ng mobile application na turnkey
Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.
Basahin din