Testflight 6.4.0(58)
In einer SVOD-Umgebung (Subscription Video on Demand) sind Offline-Downloads eine entscheidende Funktion, damit Nutzer Inhalte ohne Internetverbindung genießen können. Apple bietet über AVFoundation eine
Offline-HLS-Lösung mit einer Demo-App (HLSCatalog) zur Veranschaulichung. Obwohl diese Lösung für viele Standard-Streaming-Szenarien geeignet ist, stieß die App unseres Kunden aufgrund spezifischer Stream-Konfigurationen und Download-Muster auf mehrere Probleme. In diesem Artikel erkläre ich, warum ich für iOS und iPadOS eine maßgeschneiderte Download-Lösung entwickelt habe, die Geschwindigkeit, Reihenfolge und Ausfallsicherheit der Downloads verbessert und zugleich Probleme behebt, welche die Benutzererfahrung und die Plattformkosten beeinträchtigten.
Herausforderungen mit Apples Offline-HLS-Lösung
1. Hohe Segmenthäufigkeit und Bandbreitennutzung
Viele Streams verwendeten ca. 1,6 Sekunden lange Segmente, was bei längeren Filmen wie
Oppenheimer zu Zehntausenden von Segmenten führte. Diese häufige Segmentierung erhöhte den Bandbreitenverbrauch und beanspruchte die Ressourcen stark, was oft zu unvollständigen Downloads und wiederholten Neuversuchen führte.
2. Fehlende Ausrichtung von Audio- und Video-Segmenten
Einige Episoden in der Mediathek, zum Beispiel
The Good Doctor, enthielten unterschiedliche Segmentdauern für Audio und Video (z. B. 4 Sekunden Video vs. 3,2 Sekunden Audio). Diese fehlende Übereinstimmung erschwerte die Synchronisierung und machte das Segmentmanagement komplizierter.
3. Wiederholte Neuversuche und Nutzerfrust
Apples Lösung ist darauf ausgelegt, Inhalte mit dem 6- bis 10-fachen der normalen Wiedergabegeschwindigkeit herunterzuladen (ein einstündiger Film sollte idealerweise in 6–10 Minuten geladen sein). Dennoch kam es häufig zu unvollständigen Segmenten, die wiederholte Neuversuche auslösten und damit nicht nur die Bandbreitenkosten erhöhten, sondern auch die Nutzer frustrierten. Fortschrittsbalken erreichten häufig 99 %, bevor sie auf 0 % zurückfielen, was für Verwirrung und Entmutigung sorgte.
4. Unvorhersehbare Download-Reihenfolge
Die Methode von Apple lädt oft mehrere Assets parallel herunter, jedoch ohne klare Priorisierung. Dies führte dazu, dass Inhalte, die zuerst ausgewählt wurden, nicht unbedingt zuerst heruntergeladen wurden, was die Erfahrung noch unvorhersehbarer machte.
5. Begrenzte Videoqualität
Um Download-Probleme zu reduzieren, wurde die Videoqualität absichtlich verringert (niedrigere Auflösung und Bitrate als beim Online-Streaming). Obwohl diese Maßnahme bereits vor meiner Beteiligung getroffen wurde, um die häufigsten Download-Fehler zu vermeiden, fühlten sich einige Nutzer von der Offline-Qualität enttäuscht.
Maßgeschneiderte Offline-Download-Lösung: Schnell, zuverlässig und zukunftsfähig
Um diese Probleme zu lösen, habe ich einen benutzerdefinierten Downloader entwickelt, der auf einem früheren Projekt basiert,
CloudDVR.tv (2012), das Cloudspeicher für Live-TV und VOD-Inhalte nutzte. Diese neue Lösung bewältigt komplexe Segmentstrukturen effektiv, ermöglicht schnellere Downloads und reduziert Neuversuche für ein reibungsloseres Erlebnis.
1. Erhöhte Download-Geschwindigkeit und weniger Neuversuche
Der benutzerdefinierte Downloader ist darauf ausgelegt, die maximal verfügbare Netzwerkgeschwindigkeit auszuschöpfen, indem theoretisch alle 1/100 Sekunden ein Segment heruntergeladen wird. Dies verkürzte die Downloadzeit erheblich – von 45 Minuten auf unter 5 Minuten für einen Film wie
Oppenheimer. Durch optimiertes Segmenthandling wurden Neuversuche minimiert, wodurch Redundanz und Kosten gesenkt und zugleich ein flüssigerer Fortschrittsbalken gewährleistet wird.
2. Kontrollierte und konsistente Download-Reihenfolge
Mit dem benutzerdefinierten Downloader werden die Assets genau in der Reihenfolge heruntergeladen, in der sie ausgewählt wurden, sodass die am meisten gewünschten Inhalte zuerst verfügbar sind. Dies macht die Erfahrung für den Nutzer vorhersehbarer und angenehmer.
3. Zukünftige Verbesserungen der Videoqualität
Die maßgeschneiderte Lösung bietet zudem die Möglichkeit, in naher Zukunft die Videoqualität zu erhöhen, indem die Segmentlänge, Auflösung und Bitrate angepasst werden. Diese Flexibilität erlaubt es, die Qualität heruntergeladener Inhalte schrittweise zu steigern, ohne die Download-Zuverlässigkeit zu beeinträchtigen.
4. Verbesserte Ausfallsicherheit und Fehlerbehandlung
Die neue Lösung stellt sicher, dass Downloads nach Unterbrechungen, wie dem Wechsel in den Hintergrund, Abstürzen der App oder Netzwerkwechseln, nahtlos fortgesetzt werden. Diese Stabilität verhindert unvollständige Downloads und sorgt für eine konsistentere Offline-Erfahrung.
5. Gesteuerte Asset-Verwaltung
Mit dieser Lösung erhalten Nutzer und Entwickler umfassende Kontrolle über die heruntergeladenen Assets. Es ist möglich, maßgeschneiderte Richtlinien zu implementieren, um unerwünschte Löschungen zu verhindern und den Speicherbedarf effizient zu verwalten.
6. Wiedergabe starten, ohne auf den vollständigen Download zu warten
Der benutzerdefinierte Downloader unterstützt auch progressive Wiedergabe, sodass Nutzer bereits nach wenigen Sekunden mit dem Anschauen beginnen können, noch bevor das gesamte Asset heruntergeladen ist. Diese Funktion verbessert das Seherlebnis erheblich, insbesondere bei Lang- oder Serieninhalten; sie ist jedoch für den Kunden noch nicht aktiviert.
Implementierungserfolg: Vergleichstest
Tests zeigten einen deutlichen Unterschied zwischen Apples Ansatz und dem benutzerdefinierten Downloader. Ein Videovergleich veranschaulichte den Unterschied in der Downloadzeit:
- Zuvor (Apple): Ein kompletter Film wie Oppenheimer benötigte etwa 45 Minuten, was auf langsamere Geschwindigkeiten und häufige Neuversuche zurückzuführen war.
- Jetzt (Benutzerdefiniert): Derselbe Film wird in unter 5 Minuten heruntergeladen, dank höherer Geschwindigkeit, weniger Neuversuchen und priorisierter Reihenfolge.
Die Tests bestätigten, dass der neue Downloader eine größere Zuverlässigkeit und Konsistenz bietet, mit minimalen Neuversuchen und einer reibungsloseren Fortschrittsanzeige für die Nutzer.
Vorteile der maßgeschneiderten Offline-Download-Lösung
- Schnellere und zuverlässigere Downloads: Nutzung der vollen Netzwerkbandbreite und Minimierung von Neuversuchen.
- Vorhersehbare Download-Reihenfolge: Assets werden in genau der Reihenfolge geladen, in der sie ausgewählt wurden.
- Erhöhte Ausfallsicherheit: Der robuste Umgang mit Fehlern erlaubt die Fortsetzung ab der letzten Position nach Netzwerk- oder App-Problemen.
- Potenzial für verbesserte Qualität: Durch die Flexibilität des benutzerdefinierten Downloaders können Auflösung und Bitrate zukünftig gesteigert werden.
Weitere Einsatzmöglichkeiten der Technologie
- Digital Signage: Vorausladungen für Standorte mit eingeschränkter Konnektivität.
- Dynamische Werbeeinblendung: Personalisierte Werbeinhalte über lokal gespeicherte Manifeste.
- Edge-Caching: Ideal für eine hybride Offline-/Online-Streaming-Lösung mit niedriger Latenz.
Dieser benutzerdefinierte Downloader demonstriert, wie eine zielgerichtete Entwicklung den speziellen Anforderungen von SVOD-Inhalten gerecht werden kann, indem er ein nahtloses Offline-Erlebnis ermöglicht und gleichzeitig die Flexibilität für zukünftige Qualitätssteigerungen bietet. Indem der Fokus auf Geschwindigkeit, Zuverlässigkeit und Nutzerprioritäten gelegt wird, steigert die Lösung die Zufriedenheit und schafft eine solide Grundlage für kommende Entwicklungen in einer sich ständig wandelnden Streaming-Landschaft.