Eine HLS (m3u8) -Datei verweist auf mpeg-ts-Dateien. Wie kann ich während der Wiedergabe im iOS-AVPlayer den aktuell wiedergegebenen mpeg-ts-URI ermitteln?Wie kann ich das aktuelle TS-Segment während einer HLS (m3u8) Wiedergabe in iOS herausfinden?
Antwort
Wenn Sie nach einem Verweis auf den URI des aktuell herunterzuladenden TS suchen, ist dieser nicht verfügbar. Sie können den URI des Streams für die aktuelle Bitrate abrufen, indem Sie sich die aktuelle AVPlayerItem
-accessLog
ansehen.
Z. B .: [[[player currentItem] accessLog] events]
Es ist ein NSArray
von AVPlayerItemAccessLogEvent
‚s.
Aber es wird Ihnen nicht die URI des TS per se geben. Möglicherweise müssen Sie nur den aktuellen TS berechnen, wobei sich der Abspielkopf derzeit im Verhältnis zur Dauer und der Segmentgröße befindet.
erhalten Dies wird nicht im Falle von adaptivem Streaming in wo Sie arbeiten könnte verschiedene m3u8 für verschiedene Darstellungen desselben Videos haben. – user3577291
Ich glaube nicht, dass Sie den aktuellen TS auf diese Weise berechnen können, da es keine Möglichkeit gibt, den anfänglichen Offset zu erhalten (EXT-X-MEDIA-SEQUENCE: 138), API bietet nur keinen Zugriff darauf. –
Können Sie eine URL für Ihre m3u8-Datei angeben? –
Meine Frage ist für jede generische m3u8-Datei, Sie können ein Beispiel auf https://developer.apple.com/library/ios/technotes/tn2288/_index.html –