0

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

适用于 iOS 的 PlayReady 客户端 SDK – 用于开发利用原生 iOS API 的支持 PlayReady 的应用程序。此 SDK 可用于实现对 iOS 原生支持的媒体格式的 PlayReady 保护,例如 HLS、MPEG-DASH 的实时和点播播放、平滑流媒体和 HLS 内容以及各种 PlayReady 功能。

如果是,您是否:

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

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

为什么选择 PlayReady 而不是 FairPlay?

看来,一旦您使用 FairPlay,显示受保护视频内容的唯一方法就是使用 AVPlayerLayer。到目前为止,似乎无法从 Apple 的 API 中检索受 FairPlay 保护的 HLS 媒体,以便将其显示在 3D 空间中的 OpenGL 纹理上。

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

4

2 回答 2

1

答案肯定是否定的,否则 DRM 将无法很好地完成其工作!

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

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

于 2017-03-20T14:37:22.880 回答
1

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

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

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

于 2017-06-13T14:02:00.993 回答