Загрузка HLS m3u8 занимает много времени - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь загрузить поток HLS на свой iPhone, используя документацию Apple, упомянутую здесь - https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/MediaPlaybackGuide/Contents/Resources/en.lproj/HTTPLiveStreaming/HTTPLiveStreaming.html

Даже небольшие 2-минутные видео занимают около 3-4 минут, чтобы скачать, у меня быстрое соединение inte rnet, так что это не проблема.

Что я хочу знать, есть ли какой-либо конкретный c поток, который мне нужно загрузить или указать при загрузке? Потоки в моем m3u8 - 320p, 720p, 1080p. Он загружает их все, так что это занимает столько времени?

Вот как я настраиваю код для загрузки hls -

let urlConfiguration = URLSessionConfiguration.background(withIdentifier: downloadIdentifier)

 // Create a new AVAssetDownloadURLSession with background configuration, delegate, and queue
let   assetDownloadSession = AVAssetDownloadURLSession(configuration:   urlConfiguration,
                                                    assetDownloadDelegate: self,
                                                    delegateQueue: OperationQueue.main)

let asset = AVURLAsset(url: URL(string: assetUrl)!)

 // Create new AVAssetDownloadTask for the desired asset
let avAssetDownloadTask = assetDownloadSession?.makeAssetDownloadTask(asset: asset,
                                                                    assetTitle: title,
                                                                    assetArtworkData: nil,
                                                                    options: nil)
 // Start task and begin download
avAssetDownloadTask?.resume()
...