我正在使用原生Safari 播放器实现通过 HLS 流协议流式传输视频。
EXT-X-DATERANGE
我的目标是从实时流清单中获取基于时间的元数据(例如)。
据我所知,无法检索此数据,因为流逻辑完全由不公开此数据的 Safari 播放器控制。
目前,我想到了两种可能的解决方案:
- 手动下载清单并解析出
EXT-X-DATERANGE
标签。但是使用这种方法,下载计时器也应该手动管理。当然,对播放列表的请求数量也会增加。 - 桌面 Safari 浏览器支持 MSE。这意味着可以完全控制清单检索和解析。有一些很棒的库已经提供了这个功能,例如
shaka-player
或hls.js
. 可以为段(shaka-player
)实现自定义响应过滤器或监听Hls.Events.FRAG_CHANGED
事件(hls.js
),以便访问播放列表。问题是 IOS mobile 中的 Safari 仍然不支持 MSE。因此,无法将此解决方案应用于手机。
是否有任何其他方法可以使用原生 Safari 播放器实现来检索基于时间的元数据(例如 EXT-X-DATERANGE)?
提前非常感谢!