Adaptive Bitrate i mobilappar — vad det är, algoritmer och protokoll

Författare: IT Sectr Publicerad: 2026-05-24 Lästid: 8 min

Adaptive Bitrate (ABR) — är en strömningsteknik som dynamiskt ändrar videokvaliteten beroende på användarens kanalbandbredd. Till skillnad från progressiv nedladdning delar ABR upp videon i små segment på 2–10 sekunder och växlar mellan dem i farten. Enligt Bitmovin Video Developer Report (2025) använder 86% av strömningstjänsterna ABR för att säkerställa smidig uppspelning på mobila enheter.

Huvudpunkter

  • ABR — adaptiv bitrate-överföringsteknik som ändrar videokvaliteten efter nätverksförhållanden.
  • Segmentering — videon delas upp i fragment på 2–10 sekunder, varje tillgängligt i flera bitrate-nivåer.
  • HLS och MPEG-DASH — de viktigaste protokollen för ABR-strömning i mobilappar.
  • Algoritmer för bitrate-val inkluderar throughput-based, buffer-based och hybrida metoder.
  • ABR förbättrar UX genom att minimera buffring och snabb start av uppspelning.

Vad är Adaptive Bitrate?

Adaptive Bitrate (ABR) — är en metod för strömning av medieinnehåll där videofilen kodas i flera varianter med olika bitrate och upplösning, och spelaren automatiskt väljer lämplig variant i realtid. Användaren får bästa möjliga kvalitet utan buffring vid nuvarande internethastighet.

Till skillnad från traditionell progressiv nedladdning (progressive download) kräver ABR inte att hela filen laddas — spelaren begär korta segment med önskad kvalitet och kan växla till en annan bitrate mellan segmenten. Detta gör tekniken oumbärlig för mobilappar, där nätverkshastigheten ständigt förändras.

Historien om ABR

Adaptiv strömningsteknik implementerades första gången kommersiellt av Move Networks 2006 för sändning av ABC-kanalen. 2009 introducerade Apple HTTP Live Streaming (HLS), som blev den första utbredda ABR-standarden baserad på HTTP och dominerar fortfarande iOS-ekosystemet.

2012 släppte MPEG standarden MPEG-DASH (Dynamic Adaptive Streaming over HTTP) som ett universellt ABR-format, inte bundet till någon specifik leverantör. DASH stöds av alla stora plattformar och är den enda ABR-standarden som antagits av ISO.

Hur fungerar ABR?

ABR-strömningsprocessen börjar i innehållsförberedelsefasen: den ursprungliga videon kodas i flera varianter med olika bitrate — till exempel 144p, 360p, 720p, 1080p och 4K. Varje variant delas upp i segment av samma längd, vanligtvis 2, 4, 6 eller 10 sekunder.

På servern skapas en manifestfil som beskriver de tillgängliga varianterna (representations), deras bitrate, upplösning, codec och länkar till segment. Spelaren laddar ner manifestet, analyserar det och börjar uppspelningen med lägsta bitrate för snabb start.

Struktur för ABR-manifest (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>

Dynamisk bitrate-växling

Under uppspelningen övervakar ABR-algoritmen på klientsidan kontinuerligt nätverks- och bufferstatus. Om bandbredden minskar begär spelaren följande segment med lägre bitrate för att undvika buffring. När nätverket förbättras ökas bitrate.

Växling mellan bitrate sker vid segmentgränser, vilket gör kvalitetsförändringen nästan omärkbar för användaren. Moderna spelare kan synkronisera nyckelbilder mellan olika varianter så att växlingen sker utan visuella artefakter.

ABR-protokoll: HLS, MPEG-DASH, Smooth Streaming

Tre huvudsakliga ABR-protokoll dominerar marknaden för videoströmning: HLS från Apple, MPEG-DASH som öppen standard och Smooth Streaming från Microsoft. Varje protokoll definierar manifestformat, segmenteringsmetod och krypteringsmekanism.

ProtokollUtvecklareManifestSegmentKryptering
HLSApple.m3u8 (M3U playlist).ts eller .fmp4AES-128, SAMPLE-AES
MPEG-DASHISO/MPEG.mpd (XML).m4s eller .webmCENC (Common Encryption)
Smooth StreamingMicrosoft.ismc (XML, IIS).ismv / .ismaPlayReady (AES-128 CT)

HTTP Live Streaming (HLS)

HLS — det mest använda ABR-protokollet, inbyggt i iOS, tvOS och Safari på macOS. Manifestformatet är baserat på utökade M3U-spellistor, där huvudspellistan (master playlist) innehåller länkar till varianter (variant streams) med olika bitrate och upplösning.

Varje variant hänvisar till sin egen mediespellista med en lista över segment. HLS stöder live-sändningar genom en glidande fönstermekanism (sliding window), där gamla segment tas bort och nya läggs till allt eftersom de kommer.

MPEG-DASH

MPEG-DASH — den enda ABR-standarden som antogs av ISO/IEC 23009-1 2012. Till skillnad från HLS använder DASH ett XML-manifest (MPD — Media Presentation Description) och är inte bundet till något specifikt containerformat — det stöder fMP4, WebM och andra.

DASH ger flexibel segmentering: segment kan ha olika längd inom samma ström, vilket optimerar förhållandet mellan latens och overhead för HTTP-förfrågningar. För live-sändningar stöder DASH segmentmallar (SegmentTemplate).

Jämförelse av protokollprestanda

Enligt Bitmovin-tester (2025) uppvisar HLS och DASH jämförbar prestanda när det gäller starttid och frekvens för bitrate-växlingar. HLS ger lägre latens på iOS tack vare hårdvarustöd, DASH är att föredra på Android på grund av mer flexibel konfiguration av ABR-algoritmer.

Adaptiva bitrate-algoritmer

Hjärtat i ABR — bitratevalsalgoritmen som bestämmer vilken variant som ska begäras härnäst. Det finns tre huvudfamiljer av algoritmer: throughput-based, buffer-based och hybrida (hybrid). Varje metod har sina styrkor och begränsningar.

Throughput-based algoritmer

Throughput-based algoritmer uppskattar nätverksbandbredden baserat på nedladdningshastigheten för tidigare segment. Algoritmen väljer den maximala bitrate som inte överstiger 80–90% av den uppmätta bandbredden, med marginal för fluktuationer.

Nackdelen med denna metod är känslighet för kortsiktiga hastighetstoppar. Om nätverket sjunker kraftigt under nedladdning av ett segment underskattas bandbreddsuppskattningen och kvaliteten sänks i onödan.

Buffer-based algoritmer

Buffer-based algoritmer fattar beslut baserat på spelarens bufferfyllnad. Om bufferten är fylld till mer än 70% ökar algoritmen bitrate; om bufferten sjunker under 20% — sänker den kvaliteten drastiskt för att förhindra buffring.

Den främsta fördelen är avsaknad av falska sänkningar vid kortsiktiga nätverksnedgångar, eftersom bufferten jämnar ut fluktuationer. Nackdel — långsam reaktion på stabila förändringar i bandbredd.

Hybrida algoritmer och maskininlärning

Moderna spelare, som ExoPlayer och AVPlayer, använder hybrida algoritmer som kombinerar bandbreddsuppskattning och bufferstatus. ExoPlayer använder som standard ABR-algoritmen DefaultTrackSelector, som tar hänsyn till båda parametrarna.

Under 2024–2025 implementeras aktivt ML-baserade algoritmer som förutsäger framtida nätverksförändringar baserat på historisk data. Netflix, YouTube och Twitch använder egna maskininlärningsmodeller för att optimera bitrate-val, vilket minskar antalet växlingar med 30–40%.

ABR i mobilappar

Mobilappar ställer särskilda krav på ABR på grund av instabiliteten i mobilnät (4G/LTE, 5G) och begränsad beräkningskraft hos enheter. Spelaren måste snabbt anpassa sig till nätverksförändringar samtidigt som den minimerar energiförbrukning och dataanvändning.

Enligt OpenSignal (2025) varierar den genomsnittliga 4G-hastigheten i stadsmiljö från 5 till 50 Mbit/s och kan i rörelse sjunka till 1 Mbit/s. ABR-algoritmer måste växla mellan bitrate inom 1–2 segment för att undvika buffring vid inträde i en tunnel eller hiss.

ABR-konfiguration i 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-optimering för mobila enheter

För mobilappar är snabb initial laddning (time-to-first-frame mindre än 2 sekunder) avgörande. Det rekommenderas att starta uppspelningen med lägsta tillgängliga bitrate och sedan öka kvaliteten allt eftersom bufferten fylls — start-low-and-rise-strategin.

Energiförbrukning är också viktig: hårdvaruacceleration för avkodning bör användas för alla bitrate-nivåer. Programvaruavkodning av höga bitrate (1080p och högre) på äldre enheter kan leda till överhettning och throttling.

ABR och prestandaanalys

Viktiga ABR-kvalitetsmått: antal bitrate-växlingar (switches), tid till första bildrutan (TTFF), förhållande mellan växlingar och total tittartid. QoE-kvalitetsindex (Quality of Experience) beräknas som en viktad summa av bitrate, straff för växlingar och straff för buffring.

För ABR-övervakning rekommenderas att samla in analysdata från spelaren: aktuell bitrate, bufferstorlek, bandbredd, antal och typer av växlingar. Data hjälper innehållsleverantörer att optimera uppsättningen tillgängliga bitrate och justera segmenteringen för en specifik målgrupp.

Vanliga frågor

Vad är Adaptive Bitrate i mobilappar?

Adaptive Bitrate (ABR) — strömningsteknik som dynamiskt ändrar videokvaliteten efter nätverksförhållanden. Spelaren delar upp videon i segment och väljer optimal bitrate för varje, vilket säkerställer smidig uppspelning utan buffring på mobila enheter.

Vad är skillnaden mellan HLS och MPEG-DASH?

HLS — Apples protokoll, som använder M3U-spellistor och transportströmmar (.ts). MPEG-DASH — öppen ISO-standard med XML-manifest (.mpd) och flexibla segmentformat. HLS är bättre på iOS, DASH på Android och webben.

Hur påverkar ABR videokvaliteten?

ABR förbättrar den upplevda kvaliteten genom att eliminera buffring: videon kan tillfälligt sänka upplösningen när nätverket försämras, men stannar inte. Användaren föredrar smidig 720p-video framför avbruten 4K med konstant buffring.

Vilka ABR-algoritmer används i ExoPlayer?

ExoPlayer använder den hybrida algoritmen DefaultTrackSelector, som tar hänsyn till nätverksbandbredd och bufferfyllnad. Throughput-based och Buffer-based strategier finns också tillgängliga med anpassning via AdaptiveTrackSelection.Factory.

Hur påverkar segmentering ABR?

Segmentlängd bestämmer anpassningsfrekvensen: korta segment (2 sekunder) reagerar snabbare på nätverksförändringar men genererar fler HTTP-förfrågningar. Segment på 4–6 sekunder är optimala för mobila enheter när det gäller förhållandet mellan anpassningshastighet och overhead.

Sammanfattning

  • Adaptive Bitrate — den viktigaste strömningstekniken som dynamiskt anpassar videokvaliteten till nätverksbandbredden.
  • HLS och MPEG-DASH — de huvudsakliga ABR-protokollen; HLS dominerar på iOS, DASH på Android och webbplattformar.
  • ABR-algoritmer delas in i throughput-based, buffer-based och hybrida; ML-algoritmer av ny generation minskar antalet växlingar med 30–40%.
  • Segmentering i fragment på 2–10 sekunder gör att spelaren kan växla bitrate mellan segment omärkligt för användaren.
  • Mobil optimering kräver snabb start (start-low-and-rise) och hänsyn till energiförbrukning vid avkodning.
  • QoE-mått omfattar antal växlingar, tid till första bildrutan och buffringsfrekvens.
  • Hybrida algoritmer kombinerar bandbreddsuppskattning och bufferstatus för optimalt bitrate-val.

Vi utvecklar en mobil applikation nyckelfärdigt

IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.

Diskutera projektet

Läs också