Ontwikkeling van een aangepaste offline-downloadoplossing voor SVOD-apps op iPhone en iPad

In een SVOD-omgeving (Subscription Video on Demand) zijn offline-downloads een essentiële functie, zodat gebruikers content kunnen bekijken zonder internetverbinding. Apple biedt via AVFoundation een offline HLS-oplossing met een demo-app (HLSCatalog) ter illustratie. Hoewel deze oplossing geschikt is voor veel standaard streaming-scenario’s, ondervond de app van onze klant verschillende problemen door specifieke configuraties van de streams en downloadpatronen. In dit artikel leg ik uit waarom ik voor iOS en iPadOS een aangepaste downloadoplossing heb ontwikkeld die downloads sneller, volgordelijker en veerkrachtiger maakt, en tegelijk problemen aanpakt die de gebruikerservaring en de platformkosten beïnvloeden.

Problemen met Apples offline HLS-oplossing

1. Hoge segmentfrequentie en bandbreedteverbruik

Veel streams gebruikten segmenten van ongeveer 1,6 seconden, wat bij langere films zoals Oppenheimer leidde tot tienduizenden fragmenten. Deze zeer frequente segmentatie verhoogde het bandbreedteverbruik en belastte de middelen aanzienlijk, wat vaak resulteerde in onvolledige downloads en herhaalde pogingen.

2. Niet-uitgelijnde audio- en videosegmenten

Sommige afleveringen in de bibliotheek, zoals The Good Doctor, hadden verschillende segmentduren voor audio en video (bijvoorbeeld 4 seconden voor video en 3,2 seconden voor audio). Deze misalignment bemoeilijkte de synchronisatie en maakte segmentbeheer complexer.

3. Herhaalde pogingen en gebruikersfrustratie

De oplossing van Apple is ontworpen om content te downloaden met 6- tot 10-voudige afspeelsnelheid (een film van een uur zou idealiter in 6-10 minuten moeten worden gedownload). Toch kwamen er vaak onvolledige segmenten voor die leidden tot herhaalde pogingen, waardoor niet alleen de bandbreedtekosten stegen, maar ook de frustratie van gebruikers. De voortgangsbalk bereikte vaak 99% en sprong vervolgens terug naar 0%, wat verwarring en ontmoediging veroorzaakte.

4. Onvoorspelbare downloadvolgorde

De methode van Apple downloadt vaak meerdere bronnen parallel, maar zonder duidelijke prioriteitslogica. Hierdoor werd content die als eerste was geselecteerd niet noodzakelijk als eerste gedownload, wat de ervaring nog onvoorspelbaarder maakte.

5. Beperkte videokwaliteit

Om downloadproblemen te beperken, was de videokwaliteit bewust verlaagd (lagere resolutie en bitrate dan bij online streaming). Hoewel deze maatregel was genomen voordat ik betrokken raakte om veelvoorkomende downloadproblemen te voorkomen, voelden sommige gebruikers zich teleurgesteld over de offline beeldkwaliteit.

Aangepaste offline-downloadoplossing: snel, betrouwbaar en flexibel

Om deze problemen te verhelpen, heb ik een aangepaste downloader ontwikkeld, geïnspireerd op een eerder project, CloudDVR.tv (2012), dat gebruikmaakte van cloudopslag voor live tv en VOD-content. Deze nieuwe oplossing beheert complexe segmentstructuren doeltreffend, biedt hogere downloadsnelheden en vermindert herhaalde pogingen voor een soepelere ervaring.

1. Hogere downloadsnelheid en minder herhaalde pogingen

De aangepaste downloader is ontworpen om de hoogst mogelijke snelheid van het netwerk te benutten, met potentieel één segment per 1/100 seconde. Dit verkortte de downloadtijd aanzienlijk — van 45 minuten naar minder dan 5 minuten voor een film als Oppenheimer. Door beter segmentbeheer worden herhaalde pogingen verminderd, wat overbodig dataverbruik en kosten drukt, en zorgt voor een betrouwbaardere voortgangsbalk.

2. Gecontroleerde en consistente downloadvolgorde

Met de aangepaste downloader worden de bronnen in exact de volgorde gedownload waarin de gebruiker ze selecteert, waardoor onvoorspelbaarheid wordt geëlimineerd. Hierdoor is de meest gevraagde content het eerst beschikbaar, wat de gebruikerservaring verbetert.

3. Toekomstige verbeteringen van de videokwaliteit

De aangepaste oplossing biedt bovendien de mogelijkheid om in de nabije toekomst de videokwaliteit te verhogen, door de segmentlengte, resolutie en bitrate aan te passen. Deze flexibiliteit stelt ons in staat de offlinekwaliteit geleidelijk te verbeteren, voor een betere kijkervaring.

4. Verbeterde veerkracht en foutafhandeling

De downloader zorgt ervoor dat downloads na onderbrekingen, zoals het naar de achtergrond gaan van de app, crashes of netwerkwisselingen, naadloos worden hervat. Deze robuustheid voorkomt onvolledige downloads en zorgt voor een consistenter offlinegebruik.

5. Beheersbare opslag van middelen

Met deze oplossing hebben ontwikkelaars en gebruikers volledige controle over de gedownloade bronnen. Het is mogelijk om aangepaste beleidsregels in te stellen om ongewilde verwijderingen te voorkomen en het opslaggebruik efficiënt te beheren.

6. Afspelen starten zonder volledige download af te wachten

De aangepaste oplossing ondersteunt progressief afspelen, zodat gebruikers al na enkele seconden kunnen beginnen met kijken, ruim voordat het volledige bestand is binnengehaald. Dit verbetert de kijkervaring aanzienlijk, vooral bij langere of seriële content, hoewel deze functie bij de klant nog niet is geactiveerd.

Resultaten van de implementatie: vergelijking

Tests toonden een duidelijk verschil tussen Apples aanpak en de aangepaste downloader. Een videovergelijking liet duidelijk zien hoe de downloadtijd verschilde:
  • Voorheen (Apple): Een complete film als Oppenheimer kostte ongeveer 45 minuten, vanwege lagere snelheden en veel herhaalde pogingen.
  • Nu (Aangepast): Dezelfde film wordt nu in minder dan 5 minuten gedownload, dankzij hogere snelheden, minder herhalingen en een prioritaire downloadvolgorde.
De tests lieten zien dat de nieuwe downloader betrouwbaarder en consistenter is, met een minimaal aantal herhalingen en een soepelere voortgangsindicatie voor de gebruiker.

Voordelen van de aangepaste offline-downloadoplossing

  • Snellere, betrouwbaardere downloads: door de volledige netwerksnelheid te gebruiken en het aantal herhalingen te beperken.
  • Voorspelbare downloadvolgorde: content wordt gedownload in de exacte volgorde waarin deze is geselecteerd.
  • Verbeterde veerkracht: een robuuste foutverwerking zorgt voor hervatting vanaf het laatste punt na onderbrekingen.
  • Potentieel voor hogere kwaliteit: de flexibiliteit van onze aangepaste downloader maakt toekomstige upgrades in resolutie en bitrate mogelijk.

Verdere toepassingsmogelijkheden

  • Digitale borden (Digital Signage): vooraf cachen voor offline weergave op locaties met beperkte connectiviteit.
  • Dynamische advertentie-invoeging: gepersonaliseerde advertenties via lokaal opgeslagen manifesten.
  • Edge-caching: ideaal voor hybride offline-/online-streaming met lage latentie.
Deze aangepaste downloader laat zien hoe gerichte ontwikkeling kan voldoen aan de specifieke behoeften van SVOD-content, met een naadloze offline-ervaring en de flexibiliteit om toekomstige kwaliteitsverbeteringen door te voeren. Door de nadruk te leggen op snelheid, betrouwbaarheid en gebruikersvoorkeuren verbetert de oplossing de tevredenheid en legt zij een solide basis voor verdere ontwikkelingen in een voortdurend veranderend streaminglandschap.

Hulp nodig bij je streamingproject?

Dit artikel is geschreven door ervaren professionals beschikbaar via iReplay.tv. Of je nu expertise nodig hebt in HLS, iOS—ons netwerk van specialisten kan je project tot leven brengen.

Huur een professional →