1

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

谢谢

4

1 回答 1

2

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

  1. 下载远程 m3u8 播放列表
  2. 解析播放列表
  3. 下载所需分辨率和语言的所有块(media0.ts,media1.ts,...)
  4. 创建本地 m3u8 播放列表 (local_playlist.m3u8)
  5. 使用端点启动本地服务器,这将返回本地 m3u8 和所有块。
  6. 创建一个带有本地服务器 URL 的 AVAsset。
于 2019-11-18T17:41:58.773 回答