使用AVPlayer播放加密视频

Asy*_*sya 17 encryption objective-c avplayer

我正在实现一个包含视频播放器的应用程序.由于某些原因,视频文件使用AES加密,并且这些文件的大小可能相当大,以避免将其作为一个整体加载到RAM中.我正在寻找一些方法来使用AVPlayer播放它.

尝试:

1)这里建议的自定义NSURLProtocol http://aptogo.co.uk/2010/07/protecting-resources/ 没有用,我建议AVPlayer使用它自己,我的不会被调用.

2)使用AVAsset将视频切成小块,然后将它们提供给AVPlayer - 失败,因为AVPlayer中没有API.

任何解决方法将不胜感激:)

Jer*_*ner 4

您有 2 个选择:

  1. 如果针对 iOS 7 及更高版本,请查看AVAssetResourceLoaderDelegate. 它允许您使用自定义NSURLProtocol但专门针对AVPlayer.

  2. 模拟支持 Range 标头的 HTTP 服务器并将其指向AVURLAssetlocalhost。

我之前实现了 #2,如果需要的话可以提供更多信息。