iOS 上的 PlayReady DRM:您可以将解密的视频图像复制到您自己的 GL 上下文吗?

PlayReady DRM on iOS: Can you copy the decrypted video image to your own GL Context?

有人在 iOS 上使用过 Microsoft's PlayReady Client SDK 吗?

PlayReady Client SDK for iOS – Used to develop PlayReady-enabled apps that leverage native iOS APIs. This SDK can be used to implement PlayReady protection for media formats that iOS natively supports such as HLS, live and on-demand playback of MPEG- DASH, Smooth Streaming and HLS content, and various PlayReady features.

如果是,你是:

用例是将加密的视听媒体从网络传输到 iOS 设备,对其进行解密并使用解密的数据创建图像,然后在 OpenGL 纹理上显示。

为什么选择 PlayReady 而不是 FairPlay?

It appears that once you use FairPlay, the only way to display your protected video content is by using an AVPlayerLayer. There appears to be no way as of today to retrieve FairPlay protected HLS media from Apple's APIs in order to display it on an OpenGL texture in 3D space for example.

答案肯定是否定的,否则 DRM 将无法正常工作!

不幸的是,如果您可以获得原始数据,那么保存文件的副本将相当容易。

请注意,如果对您有帮助,某些 OS 将允许您对加密帧应用过滤器和转换。我对这方面的 iOS 还不够熟悉,但是在 Android 上这绝对是可能的。

我从未为 iOS 使用过 PlayReady 客户端 SDK,但我的理解是您不应该 无权访问任何这些。

PlayReady 客户端 SDK 随附了可立即使用的 MediaPlayerController 组件,该组件继承自 MPMediaPlayback。您必须使用此组件才能播放受保护的内容(仅支持 H.264 和 AAC)。我的理解是这个组件已经处理了内容的下载、解密、解码和呈现(它也提供了视图)。我不知道从 PlayReady iOS SDK 公开的任何低级别 API 可以让您直接访问解密缓冲区。我也不太了解 iOS 媒体播放,无法告诉您是否可以从 MPMediaPlayback 继承的组件中获取帧。

仅当您直接使用 PlayReady 移植工具包时才可以进行低级别的解密访问,但这需要完全不同的许可证,并且您需要将自己的 PlayReady 移植到 iOS。 PlayReady 移植工具包更适用于芯片和设备制造商,而不是应用程序开发人员,移植需要满足 PlayReady 稳健性准则。