2017-08-07 11 views
1

Dès que EXT-X-ALLOW-CACHE est désapprouvé et supprimé du protocole specification, existe-t-il un autre moyen de configurer la stratégie de mise en cache pour un flux? (Mon objectif est de permettre la mise en cache sur le client)Configuration de la stratégie de mise en cache HLS

Je veux aussi se débarrasser d'erreur tout en validant avec flux mediastreamvalidator:

MUST fix issues 
-------------------------------------------------------------- 
Error: #EXT-X-ALLOW-CACHE has been deprecated 
--> Detail: Line: #EXT-X-ALLOW-CACHE:NO 

Répondre

1

Vous pouvez utiliser AVFoundation sur iOS 10+:

Lecture de contenu HLS hors connexion

A partir d'iOS 10, vous pouvez utiliser AVFoundation pour télécharger des actifs HTTP Live Streaming sur un appareil iOS. dispositif. Cette nouvelle fonctionnalité permet aux utilisateurs de télécharger et de stocker des films HLS sur leurs appareils alors qu'ils ont accès à un réseau rapide et fiable, et de les regarder plus tard sans connexion réseau. Avec l'introduction de cette capacité, HLS devient encore plus polyvalent en minimisant l'impact de la disponibilité du réseau incompatible sur l'expérience utilisateur

Source: Working with HTTP Live Streaming

+0

Pas exactement ce qu'il fallait. Avec l'approche que vous proposez, un actif ne sera disponible qu'après avoir été complètement téléchargé. Ce qui n'est pas la même chose que la mise en cache. J'ai besoin de mettre en cache les segments qui ont été téléchargés pendant la lecture + le tampon avant pas plus. – ilya

+2

@ilya Je pense que la raison pour laquelle ils l'ont supprimée est parce que vous pouvez simplement définir les en-têtes de mise en cache 'HTTP'. En tout cas c'est le client qui décide finalement si et quoi mettre en cache, le serveur ne peut pas le forcer. – aergistal

+0

@ilya en citant la page liée: "Lorsqu'un utilisateur télécharge et joue simultanément un asset, il est possible qu'une partie de la vidéo soit jouée avec une qualité inférieure à celle spécifiée dans la configuration de la tâche de téléchargement. les contraintes empêchent le streaming à la qualité demandée pour le téléchargement ... (plus tard). Dans la mesure du possible, réutilisez la même instance d'asset pour la lecture que celle utilisée pour configurer la tâche de téléchargement. " Donc, faire les deux semble possible. – akaralar