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

9

有没有办法让MPMoviePlayerController(或者像AVPlayer这样的底层播放器)播放来自iTunes Store的受保护M4V文件?

使用官方的iTunes API,可以获得电影、电视节目和音乐视频的“previewURL”。 http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html

音乐视频似乎没有受到保护,但电影和电视节目受到了保护。

例如,这是来自The Beatles的音乐视频(实际上是一部纪录片)的预览URL: http://a809.v.phobos.apple.com/us/r1000/006/Video/72/fe/52/mzm.bxhrrlns..640x480.h264lc.u.p.m4v

这是《辛普森一家》某一集的预览URL: 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不能播放受保护的内容,即使该内容直接来自苹果。
在文档的“支持的格式”部分中,没有特别列出M4V,但它肯定可用。我找不到任何涉及受保护内容的文档。

我只是好奇是否有一种方法可以通过应用程序或其他方式播放这个内容。 (调用[UIApplication ... openURL]也不起作用,因为移动Safari也无法播放内容。)

这是在iOS 4.x上。

谢谢。


你好,你找到这个问题的解决方案了吗?我正在寻找同样的事情,在我的应用程序中找到一种显示该视频的方法,但我没有找到解决方案... - Piero
可能是[使用MPMoviePlayerController播放来自iTunes的电影?](https://dev59.com/iVbTa4cB1Zd3GeqP9U2m)的重复问题。 - jww
1个回答

19

很遗憾,苹果不希望我们在自己的应用程序中这样做。

加密的MPEG4视频似乎在所有多媒体iOS SDK级别(mediaplayer框架以及avfoundation框架)中都行不通。

阅读这篇博客可以证明你已经亲身体验到的相同情况。

仅为确保人们不会混淆这一点,这仅适用于DRM受保护的视频文件,与受保护的流媒体无关 - 使用AES-128加密的HTTP流媒体(m3u8)与iOS完全兼容,并且在所有级别上都可以实现(MPMoviePlayerController以及AVPlayer)。


2
不错,谢谢。我会研究如何从我的应用程序直接启动Safari浏览器。 - Nik Burns

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接