Mic*_*cky 6 iphone encryption offline ios avplayer
我目前正在尝试将加密的HLS流下载到iOS设备.iOS 10似乎支持开箱即用(请参阅https://developer.apple.com/videos/play/wwdc2016/504),但我无法让它工作.我基本上是用AssetPersistenceManager来自苹果的示例代码(https://developer.apple.com/library/content/samplecode/HLSCatalog/Introduction/Intro.html),它调用makeAssetDownloadTask的AVAssetDownloadURLSession.它在在线模式下工作正常,但从存储的文件播放资源时播放失败.
现在,WWDC视频表明您应该使用AVAssetResourceLoaderDelegate提供脱机加密密钥.由于HTTP和HTTPS似乎不被支持AVAssetResourceLoader(见例如不工作的设备AVAssetResourceLoaderDelegate方法),我尝试使用该键URI自定义方案,并提供在本地AES密钥shouldWaitForLoadingOfRequestedResource的AVAssetResourceLoaderDelegate.这里也适用于在线流媒体,但无论我是使用远程密钥URL还是使用本地密钥覆盖它,AVPlayer始终无法离线播放AVAsset.
有没有人有下载加密HLS的经验,或者有一个关于如何提供加密密钥以便离线播放本地加密AVURLAsset的工作示例?
我正在使用的示例HSL文件位于:http://demo.unified-streaming.com/video/tears-of-steel/tears-of-steel-aes.ism/.m3u8
小智 2
首先,您需要下载密钥并保存。
其次,下载完 HLS 后,您将获得一个类似“XXXXXX.movpkg”的文件夹名称。在该文件夹中,有两个文件需要修改。
在这两个文件中,都有一行
#EXT-X-KEY:METHOD=AES-128,URI="XXXXXX",IV=XXXXXXXXX
Run Code Online (Sandbox Code Playgroud)
将 URI 替换为您的本地关键位置 URL
就是这样!现在你可以从本地获取密钥并正常播放了。
| 归档时间: |
|
| 查看次数: |
874 次 |
| 最近记录: |