Étant donné un manifeste HLS avec de multiples variantes/renditions:Comment obtenir toutes les variantes HLS dans un manifeste maître à partir d'un AVAsset ou AVPlayerItem?
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1612430,CODECS="avc1.4d0020,mp4a.40.5",RESOLUTION=640x360
a.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3541136,CODECS="avc1.4d0020,mp4a.40.5",RESOLUTION=960x540
b.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=5086455,CODECS="avc1.640029,mp4a.40.5",RESOLUTION=1280x720
c.m3u8
Est-il possible d'obtenir un tableau des trois variantes (avec les attributs tels que la bande passante et la résolution) soit de la AVAsset ou AVPlayerItem?
Je peux obtenir le fichier AVPlayerItemTrack en cours de lecture en utilisant KVO sur l'AVPlayerItem, mais encore une fois, seule la piste en cours de lecture n'est pas la liste complète des variantes. Je souhaite savoir si l'élément est lu avec la qualité la plus élevée possible, afin que je puisse décider si l'utilisateur a suffisamment de bande passante pour démarrer un flux vidéo secondaire simultané.
Avez-vous vérifié la propriété 'AVAsset.trackGroups'? De la documentation, il semble que cela puisse correspondre. –
@DaveWeston Yup, J'ai essayé de vérifier les pistes et les trackGroups, mais ils reviennent toujours en tant que tableau vide, même en utilisant 'loadValuesAsynchronously': / –