Я пытаюсь получить некоторые знания о том, как читать метаданные из потока HLS в приложении для iOS.В следующем потоке HLS есть несколько тегов ID3, которые я хочу прочитать: Поток тестирования HLS
В веб-инспекторе в Safari я могу видеть множество объектов данных в консоли, каждыйодин имеет метаданные:
На вкладке сети веб-инспектора я могу прочитать файл списка воспроизведения:
#EXTM3U
#EXT-X-VERSION:5
#EXT-X-MEDIA-SEQUENCE:89147
#EXT-X-TARGETDURATION:20
#EXT-X-PROGRAM-DATE-TIME:2019-09-25T11:35:23.401Z
#EXTINF:19.970,
05-20190925T113523Z.aac
#EXTINF:19.970,
05-20190925T113543Z.aac
#EXTINF:19.970,
05-20190925T113603Z.aac
#EXTINF:19.970,
05-20190925T113623Z.aac
#EXTINF:19.970,
05-20190925T113643Z.aac
#EXTINF:19.970,
05-20190925T113703Z.aac
До сих пор я реализовал класс, который использует экземпляр AVPlayer
для воспроизведения этого потока.Это работает правильно.
Я напечатал все виды свойств из AVPlayer
и AVPlayerItem
в консоль Xcode.Однако единственное свойство, которое я могу интерпретировать, это AVPlayerItem.currentTime
, что дает мне значение EXT-X-PROGRAM-DATE-TIME
из файла списка воспроизведения.Все остальные свойства, похоже, не имеют ничего общего с информацией, которую я вижу в плейлисте и тегах id3.
Можно ли как-то прочитать метаданные, содержащиеся в каждом теге id3?Как я могу прочитать EXT-X-TARGETDURATION
из плейлиста?
Я читал о AVPlayerItemMetadataCollector
, но я не понимаю, что он должен делать, и если это поможет мне читать метаданные в потоке HLS.