Flipboard Blog

Création d'une Solution de Téléchargement Hors Ligne Personnalisée pour les Applications SVOD sur iPhone et iPad

Testflight 6.4.0(58)
Dans un environnement SVOD (Subscription Video on Demand), les téléchargements hors ligne sont une fonctionnalité cruciale pour les utilisateurs souhaitant profiter de contenu sans connexion Internet. Apple propose, via AVFoundation, une solution HLS hors ligne, accompagnée d’une application de démonstration (HLSCatalog) pour en illustrer l’utilisation. Bien que cette solution convienne à de nombreux cas de streaming standard, l’application de notre client a rencontré plusieurs problèmes en raison de configurations spécifiques des flux et de schémas de téléchargement. Cet article explique pourquoi j’ai développé une solution de téléchargement personnalisée pour iOS et iPadOS, améliorant la vitesse, l’ordre et la résilience des téléchargements, tout en résolvant des problèmes qui affectaient l’expérience utilisateur et les coûts de la plateforme.

Création d'une Solution de Téléchargement Hors Ligne Personnalisée pour les Applications SVOD sur iPhone et iPad


Défis avec la Solution HLS Hors Ligne d’Apple


1. Fréquence Élevée de Segments et Consommation de Bande Passante


De nombreux flux utilisaient des segments d’environ 1,6 seconde, générant des dizaines de milliers de fragments pour les longs métrages comme Oppenheimer. Cette segmentation très fréquente augmentait la consommation de bande passante et sollicitait fortement les ressources, provoquant souvent des téléchargements incomplets et des réessais répétés.

2. Désalignement des Segments Audio et Vidéo


Certains épisodes de la bibliothèque, comme The Good Doctor, présentaient des durées de segment différentes pour l’audio et la vidéo (par exemple, 4 secondes pour la vidéo contre 3,2 secondes pour l’audio). Ce désalignement compliquait la synchronisation et rendait la gestion des segments plus délicate.

3. Boucles de Réessai et Frustration Utilisateur


La solution d’Apple est conçue pour télécharger à un débit de 6 à 10 fois la vitesse de lecture réelle (un film d’une heure se télécharge idéalement en 6 à 10 minutes). Toutefois, ce système rencontrait souvent des problèmes de segments incomplets, déclenchant des boucles de réessai qui augmentaient non seulement les coûts de bande passante, mais aussi la frustration des utilisateurs. Les barres de progression pouvaient atteindre 99 % avant de retomber à 0 %, générant une expérience confuse et décourageante.

4. Ordre de Téléchargement Imprévisible


La méthode d’Apple télécharge souvent plusieurs ressources en parallèle, mais sans logique de priorité clairement définie. Ainsi, le contenu sélectionné en premier n’était pas nécessairement téléchargé en premier, ce qui ajoutait à l’imprévisibilité de l’expérience.

5. Qualité Vidéo Limitée


Pour réduire les problèmes de téléchargement, la qualité vidéo avait été délibérément abaissée (résolution et bitrate inférieurs au streaming en ligne). Bien que cette mesure ait été adoptée avant mon implication afin de limiter les échecs de téléchargement, elle laissait certains utilisateurs déçus par la qualité hors ligne.

Solution de Téléchargement Personnalisée : Rapide, Fiable et Évolutive


Pour remédier à ces problèmes, j’ai développé un téléchargeur personnalisé inspiré d’un projet antérieur, CloudDVR.tv, qui exploitait un stockage cloud pour la TV en direct et la VOD. Cette nouvelle solution gère efficacement la complexité des segments, offre de meilleures vitesses de téléchargement et diminue les réessais, pour une expérience fluide.

1. Vitesse de Téléchargement Accrue et Moins de Réessais


Le téléchargeur personnalisé est conçu pour atteindre la vitesse maximale autorisée par le réseau, avec un segment potentiellement téléchargé toutes les 1/100e de seconde. Cela a permis de réduire drastiquement le temps de téléchargement : pour Oppenheimer, on passe de 45 minutes à moins de 5 minutes. En améliorant la gestion des segments, les réessais se font plus rares, limitant les coûts de bande passante et offrant un suivi de progression plus fiable.

2. Ordre de Téléchargement Contrôlé


Avec le téléchargeur personnalisé, les ressources sont téléchargées dans l’exact ordre sélectionné par l’utilisateur, éliminant l’imprévisibilité. Ainsi, le contenu le plus attendu est disponible en premier, améliorant la satisfaction utilisateur.

3. Améliorations Futures de la Qualité Vidéo


La solution personnalisée ouvre la possibilité d’augmenter la qualité vidéo à l’avenir, en ajustant la longueur des segments, la résolution et le bitrate. Cette flexibilité permettra d’accroître progressivement la qualité du contenu hors ligne, pour une expérience de visionnage de meilleure fidélité.

4. Résilience et Gestion des Erreurs


Le téléchargeur est conçu pour reprendre automatiquement le téléchargement après une interruption (mise en arrière-plan, crash de l’app, changement de réseau, etc.). Cette robustesse évite les téléchargements inachevés et améliore la cohérence de l’expérience hors ligne.

5. Gestion Personnalisée des Ressources


Grâce à cette solution, l’application peut contrôler précisément les téléchargements stockés en local. Il est possible d’implémenter des politiques personnalisées pour éviter les suppressions inopinées et gérer l’espace de stockage de manière optimale.

6. Lecture Avant la Fin du Téléchargement


Le téléchargeur gère également la lecture progressive, permettant aux utilisateurs de commencer à regarder un contenu au bout de quelques secondes seulement, bien avant que l’asset ne soit complètement téléchargé. Cela améliore considérablement l’expérience, notamment pour les contenus longs ou les séries, même si cette fonctionnalité n’est pas encore activée chez le client.

Résultats de l’Implémentation : Comparaison


Lors des tests, la différence entre l’approche d’Apple et le téléchargeur personnalisé est évidente. Une comparaison vidéo montre clairement le gain de temps au téléchargement :

  • Avant (Apple) : Un film complet comme Oppenheimer nécessitait environ 45 minutes pour se télécharger, à cause des vitesses limitées et des réessais fréquents.

  • Après (Personnalisé) : Le même film se télécharge désormais en moins de 5 minutes, grâce à une vitesse accrue, des réessais moins nombreux et un ordre de téléchargement priorisé.


Ces tests ont montré que le nouveau téléchargeur offre davantage de fiabilité et de cohérence, avec un minimum de réessais et un suivi de progression plus fluide pour l’utilisateur.

Avantages de la Solution Personnalisée



  • Téléchargements plus rapides et plus fiables : en utilisant toute la bande passante disponible et en réduisant le nombre de réessais.

  • Ordre de téléchargement prévisible : le contenu est téléchargé dans l’ordre exact où il a été sélectionné.

  • Résilience renforcée : la gestion robuste des erreurs permet la reprise du téléchargement après un incident.

  • Amélioration potentielle de la qualité : la flexibilité du téléchargeur ouvre la voie à une meilleure résolution et un meilleur bitrate.



Applications Plus Larges de la Technologie



  • Affichage Dynamique : pré-chargement pour une lecture hors ligne dans des lieux à connectivité réduite.

  • Insertion Publicitaire Dynamique : personnalisation des publicités via des manifestes locaux stockés en cache.

  • Cache en Périphérie : idéal pour un streaming hybride hors ligne/en ligne à faible latence.


Ce téléchargeur personnalisé illustre comment un développement ciblé peut répondre aux besoins spécifiques des contenus SVOD, en offrant une expérience hors ligne fluide et la flexibilité nécessaire pour s’adapter à de futures améliorations de qualité. En privilégiant la vitesse, la fiabilité et les priorités de l’utilisateur, la solution renforce la satisfaction et jette les bases d’évolutions futures dans le paysage du streaming en pleine mutation.


Get your own TV channel on iOS, Android, Roku, Fire TV and Connected TV like this one easily

Unlimited, automated, 24/7 TV Channels from your content at $0.001 per minute

Cars and Roads - Brands (https://ireplay.tv/carsandroads/brands.m3u8)

Trusted by

trusted by Sky for native iOS development, SGAI interstitials, infrastructure and headend consulting
trusted by Arte for low-latency live streaming
trusted by DJing for VOD2Live, very high quality live streaming, Jukebox TV, private podcasts, paygate, iOS, iPadOS apps
trusted by CNRS for 'Antarctica to World' Live Streaming
trusted by Velocix for consulting and ops services
trusted by Thomson Video Networks/Harmonic for OTT/cloud training


A portion of iReplay.TV's revenues, specifically 1%, is being allocated towards funding research and providing assistance for children's cancer treatment at Gustave Roussy Institute
Learn more about Gustave Roussy cancer Institute