Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
684 views
in Technique[技术] by (71.8m points)

cocoa touch - Playing M4V Protected Content with MPMoviePlayerController or AVPlayer (iOS)

Is there a way to have the MPMoviePlayerController (or even something lower level like AVPlayer) play protected M4V files from the iTunes Store?

Using the official iTunes API here: http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html

I can get a "previewURL" for movies, TV shows and music videos. Music videos don't appear to be protected, but movies and TV shows are.

For example, this is the preview URL for a music video from The Beatles (actually a documentary, but whatever): http://a809.v.phobos.apple.com/us/r1000/006/Video/72/fe/52/mzm.bxhrrlns..640x480.h264lc.u.p.m4v

And this is the preview URL for an episode of The Simpsons: http://a911.v.phobos.apple.com/us/r1000/017/Video/ec/cc/cf/mzi.mnuqbbcl..640x480.h264lc.d2.p.m4v

The music video will play just fine using an MPMoviePlayerController, but the video for the The Simpsons does not play at all. (When used with an MPMoviePlayerViewController, the view controller is displayed modally then immediately dismissed without any user interaction.)

If you look at both of those URLs in QuickTime Pro, the only telling difference is that the second one is listed as "Protected", which would lead one to assume that the MPMoviePlayerController cannot play protected content, even if that content is coming straight from Apple.

Under the "Supported Formats" section in the documentation, M4V isn't specifically listed but it certainly works. I can't find any documentation that references protected content.

Was just curious if anyone knew of a way to play this content either within an application or through some other means. (Calling [UIApplication... openURL] doesn't work either, as Mobile Safari won't play the content either.)

This is on iOS 4.x.

Thank You.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I am afraid that Apple does not want us to do that in our own apps.

DRMed MPEG4 video seems to be a no-go for all multimedia iOS SDK levels (mediaplayer framework as well as avfoundation framework).

Read this blog for a proof of the exact same experiences you made yourself already.

And just for making sure that people do not get this wrong and mix apples with oranges. This does only apply to DRM protected video files and has nothing to do with protected streaming - AES-128 encrypted HTTP-streaming (m3u8) is perfectly compatible with iOS and possible on all levels (MPMoviePlayerController as well as AVPlayer).


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...