offline FairPlay?

We were very excited to learn about FairPlay Streaming being made available. We currently use Google's Widevine DRM for our iOS application video content protection, and a native FairPlay solution is very attractive. However, we have a basic requirement to support offline playback. It seems reasonable to assume FairPlay can handle this, since of course you can purchase or rent a movie on iTunes and play it while offline. Will offline playback functionality be made available to developers, or only streaming playback? If offline playback is not technically supported, is there a way to fake it by running a local http server to serve the HLS components and handling the FairPlay license requests in your own delegate?

Accepted Reply

The answer to this was just covered in today's talk "Whats New in HTTP Live Streaming" at WWDC16 https://developer.apple.com/videos/play/wwdc2016/504/

Replies

I second the question - in particular, is storing keys for offline use the thing that


- (NSData *)persistentContentKeyFromKeyVendorResponse:(NSData *)keyVendorResponse options:(nullable NSDictionary<NSString *, id> *)options error:(NSError **)outError NS_AVAILABLE_IOS(9_0);

is supposed to be used for?

We are interested in understanding your requirements for offline playback. Please submit your requirements via the Apple Bug Reporter (<https://developer.apple.com/bug-reporting/>) or post a comment with your requirements on these forums.

The original poster may have different requirements, but some of our customers are in places where cellular networks are expensive or unreliable, and need to be able to let a customer download all chunks of a chosen variant, acquire a license, and then play back at a later date. Example might be a wifi kiosk where the user can purchase and download for later consumption. We're currently using Playready DRM for this usecase.

I have submitted a bug report, #21602129.


We have developed an application that allows public library patrons to borrow video, music, audiobook, ebook, and comic content using their iOS device from their local public library. My question only concerns video, music, and audiobook content for which FairPlay is suitable; we have our own solution for protecting ebook and comic content. Our application requirements are that content be available immediately via streaming, or for offline playback later after being downloaded locally to the device. There are many reasons for this requirement, but suffice to say it is a distinguishing characteristic of our platform. Of course, our content providers require that we use an accepted DRM to protect their content. We are currently using Widevine DRM to protect video content since it supports both streaming and offline playback. We would be very interested in using FairPlay DRM instead, but that's only feasible if FairPlay works with local content, not just streamed content.

Some of those reason are exactly what tom_frog mentioned - the ability to download a higher quality version of the content than would be possible to stream given a user's poor connectivity, or the ability to view the content while offline such as on an airplane or train, or having the kids in the back seat be able to watch a movie or listen to an audiobook during a road trip.

So... I submitted a bug report as requested, and also outlined my requirements in a reply. Over a month later and *crickets* no reply whatsoever. C'mon, Apple, I'm on your side. I would have really appreciated an answer. You do realize that your inability to respond to developers such as myself forces us to consider other solutions, don't you? In my case, we're now looking at DASH with PlayReady or Widevine, because to put it bluntly, we can't wait for Apple to provide us quality information with which to make decisions.

Seconded. We already have this working with HLS/PlayReady, so it's hard to justify the investment of moving.

Still no reply yet? Seriously?


I'm hoping this reply prompts somebody at Apple to respond to my original question. I think it's clear there are a number of us interested in FairPlay, but we need better responsiveness from the vendor (that's you, Apple) before we can seriously consider it. That, and we need to be able to supported offline playback like we can with our existing solutions (PlayReady, Widevine). We know Apple supports offline playback with their products. So are you, or aren't you, going to make offline playback available to developers? Or is it possible now with some clever local caching?

We appreciate you filing the radar, and assure you that it has reached the right teams.


We do not currently support offline playback of FairPlay with the available SDK. I cannot speak to if/when this might change, but your feedback that you would like to see this is greatly appreciated.

Is there any further information on support for offline FairPlay playback, particularly with iOS 9?


Could the Video Rental support in iOS 9 be used to acquire a CKC(and store it on the device) with an expiration period in future(say a number of days), and then re-use the CKC while offline to re-start playback at a later time(while before the expiration set in the CKC)?

I don't have anything to announce at this time. We appreciate the radars highlighting the use cases and requirements.

Is there any update on this, or is there a way to vote on Apple bugs?

I suppose this enhancement would require an iOS update, and its inclusion in iOS10 will impact our development plans.

As mentioned by @sdillon, the only viable alternative for us is Widevine Modular.

@srk @TidBits This is something that we are also still very interested in, and any updates would be greatley appreciated.

+1

The answer to this was just covered in today's talk "Whats New in HTTP Live Streaming" at WWDC16 https://developer.apple.com/videos/play/wwdc2016/504/