我正在实现一个包含视频播放器的应用程序。由于某些原因,视频文件是用AES加密的,这些文件的大小可以相当大,以避免将其作为一块加载到RAM中。我正在寻找一些和AVPlayer一起玩的方式。
已尝试:
1)这里建议的自定义NSURLProtocol http://aptogo.co.uk/2010/07/protecting-resources/不起作用,我建议AVPlayer使用它自己的,而我的不被调用。
2)使用AVAsset将视频切成小块,然后将其提供给AVPlayer -失败,因为AVPlayer中没有这样的接口。
任何解决方法都将不胜感激:)
发布于 2014-01-20 11:53:29
您有两个选项:
如果目标是iOS 7和更新版本的check out AVAssetResourceLoaderDelegate,请使用
我之前实现了#2,如果需要,可以提供更多信息。
发布于 2016-03-30 18:29:56
我刚刚下载了苹果的示例项目https://developer.apple.com/library/ios/samplecode/sc1791/Listings/ReadMe_txt.html,它似乎完全符合您的要求。
委托捕获每个AVURLAsset的AVAssetResourceLoader调用,并在其中构建一个带有自定义解密密钥的全新.m3a8文件。
然后,它向播放器提供m3a8中的所有.ts文件URL。
该项目是一个很好的概述,它可以做什么与HLS提要。
https://stackoverflow.com/questions/9740949
复制相似问题