iOS可以不使用AVAssetDownloadURLSession离线下载HLS吗?

时间:2019-11-18 00:28:29

标签: ios http-live-streaming widevine fairplay

最近,我一直在尝试在我的iOS项目中实现HLS流和脱机功能。目前,我一直在使用自己的下载库来下载不同的流文件,例如Widevine流。我注意到的问题是AVAssetDownloadURLSession下载hls文件,并将其以.movpkg格式保存在本地电话中。我一直在网上寻找是否有任何打包程序(如Shaka-packager)可以将我的hls文件转换为.movpkg,然后使用自己的下载库下载.movpkg,而不是依赖于Apple AVAssetDownloadURLSession。任何帮助表示赞赏。

谢谢

1 个答案:

答案 0 :(得分:0)

选项之一是如何下载和播放HLS

  1. 下载远程m3u8播放列表
  2. 解析播放列表
  3. 下载所有块以获取所需的分辨率和语言(media0.ts,media1.ts等)
  4. 创建本地m3u8播放列表(local_playlist.m3u8)
  5. 从端点启动本地服务器,该端点将返回本地m3u8和所有块。
  6. 创建一个具有本地服务器URL的AVAsset。