2017-03-18 56 views
0

有没有人在iOS上使用Microsoft's PlayReady Client SDKiOS上的PlayReady DRM:您能否将解密后的视频图像复制到您自己的GL上下文中?

PlayReady Client SDK for iOS - 用于开发支持PlayReady的应用程序 ,利用本机iOS API。此SDK可用于实现 针对iOS本机支持的媒体格式的PlayReady保护,例如HLS,实时和按需播放MPEG-DASH,Smooth Streaming 和HLS内容以及各种PlayReady功能。

,如果是,是你可以:

  • 能够得到一个参考解密的数据/像素缓冲区
  • 能够得到一个处理纹理ID显示解密的视频图像
  • 还是找到了另一种访问视觉媒体的方法,以便将其显示在您自己的GL上下文中?

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

为什么选择PlayReady而不是FairPlay?

看来,一旦您使用FairPlay,显示您的 受保护视频内容的唯一方法是使用AVPlayerLayer。看来 从今天开始无法检索来自 的FairPlay保护的HLS媒体,以便在3D空间 中的OpenGL纹理上显示它。

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

回答

1

我从来没有用过的PlayReady客户端SDK适用于iOS,但我的理解是,你应该访问任何那些。

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

仅当您直接使用PlayReady移植套件,但需要完全不同的许可证且您需要将自己的PlayReady端口创建到iOS时,才能访问低级解密。 PlayReady移植套件对于芯片和设备制造商意味着更多,而不是针对应用开发商和端口需要满足PlayReady健壮性准则。

0

答案当然应该是没有,否则DRM不会做其工作维伊好!

不幸的是,如果你能得到原始数据,那么保存文件的副本就相当容易。

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

+0

使用Android,您可以使用SurfaceTexture,然后使用其纹理ID将其内容复制到您自己的gl纹理中:https://github.com/gcschrader/MediaSurfacePlugin。即使您在使用ExoPlayer和DRM的情况下也可以使用。具有FairPlay功能的Apple AVPlayer似乎没有提供相同的功能,所以我想知道是否有其他选择。应该或不应该不是问题。如何在iOS上完成?微软的PlayReady SDK是否提供与Android相似的功能? (即,您可以获取纹理ID的句柄,然后将其内容复制到您自己的文件中。) – svrs

+0

您的答案实际上让我意识到我没有正确说出我的问题(谢谢)。更新问题。 – svrs

相关问题