ios - iOS 上的 PlayReady DRM : Can you copy the decrypted video image to your own GL Context?

标签 ios encryption opengl-es drm playready

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

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.

如果是,您是否:

  • 能够获得对解密数据/像素缓冲区的引用
  • 能够获取显示解密视频图像的纹理 ID 的句柄
  • 或者找到另一种方法来访问视觉媒体以便在您自己的 GL 上下文中显示它?

用例是将加密的视听媒体从网络流式传输到 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.

https://stackoverflow.com/a/42873301/1097106

最佳答案

我从未使用过适用于 iOS 的 PlayReady 客户端 SDK,但我的理解是您不应该访问其中任何一个。

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

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

关于ios - iOS 上的 PlayReady DRM : Can you copy the decrypted video image to your own GL Context?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42873844/

相关文章:

ios - 谷歌分析 : tracking a custom dimension on iOS?

python - 尝试用RSA加密视频帧;解密后得到垃圾而不是原始数据

c++ - 使用 FIPS 验证库和 AES 时的 CryptoPP::selfTestFailure

通过使用指针移动 +1 来加密和解密字符串

opengl-es - 如何在 OpenGL 中使两个平滑的形状相交?

ios - 将 subview 宽度设置为与 super View 成比例

ios - iOS 8 中的相机显示黑屏

ios - 在 View Controller 中设置标题时应用程序崩溃

java - 如何在OpenGL中移动2D相机

ide - GLSL 编辑工具