我目前正在解决一个用例,其中我需要从媒体服务器下载视频并将它们本地存储在 Web 应用程序上下文中以供离线查看(li-fi / 无互联网连接)。
我正在查看 web.dev ( https://web.dev/pwa-with-offline-streaming/ ) 的详细帖子。但是,我不确定这是否适用于所有平台(Windows、Android、iOS、MacOS)。他们还提到这篇文章仅用于教育目的,我们应该求助于使用某些媒体框架来为我们完成繁重的工作。我目前正在使用 Azure 媒体播放器以在线模式流式传输 DASH / HLS。AMP 使用 Video.js 作为主干框架,但 Video.js 文档没有提及离线存储和流媒体支持。
如果可能的话,我想得到以下问题的答案——
- video.js 是否解决了这个用例但没有被广泛记录?
- 是否有任何替代库可以解决此用例?
- 将视频存储为 indexedDB 中的 arraybuffer 并在检索时将 arraybuffer 转换为 blob 并创建要插入播放器源的 objectURL 有什么缺点?视频的范围从几 MB 到几 GB 不等。我已阅读 SO 答案,其中指出“从 Blob 创建 objectURL 对于大型视频可能不是一个很好的做法”。这部分是一个完整的黑匣子,找不到太多细节。
几个重要参数:
- 客户端是一个带有服务工作者的反应应用程序
- 媒体服务器是 Azure 媒体服务
- 内容 (mp4) 当前不受 DRM 保护
- 该应用程序还将通过 Play 商店分发,方法是在受信任的 Web 活动 ( https://developer.chrome.com/docs/android/trusted-web-activity/ )中搭建 Web 应用程序