如何在iOS中实现视频DRM

如何在iOS中实现视频DRM,ios,h.264,drm,Ios,H.264,Drm,我希望在iOS视频播放器中实现DRM,但我不确定如何实现。为了实现视频DRM(同时仍然使用苹果的硬件加速H264解码),我需要一种方法将解密后的H264流提供给标准的iOS视频播放API 据了解,2010年9月无法实施第三方DRM。有一种方法是行不通的。但是,到目前为止,已有许多第三方DRM库:。他们显然找到了一些方法,可以在苹果批准的应用程序中将自定义流传递给媒体播放器 我找到了两条线索。一个是建议,但人们似乎没有成功地使用这个视频。另一种方法是创建一个本地HTTP服务器线程,并在iDevic

我希望在iOS视频播放器中实现DRM,但我不确定如何实现。为了实现视频DRM(同时仍然使用苹果的硬件加速H264解码),我需要一种方法将解密后的H264流提供给标准的iOS视频播放API

据了解,2010年9月无法实施第三方DRM。有一种方法是行不通的。但是,到目前为止,已有许多第三方DRM库:。他们显然找到了一些方法,可以在苹果批准的应用程序中将自定义流传递给媒体播放器

我找到了两条线索。一个是建议,但人们似乎没有成功地使用这个视频。另一种方法是创建一个本地HTTP服务器线程,并在iDevice内的127.0.0.1上通过HTTP实时流提供内容。我想非常肯定的是,苹果在采取这一路线之前会批准

那么-第三方DRM实现使用哪些苹果批准的API将解密的视频数据输入视频播放器


编辑:允许下载节目供以后查看。要么他们将内容存储在明文中,要么他们已经破解了这个问题。

您可以开始将文件解密到另一个文件中,并在解密时播放该文件。你需要让它缓冲几秒钟的视频,但它可以工作


此外,您需要确保
moov
atom位于文件中
mdat
atom之前,否则它将无法工作。(例如,AVFoundation创建MP4,其中
moov
原子位于
mdat
原子之后,因此需要修改它们才能工作)

一个有效的解决方案是本地http服务器。但专利申请是由Authentec提交的


谢谢-我控制编码,因此文件的内部顺序应该很简单。这给我留下了几个问题——我是否能够处理用户在视频中向前搜索的尝试,以及如何处理文件系统中的大型解密文件。我认为iOS不支持稀疏文件,所以我可能需要将视频分割成类似HLS的块,以使其易于管理。是的,我无法告诉您在您的情况下正确的解决方案是什么。对于查找,您可能可以使用
stbl
atom的子原子来确定您应该在文件中解密的位置,然后从那里解密到一个新文件中。我认为在滥用MP4容器时,做好这一点将是一个有趣的练习。您可能也希望避免同时解密整个内容,但通过使用多个AASetReader,您可以相当轻松地避免这种情况。我认为每个答案都是一个黑客攻击,我们刚刚开始考虑Android版本的架构。与DirectShow相比,这些移动API的局限性让我感到惊讶。如果它像DirectShow一样简单,那么乐趣何在?;)关于127.0.0.1上的HTTP实时流,我可以告诉你,它是有效的,并且被苹果公司接受。像Verimatrix这样的商业解决方案使用这种方法。谢谢-我以前没有遇到过Verimatrix,我将把它添加到我们的列表中。查看我最近写的这篇文章:它详细解释了如何实现多drm