Кэширование всего потока HLS путем предоставления URL файла m3u - PullRequest
0 голосов
/ 16 октября 2019

Я пытаюсь загрузить потоки HLS в приложении iOS. Ниже приведены шаги, которые я выполнил.

  1. Перед тем, как дать URL AVPlayer, я изменил схему URL с некоторым пользовательским значением. Например: http://sample.m3u8 будет фактическим URL-адресом, и я изменю его на xyz http://sample.m3u8
  2. AVPlayer не сможет загрузить URL-адрес и предоставит нам элемент управления для загрузки файла. Мы получим управление в делегированных функциях AVAssetResourceLoader.
  3. Там мы скачаем файл m3u8, изменим схему URL для транспортных потоков [ts] и вернем его проигрывателю.
  4. Там я получу обратный вызов для транспортного потока, я смогполучил транспортный поток, используя URLSessionDataTask, и смог передать его обратно в запрос на загрузку
  5. Но после этого я не получаю никаких других вызовов, так как проигрыватель не запускает воспроизведение

Я получаю запрос AVAssetResourceLoading, подобный этому

'' 'AVAssetResourceLoadingRequest: 0x600000b4ba40, запрос URL = NSMutableURLRequest: 0x600000b5cc80 {URL: xyz https://sample.m3u8}, запрос ID = 2, запрос информационного контента 0B0Ob0: Consent Content0B0Rec: Re0B0Rec: Re0. type = "(null)", длина содержимого = 0, доступ к диапазону байтов поддерживается = NO, разрешено кэширование на диске = YES, дата обновления = (null)>, запрос данных = AVAssetResourceLoadingDataRequest: 0x600000b40ec0, запрошенное смещение = 0, запрошенная длина = 9223372036854775807, Запросы все данные до конца ресурса = ДА, текущее смещение = 0 '' '

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...