使用MPMoviePlayerController或AVPlayer(iOS)播放受M4V保护的内容

时间:2011-04-19 23:47:37

标签: ios cocoa-touch ios4 mpmovieplayercontroller drm

有没有办法让MPMoviePlayerController(甚至更低级别的像AVPlayer)从iTunes Store播放受保护的M4V文件?

在此处使用官方iTunes API: http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html

我可以获得电影,电视节目和音乐视频的“previewURL”。音乐视频似乎没有受到保护,但电影和电视节目都是。

例如,这是披头士的音乐视频的预览网址(实际上是纪录片,但无论如何): http://a809.v.phobos.apple.com/us/r1000/006/Video/72/fe/52/mzm.bxhrrlns..640x480.h264lc.u.p.m4v

这是“辛普森一家”一集的预览网址: http://a911.v.phobos.apple.com/us/r1000/017/Video/ec/cc/cf/mzi.mnuqbbcl..640x480.h264lc.d2.p.m4v

使用MPMoviePlayerController可以播放音乐视频,但是“辛普森一家”的视频根本不播放。 (当与MPMoviePlayerViewController一起使用时,视图控制器以模态方式显示,然后立即关闭,无需任何用户交互。)

如果你在QuickTime Pro中查看这两个URL,唯一明显的区别是第二个被列为“受保护”,这会导致人们认为MPMoviePlayerController无法播放受保护的内容,即使该内容是直接来自Apple。

在文档中的“支持的格式”部分下,M4V没有具体列出,但肯定有效。我找不到任何引用受保护内容的文档。

如果有人知道如何在应用程序内或通过其他方式播放此内容,那只是好奇。 (调用[UIApplication ... openURL]也不起作用,因为Mobile Safari也不会播放内容。)

这是在iOS 4.x上。

谢谢。

1 个答案:

答案 0 :(得分:18)

我担心Apple不希望我们在自己的应用程序中这样做。

DRMed MPEG4视频似乎不适用于所有多媒体iOS SDK级别(媒体播放器框架以及基础框架)。

阅读this blog,了解您已经完成的相同体验。

只是为了确保人们不会弄错,并将苹果与橙子混合。这仅适用于受DRM保护的视频文件,与受保护的流媒体无关 - AES-128加密的HTTP流(m3u8)与iOS完全兼容,可能在所有级别(MPMoviePlayerController以及{{1 }})。