Mobil uygulamalarda Adaptive Bitrate — nedir, algoritmalar ve protokoller

Yazar: IT Sectr Yayınlanma: 2026-05-24 Okuma süresi: 8 dk

Adaptive Bitrate (ABR), kullanıcının kanal bant genişliğine bağlı olarak video kalitesini dinamik olarak değiştiren bir akış teknolojisidir. Aşamalı indirmenin aksine ABR, videoyu 2–10 saniyelik küçük parçalara böler ve anında aralarında geçiş yapar. Bitmovin Video Developer Report (2025)'e göre, akış hizmetlerinin %86'sı mobil cihazlarda sorunsuz oynatma sağlamak için ABR kullanıyor.

Önemli Noktalar

  • ABR — ağ koşullarına göre video kalitesini değiştiren uyarlanabilir bitrate akış teknolojisi.
  • Segmentasyon — video 2–10 saniyelik parçalara bölünür, her biri birden çok bitrate'te sunulur.
  • HLS ve MPEG-DASH — mobil uygulamalarda ABR akışı için ana protokoller.
  • Algoritmalar bitrate seçimi için verim tabanlı, tampon tabanlı ve hibrit yaklaşımları içerir.
  • ABR, Kullanıcı Deneyimini İyileştirir arabelleğe almayı en aza indirerek ve hızlı oynatma başlatmayı sağlayarak.

Adaptive Bitrate Nedir?

Adaptive Bitrate (ABR), bir video dosyasının farklı bitrate ve çözünürlüklerde birden çok varyantta kodlandığı ve oynatıcının gerçek zamanlı olarak uygun varyantı otomatik seçtiği bir medya içeriği akış yöntemidir. Kullanıcı, mevcut internet hızına göre arabelleğe almadan mümkün olan en yüksek kaliteyi elde eder.

Geleneksel aşamalı indirmenin aksine ABR, tüm dosyanın yüklenmesini gerektirmez — oynatıcı istenen kalitede kısa segmentler ister ve segmentler arasında başka bir bitrate geçiş yapabilir. Bu, ağ hızının sürekli değiştiği mobil uygulamalar için teknolojiyi vazgeçilmez kılar.

ABR'nin Tarihçesi

Uyarlanabilir akış teknolojisi ilk olarak 2006 yılında Move Networks tarafından ABC televizyon kanalının yayını için ticari olarak uygulanmıştır. 2009 yılında Apple, HTTP tabanlı ilk yaygın olarak benimsenen ABR standardı haline gelen ve iOS ekosisteminde hala baskın olan HTTP Live Streaming (HLS)'i tanıttı.

2012 yılında MPEG, belirli bir satıcıya bağlı olmayan evrensel bir ABR formatı olarak MPEG-DASH (Dynamic Adaptive Streaming over HTTP) standardını yayınladı. DASH tüm büyük platformlar tarafından desteklenmektedir ve ISO tarafından benimsenen tek ABR standardıdır.

ABR Nasıl Çalışır?

ABR akış süreci içerik hazırlama aşamasında başlar: kaynak video, farklı bitrate'lerde — örneğin 144p, 360p, 720p, 1080p ve 4K — birden çok varyantta kodlanır. Her varyant, tipik olarak 2, 4, 6 veya 10 saniye olmak üzere eşit süreli parçalara ayrılır.

Sunucuda, mevcut varyantları, bitrate'lerini, çözünürlüklerini, kodeklerini ve segment URL'lerini tanımlayan bir bildirim dosyası oluşturulur. Oynatıcı bildirimi indirir, analiz eder ve hızlı başlangıç için en düşük bitrate'te oynatmaya başlar.

ABR Bildirim Yapısı (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>

Dinamik Bitrate Geçişi

Oynatma sırasında, istemci tarafındaki ABR algoritması sürekli olarak ağ koşullarını ve tampon durumunu izler. Bant genişliği düşerse, oynatıcı arabelleğe almayı önlemek için sonraki segmentleri daha düşük bir bitrate'te ister. Ağ iyileştiğinde bitrate yükselir.

Bitrate'ler arasında geçiş, segment sınırlarında gerçekleşir ve kalite değişikliklerini kullanıcı için neredeyse algılanamaz hale getirir. Modern oynatıcılar, geçişin görsel yapaylıklar olmadan gerçekleşmesi için farklı varyantlar arasında anahtar kareleri senkronize edebilir.

ABR Protokolleri: HLS, MPEG-DASH, Smooth Streaming

Üç ana ABR protokolü akış video pazarına hakimdir: Apple'dan HLS, açık standart olarak MPEG-DASH ve Microsoft'tan Smooth Streaming. Her protokol, bildirim formatını, segmentasyon yöntemini ve şifreleme mekanizmasını tanımlar.

ProtokolGeliştiriciBildirimSegmentlerŞifreleme
HLSApple.m3u8 (M3U çalma listesi).ts veya .fmp4AES-128, SAMPLE-AES
MPEG-DASHISO/MPEG.mpd (XML).m4s veya .webmCENC (Ortak Şifreleme)
Smooth StreamingMicrosoft.ismc (XML, IIS).ismv / .ismaPlayReady (AES-128 CT)

HTTP Live Streaming (HLS)

HLS, iOS, tvOS ve macOS'ta Safari'ye yerleşik olan en yaygın ABR protokolüdür. Bildirim formatı, ana çalma listesinin farklı bitrate ve çözünürlüklerdeki varyant akışlarına bağlantılar içerdiği genişletilmiş M3U çalma listelerine dayanır.

Her varyant, segment listesiyle birlikte kendi medya çalma listesine başvurur. HLS, eski segmentlerin kaldırıldığı ve yenilerinin geldikçe eklendiği kayan pencere mekanizması aracılığıyla canlı yayınları destekler.

MPEG-DASH

MPEG-DASH, 2012 yılında ISO/IEC 23009-1 olarak kabul edilen tek ABR standardıdır. HLS'nin aksine DASH, bir XML bildirimi (MPD — Media Presentation Description) kullanır ve belirli bir kapsayıcı formatına bağlı değildir — fMP4, WebM ve diğerlerini destekler.

DASH, esnek segmentasyon sağlar: segmentler aynı akış içinde farklı sürelere sahip olabilir, bu da gecikme ve HTTP istek yükü arasındaki dengeyi optimize eder. Canlı yayınlar için DASH, SegmentTemplate desenlerini destekler.

Protokol Performans Karşılaştırması

Bitmovin testlerine (2025) göre HLS ve DASH, başlatma süresi ve bitrate geçiş sıklığında karşılaştırılabilir performans gösterir. HLS, donanım desteği sayesinde iOS'ta daha düşük gecikme sağlarken, DASH daha esnek ABR algoritması yapılandırması nedeniyle Android'de tercih edilir.

Uyarlanabilir Bitrate Algoritmaları

ABR'nin kalbi, sıradaki hangi varyantın isteneceğini belirleyen bitrate seçim algoritmasıdır. Üç ana algoritma ailesi vardır: verim tabanlı, tampon tabanlı ve hibrit. Her yaklaşımın güçlü yönleri ve sınırlamaları vardır.

Verim Tabanlı Algoritmalar

Verim tabanlı algoritmalar, önceki segmentlerin indirme hızına göre ağ bant genişliğini tahmin eder. Algoritma, ölçülen verimin %80–90'ını aşmayan maksimum bitrate'i seçerek dalgalanmalar için bir marj bırakır.

Bu yaklaşımın dezavantajı, kısa süreli hız artışlarına karşı duyarlılığıdır. Segment indirme sırasında ağ keskin bir şekilde düşerse, verim tahmini çok düşük olur ve gereksiz yere kalite düşer.

Tampon Tabanlı Algoritmalar

Tampon tabanlı algoritmalar, oynatıcının tampon doluluğuna göre kararlar alır. Tampon %70'ten fazla doluysa algoritma bitrate'i artırır; tampon %20'nin altına düşerse, arabelleğe almayı önlemek için kaliteyi keskin bir şekilde düşürür.

Ana avantaj, kısa süreli ağ düşüşleri sırasında yanlış kalite düşüşünün olmamasıdır, çünkü tampon dalgalanmaları yumuşatır. Dezavantajı, sürekli bant genişliği değişikliklerine yavaş tepki vermesidir.

Hibrit Algoritmalar ve Makine Öğrenimi

ExoPlayer ve AVPlayer gibi modern oynatıcılar, verim tahmini ve tampon durumunu birleştiren hibrit algoritmalar kullanır. ExoPlayer, her iki parametreyi de dikkate alan varsayılan DefaultTrackSelector ABR algoritmasını kullanır.

2024–2025 yıllarında, geçmiş verilere dayanarak gelecekteki ağ değişikliklerini tahmin eden ML tabanlı algoritmalar aktif olarak dağıtılmaktadır. Netflix, YouTube ve Twitch, bitrate seçimini optimize etmek için kendi makine öğrenimi modellerini kullanarak geçiş sayısını %30–40 oranında azaltır.

Mobil Uygulamalarda ABR

Mobil uygulamalar, hücresel ağların (4G/LTE, 5G) dengesizliği ve sınırlı cihaz işlem gücü nedeniyle ABR'ye özel talepler getirir. Oynatıcı, güç tüketimini ve veri kullanımını en aza indirirken ağ değişikliklerine hızla uyum sağlamalıdır.

OpenSignal'e (2025) göre, kentsel alanlarda ortalama 4G hızı 5 ila 50 Mbps arasında değişir ve hareket halindeyken 1 Mbps'ye düşebilir. ABR algoritmaları, bir tünele veya asansöre girerken arabelleğe almayı önlemek için 1–2 segment içinde bitrate'ler arasında geçiş yapmalıdır.

ExoPlayer'da ABR Yapılandırması (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()

Mobil Cihazlar İçin ABR Optimizasyonu

Mobil uygulamalar için hızlı ilk yükleme (ilk kareye kadar geçen süre 2 saniyenin altında) kritik öneme sahiptir. En düşük kullanılabilir bitrate'te oynatmaya başlamanız ve ardından tampon doldukça kaliteyi artırmanız — start-low-and-rise stratejisi — önerilir.

Güç tüketimi de önemlidir: donanım hızlandırmalı kod çözme tüm bitrate'ler için kullanılmalıdır. Eski cihazlarda yüksek bitrate'lerin (1080p ve üzeri) yazılımla kodunun çözülmesi aşırı ısınmaya ve kısıtlamaya neden olabilir.

ABR ve Performans Analizi

Temel ABR kalite metrikleri: bitrate geçiş sayısı, ilk kareye kadar geçen süre (TTFF) ve toplam izleme süresine göre geçiş oranı. QoE (Kalite Deneyimi) endeksi, bitrate, geçiş cezası ve arabelleğe alma cezasının ağırlıklı toplamı olarak hesaplanır.

ABR izleme için oynatıcıdan analiz toplanması önerilir: mevcut bitrate, tampon boyutu, bant genişliği, geçiş sayısı ve türleri. Bu veriler, içerik sağlayıcıların mevcut bitrate kümesini optimize etmesine ve belirli kitleleri için segmentasyonu yapılandırmasına yardımcı olur.

Sıkça Sorulan Sorular

Mobil uygulamalarda Adaptive Bitrate nedir?

Adaptive Bitrate (ABR), ağ koşullarına göre video kalitesini dinamik olarak değiştiren bir akış teknolojisidir. Oynatıcı videoyu segmentlere ayırır ve her biri için en uygun bitrate'i seçerek mobil cihazlarda arabelleğe almadan sorunsuz oynatma sağlar.

HLS, MPEG-DASH'ten nasıl farklıdır?

HLS, M3U çalma listeleri ve taşıma akışları (.ts) kullanan bir Apple protokolüdür. MPEG-DASH, XML bildirimi (.mpd) ve esnek segment formatlarına sahip açık bir ISO standardıdır. HLS iOS'ta en iyi çalışırken, DASH Android ve web'de daha iyidir.

ABR video kalitesini nasıl etkiler?

ABR, arabelleğe almayı ortadan kaldırarak algılanan kaliteyi artırır: ağ kötüleştiğinde video geçici olarak çözünürlüğü düşürebilir ancak durmaz. Kullanıcılar, sürekli arabelleğe alan kesintili 4K yerine akıcı 720p videoyu tercih eder.

ExoPlayer'da hangi ABR algoritmaları kullanılır?

ExoPlayer, ağ bant genişliğini ve tampon doluluğunu dikkate alan hibrit bir algoritma olan DefaultTrackSelector'u kullanır. AdaptiveTrackSelection.Factory ile özelleştirme yapılabilen verim tabanlı ve tampon tabanlı stratejiler de mevcuttur.

Segmentasyon ABR'yi nasıl etkiler?

Segment süresi uyum sıklığını belirler: kısa segmentler (2 saniye) ağ değişikliklerine daha hızlı tepki verir ancak daha fazla HTTP isteği oluşturur. 4–6 saniyelik segmentler, uyum hızı ve yük arasında denge kurarak mobil cihazlar için idealdir.

Özet

  • Adaptive Bitrate — ağ bant genişliğine göre video kalitesini dinamik olarak ayarlayan temel akış teknolojisi.
  • HLS ve MPEG-DASH — ana ABR protokolleri; HLS iOS'ta, DASH Android ve web platformlarında baskın.
  • ABR algoritmaları verim tabanlı, tampon tabanlı ve hibrit olarak ayrılır; yeni nesil ML algoritmaları geçişleri %30–40 azaltır.
  • Segmentasyon 2–10 saniyelik parçalara ayırarak oynatıcının kullanıcı için algılanamaz şekilde segmentler arasında bitrate geçişi yapmasını sağlar.
  • Mobil optimizasyon hızlı başlatma (start-low-and-rise) ve kod çözme sırasında güç tüketiminin dikkate alınmasını gerektirir.
  • QoE metrikleri geçiş sayısı, ilk kareye kadar geçen süre ve arabelleğe alma sıklığını içerir.
  • Hibrit algoritmalar optimum bitrate seçimi için verim tahmini ve tampon durumunu birleştirir.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun