We have implemented an optimization feature for HLS VOD streaming in the form of an EVENT Manifest. General manifest hour The bottom line is that on the first request, we return the HLS EVENT Manifest within 30 seconds and launch certain processin mechanisms in the background, as soon as everything has ready, on the next requests we return an EVENT Manifest with an EXT-X-ENDLIST tag
What does it look like
1st request:
#EXTM3U
#EXT-X-PLAYLIST-TYPE: EVENT
1.ts
2.ts
3.ts
2nd req (if background completed)
#EXTM3U
#EXT-X-PLAYLIST-TYPE: EVENT
1.ts
2.ts
3.ts
....
....
....
1000.ts
#EXT-X-ENDLIST
This approach worked in VLC player and hls.js players but this thing doesn't work in native Safari player It has very strange behavior:
- Live is shown first in the timeline (which is okay)
- then, as he has already downloaded the manifest with EXT-X-ENDLIST, it shows the real duration (hour)
- but literally after 2 seconds it cuts the timeline and leaves only 2 minutes in the timeline by DevTools-> Network, I see that it stops downloading after 8-9 segments
And now I would like to know if anyone has encountered such a safari problem and if maybe you need to somehow reconfigure the browser player.