Adaptive Bitrate (ABR) ist eine Streaming-Technologie, die die Videoqualität dynamisch an die Bandbreite des Benutzerkanals anpasst. Im Gegensatz zum progressiven Download unterteilt ABR das Video in kleine Segmente von 2–10 Sekunden und wechselt während der Wiedergabe zwischen ihnen. Laut dem Bitmovin Video Developer Report (2025) verwenden 86 % der Streaming-Dienste ABR, um eine flüssige Wiedergabe auf mobilen Geräten zu gewährleisten.
Wichtige Erkenntnisse
Adaptive Bitrate (ABR) ist eine Methode zum Streamen von Medieninhalten, bei der eine Videodatei in mehrere Varianten mit unterschiedlichen Bitraten und Auflösungen codiert wird und der Player automatisch die passende Variante in Echtzeit auswählt. Der Benutzer erhält die höchstmögliche Qualität ohne Pufferung bei seiner aktuellen Internetgeschwindigkeit.
Im Gegensatz zum traditionellen progressiven Download muss ABR nicht die gesamte Datei laden — der Player fordert kurze Segmente in der gewünschten Qualität an und kann zwischen den Segmenten auf eine andere Bitrate umschalten. Dies macht die Technologie für mobile Anwendungen unverzichtbar, bei denen die Netzwerkgeschwindigkeit ständig schwankt.
Die adaptive Streaming-Technologie wurde erstmals 2006 von Move Networks für die Ausstrahlung des Fernsehsenders ABC kommerziell implementiert. 2009 stellte Apple HTTP Live Streaming (HLS) vor, das zum ersten weit verbreiteten ABR-Standard auf Basis von HTTP wurde und das iOS-Ökosystem bis heute dominiert.
2012 veröffentlichte MPEG den Standard MPEG-DASH (Dynamic Adaptive Streaming over HTTP) als universelles ABR-Format, das nicht an einen bestimmten Anbieter gebunden ist. DASH wird von allen großen Plattformen unterstützt und ist der einzige von ISO übernommene ABR-Standard.
Der ABR-Streaming-Prozess beginnt mit der Inhaltsvorbereitung: Das Quellvideo wird in mehrere Varianten mit unterschiedlichen Bitraten codiert — zum Beispiel 144p, 360p, 720p, 1080p und 4K. Jede Variante wird in Segmente gleicher Dauer aufgeteilt, typischerweise 2, 4, 6 oder 10 Sekunden.
Ein Manifest wird auf dem Server erstellt, das die verfügbaren Varianten, ihre Bitrate, Auflösung, Codec und Segment-URLs beschreibt. Der Player lädt das Manifest herunter, analysiert es und startet die Wiedergabe mit der niedrigsten Bitrate für einen schnellen Start.
<!-- 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>
Während der Wiedergabe überwacht der ABR-Algorithmus auf der Client-Seite ständig die Netzwerkbedingungen und den Pufferstatus. Wenn die Bandbreite sinkt, fordert der Player die nächsten Segmente mit einer niedrigeren Bitrate an, um Pufferung zu vermeiden. Bei verbesserter Netzwerkverbindung wird die Bitrate erhöht.
Das Umschalten zwischen Bitraten erfolgt an den Segmentgrenzen, was Qualitätsänderungen für den Benutzer nahezu unbemerkt macht. Moderne Player können Keyframes zwischen verschiedenen Varianten synchronisieren, sodass das Umschalten ohne visuelle Artefakte erfolgt.
Drei Haupt-ABR-Protokolle dominieren den Streaming-Videomarkt: HLS von Apple, MPEG-DASH als offener Standard und Smooth Streaming von Microsoft. Jedes Protokoll definiert das Manifestformat, die Segmentierungsmethode und den Verschlüsselungsmechanismus.
| Protokoll | Entwickler | Manifest | Segmente | Verschlüsselung |
|---|---|---|---|---|
| HLS | Apple | .m3u8 (M3U-Playlist) | .ts oder .fmp4 | AES-128, SAMPLE-AES |
| MPEG-DASH | ISO/MPEG | .mpd (XML) | .m4s oder .webm | CENC (Common Encryption) |
| Smooth Streaming | Microsoft | .ismc (XML, IIS) | .ismv / .isma | PlayReady (AES-128 CT) |
HLS ist das am weitesten verbreitete ABR-Protokoll, integriert in iOS, tvOS und Safari auf macOS. Das Manifestformat basiert auf erweiterten M3U-Playlists, wobei die Master-Playlist Links zu Varianten-Streams mit unterschiedlichen Bitraten und Auflösungen enthält.
Jede Variante verweist auf ihre eigene Media-Playlist mit einer Liste von Segmenten. HLS unterstützt Live-Übertragungen durch einen Sliding-Window-Mechanismus, bei dem alte Segmente entfernt und neue hinzugefügt werden, sobald sie eintreffen.
MPEG-DASH ist der einzige ABR-Standard, der 2012 als ISO/IEC 23009-1 verabschiedet wurde. Im Gegensatz zu HLS verwendet DASH ein XML-Manifest (MPD — Media Presentation Description) und ist nicht an ein bestimmtes Containerformat gebunden — es unterstützt fMP4, WebM und andere.
DASH bietet eine flexible Segmentierung: Segmente können innerhalb desselben Streams unterschiedliche Dauern haben, was den Kompromiss zwischen Latenz und HTTP-Request-Overhead optimiert. Für Live-Übertragungen unterstützt DASH SegmentTemplate-Muster.
Laut Bitmovin-Tests (2025) zeigen HLS und DASH eine vergleichbare Leistung bei Startzeit und Bitrate-Umschalthäufigkeit. HLS bietet auf iOS dank Hardwareunterstützung eine geringere Latenz, während DASH auf Android aufgrund der flexibleren Konfiguration der ABR-Algorithmen bevorzugt wird.
Das Herz von ABR ist der Bitrate-Auswahlalgorithmus, der bestimmt, welche Variante als Nächstes angefordert wird. Es gibt drei Hauptfamilien von Algorithmen: durchsatzbasierte, puffelbasierte und hybride. Jeder Ansatz hat seine Stärken und Grenzen.
Durchsatzbasierte Algorithmen schätzen die Netzwerkbandbreite anhand der Download-Geschwindigkeit vorheriger Segmente. Der Algorithmus wählt die maximale Bitrate aus, die 80–90 % des gemessenen Durchsatzes nicht überschreitet, und lässt einen Spielraum für Schwankungen.
Der Nachteil dieses Ansatzes ist seine Empfindlichkeit gegenüber kurzfristigen Geschwindigkeitsspitzen. Wenn das Netzwerk während des Segment-Downloads stark abfällt, wird die Durchsatzschätzung zu niedrig, was die Qualität unnötig reduziert.
Puffelbasierte Algorithmen treffen Entscheidungen basierend auf der Pufferbelegung des Players. Wenn der Puffer zu mehr als 70 % gefüllt ist, erhöht der Algorithmus die Bitrate; wenn der Puffer unter 20 % fällt, wird die Qualität drastisch reduziert, um Pufferung zu verhindern.
Der Hauptvorteil sind keine falschen Reduzierungen bei kurzfristigen Netzwerkeinbrüchen, da der Puffer Schwankungen ausgleicht. Der Nachteil ist die langsame Reaktion auf anhaltende Bandbreitenänderungen.
Moderne Player wie ExoPlayer und AVPlayer verwenden hybride Algorithmen, die Durchsatzschätzung und Pufferstatus kombinieren. ExoPlayer verwendet den standardmäßigen DefaultTrackSelector-ABR-Algorithmus, der beide Parameter berücksichtigt.
In den Jahren 2024–2025 werden aktiv ML-basierte Algorithmen eingeführt, die zukünftige Netzwerkänderungen auf Basis historischer Daten vorhersagen. Netflix, YouTube und Twitch verwenden eigene maschinelle Lernmodelle zur Optimierung der Bitrate-Auswahl, wodurch die Anzahl der Umschaltungen um 30–40 % reduziert wird.
Mobile Anwendungen stellen aufgrund der Instabilität von Mobilfunknetzen (4G/LTE, 5G) und der begrenzten Rechenleistung der Geräte besondere Anforderungen an ABR. Der Player muss sich schnell an Netzwerkänderungen anpassen und dabei den Stromverbrauch und die Datennutzung minimieren.
Laut OpenSignal (2025) variiert die durchschnittliche 4G-Geschwindigkeit in städtischen Gebieten zwischen 5 und 50 Mbit/s und kann bei Bewegung auf 1 Mbit/s fallen. ABR-Algorithmen müssen innerhalb von 1–2 Segmenten zwischen Bitraten umschalten, um Pufferung beim Betreten eines Tunnels oder Aufzugs zu vermeiden.
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()
Für mobile Anwendungen ist ein schnelles erstes Laden (Zeit bis zum ersten Frame unter 2 Sekunden) entscheidend. Es wird empfohlen, die Wiedergabe mit der niedrigsten verfügbaren Bitrate zu starten und die Qualität dann mit zunehmender Pufferfüllung zu erhöhen — die Start-low-and-Rise-Strategie.
Der Stromverbrauch ist ebenfalls wichtig: Hardware-beschleunigte Dekodierung sollte für alle Bitraten verwendet werden. Software-Dekodierung hoher Bitraten (1080p und höher) auf älteren Geräten kann zu Überhitzung und Drosselung führen.
Wichtige ABR-Qualitätsmetriken: Anzahl der Bitrate-Umschaltungen, Zeit bis zum ersten Frame (TTFF) und Verhältnis der Umschaltungen zur Gesamtwiedergabezeit. Der QoE-Index (Quality of Experience) wird als gewichtete Summe aus Bitrate, Umschaltstrafe und Pufferungsstrafe berechnet.
Für das ABR-Monitoring wird empfohlen, Analysedaten vom Player zu sammeln: aktuelle Bitrate, Puffergröße, Bandbreite, Anzahl und Arten von Umschaltungen. Diese Daten helfen Content-Providern, das Set verfügbarer Bitraten zu optimieren und die Segmentierung für ihr spezifisches Publikum zu konfigurieren.
Häufig gestellte Fragen
Adaptive Bitrate (ABR) ist eine Streaming-Technologie, die die Videoqualität dynamisch an die Netzwerkbedingungen anpasst. Der Player teilt das Video in Segmente auf und wählt für jedes die optimale Bitrate aus, um eine flüssige Wiedergabe ohne Pufferung auf mobilen Geräten zu gewährleisten.
HLS ist ein Apple-Protokoll, das M3U-Playlists und Transportströme (.ts) verwendet. MPEG-DASH ist ein offener ISO-Standard mit XML-Manifest (.mpd) und flexiblen Segmentformaten. HLS funktioniert am besten auf iOS, DASH auf Android und im Web.
ABR verbessert die wahrgenommene Qualität durch Beseitigung von Pufferung: Das Video kann bei Verschlechterung der Netzwerkbedingungen vorübergehend die Auflösung reduzieren, stoppt jedoch nicht. Benutzer bevorzugen flüssiges 720p-Video gegenüber ruckeligem 4K mit ständiger Pufferung.
ExoPlayer verwendet einen hybriden Algorithmus DefaultTrackSelector, der Netzwerkbandbreite und Pufferbelegung berücksichtigt. Durchsatzbasierte und puffelbasierte Strategien sind ebenfalls mit Anpassung über AdaptiveTrackSelection.Factory verfügbar.
Die Segmentdauer bestimmt die Anpassungshäufigkeit: Kurze Segmente (2 Sekunden) reagieren schneller auf Netzwerkänderungen, erzeugen aber mehr HTTP-Anfragen. Segmente von 4–6 Sekunden sind optimal für mobile Geräte, da sie Anpassungsgeschwindigkeit und Overhead ausgleichen.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch