In WWDC2016[1] Apple announced In-Playlist Timed Metadata as an alternative to ID3 Timed Metadata. As far as I understood, the main idea is to use the m3u8 tag EXT-X-DATERANGE to describe the timed metadata in plain text on the playlist file, outside the video stream.
I think it would be great to have this feature implemented in the hls.js library, because that way it will no longer be necessary to use the Apple-only mediafilesegmenter tool to inject timed ID3 into video streams.
Will do
I removed the milestone for this as I think we can get it into a minor release or v1.0.0. There isn't much of a difference.
Sample streams are welcome!
It would be helpful to know if anyone has seen this metadata surface as DataCues in metadata TextTracks in Safari (as ID3 does). I heard that was introduced in a recent release but still haven't seen it myself. The goal for this work would be to surface EXT-X-DATERANGE the same way Safari does.
You can get at this information now in hls.js via hls.levels[].details.fragments[].tagList[]['EXT-X-DATERANGE', AttributesString] which you can get with accurate timing as early as the first FRAG_BUFFERED event . You just have to parse the attributes yourself.
Most helpful comment
Will do