IOS 15 Safari fails with Fairplay DRM playback

Hi, IOS 15 Safari does not support Fairplay DRM and gives an error, other browsers like Chrome also do not work. Since IOS 15 released today, we as DRM providers are having a lot of complaints from our customers. The issue does not happen on IOS app, only for IOS browser. We have seen the same issue across multiple DRM providers, so issue is at the end of Apple and only occurs for IOS 15.

  • We have explored more and also found the cause of bug, a detailed bug report along with samples has been filed on https://feedbackassistant.apple.com/ The feedback ID is FB9646199.

  • Apple team has accepted that it is a bug and is corrected in IOS 15.1 (which is in beta currently) , so have to wait for official release of 15.1 for full solution on this.

Add a Comment

Accepted Answer

Unforuntately, this issue has also now started coming in Mac OS Safari 15.0

  • Sorry , this is not accepted answer but was accidentally marked so and is now not changable. It is a normal comment.

Add a Comment

Answers

Hi siddhant333,

thanks for the update! Could you please give a direct link to the feedback ticket? Unfortunately, I can not find it.

Also extra information I would like to add (maybe you can update your ticket too):

I have tried iOS 15.1 beta on an iPhone 7. The DRM playback does not crash anymore, but there is no video, only audio. You can try all the players on this page, all play audio-only on iOS 15.1. (On 15.0 all crashed) https://pallycon.com/multi-drm-demo/

However, if you disable GPU rendering (GPU process: Media) in the Safari Experimental Settings, and restart Safari, all the players start showing video too.

Also, just for reference: We also see this message popping up in the DRM flow too, if you use webkit-eme (not standard EME) + GPU rendering enabled. https://github.com/WebKit/WebKit/blame/e98ff129bc8eba06ac17105f19c5f0e142aab853/Source/WebKit/GPUProcess/media/RemoteLegacyCDMSessionProxy.cpp#L89

(and this could break Desktop Safari 15 in certain scenarios if you rely on this destination URL)

I hope you find the information above useful.

  • It turned out that iPhone 11 and iPhone X with iOS 15.1 are able to play DRM-protected streams without any problem. iPhone 7 still has the issue with the same iOS version.

Add a Comment

Hi,

We're also facing the same issue with Safari iOS 15 and FairPlay DRM. In our side we tested on jwplayer, shaka player and pure javascript we found that Safari random throw error MediaError code 3 "Media failed to decode" sometimes Safari can play FairPlay DRM stream sometimes not. Before that its work fine on iOS 14

@siddhant333 could you share a direct link to the feedback ticket or the cause of this bug ?

@Danesz so you tested with iOS 15.1 and found that error still exists ?

  • Feedback ticket submission was private and thus no option to share the link for it. Reason is that Apple is not supporting certain encryption scheme.

  • Only on iPhone 7 so far. iPhone 11 and X are playing the stream as expected

Add a Comment

When will iOS 15.1 be pushed out to app store? All our test devices that we have upgraded to iOS 15 have problem with Fairplay in Safari.

  • iPad mini 4
  • iPad Gen 7
  • iphone 8

Unforuntately, this issue has also now started coming in Mac OS Safari 15.0

  • Sorry , this is not accepted answer but was accidentally marked so and is now not changable. It is a normal comment.

Add a Comment

Feedback ticket submission was private and thus no option to share the link for it. Reason is that Apple is not supporting certain encryption scheme.

@siddhant333 What does it mean not supporting certain encryption scheme? do you have workaround this issue or could you share how to get that information

  • In our preliminary investigation, AES encrypted HLS doesn't work with FPS in safari 15.0 but CBCS supported FPS playback works in safari 15.0

  • switch($output) { case 'fps': $cmd .= "--enable_raw_key_encryption \ --protection_scheme cbcs \ --protection_systems FairPlay \ --hls_master_playlist_output $dst/master.m3u8 \ --keys label=DEFAULT:key_id=$iv:key=$key:iv=$iv \ --hls_key_uri skd://$vid \n"; break; case 'cenc': $cmd .= "--enable_raw_key_encryption \ --protection_scheme cenc \ --keys label=DEFAULT:key_id=$iv:key=$key:iv=$iv \ --mpd_output $dst/stream.mpd \n"; break; case 'dash': $cmd .= "--mpd_output $dst/stream.mpd \n"; break; default: // todo throw exception? break; }

    ... but we are producing cbcs ?

Add a Comment

+1

Fairplay encrypted content working on various Apple devices and iOS versions are not working on iOS 15 and iPadOS 15.

License server response is identical between iOS 14 and iOS 15.

GPU Process: Media needs disabled for iOS 15 on iPhone XR to get any video playback.

  • I've tried this on ipad pro and it worked only for the first playback. Second attempt fails.

  • Same here. Flushing out Safari cache/data makes no difference. Nor did a reset on iPadOS 15.

Add a Comment

Our site is failing for many users (all our videos are encrypted). Don't know if we should be pointing the finger at Apple iOS 15 update, or at videojs EME extension.

Updates/status/progress/help needed. Please.

  • The error didn't come from video.js EME extension. To reproduce you can try implement FairPlay using pure JavaScript or using FPS_in_Safari_Example.html that come with FairPlay Streaming Server SDK. You will get the same error on iOS15.

Add a Comment

This issue happens with fairplay content in iOS 15 Safari.
My device is iPhone 8+

  • Did you check Chrome also? In our devices DRM does not work both on Safari and Chrome.

  • Should get the same error on Chrome because all of web browser engine on iOS/iPadOS are WebKit from Apple

  • [Update the status]

    I upgrade devices to iOS 15.1 beta 2 (19B5052f) and this issue seem to be fixed.

    And my devices are iPhone 8+ and iPhone 7.

A screenshot of Apple technical support team reply on this to our team is attached.

  • That's a good news!

    I upgrade devices to iOS 15.1 beta 2 (19B5052f) and this issue doesn't happen.

    By the way, my devices are iPhone 8+ and iPhone 7.

  • Per our understanding this issue only happens with transport stream (mpeg2ts) based HLS. cmaf based is not affected.

    (It also affected Safari15 in Monterey until Beta 7).

    In iOS15 Beta1/2 the issue is fixed, however there are still issues when mirroring over HDMI that require the "GPU process: Media" to be off...

Add a Comment

Does anyone know when this IOS 15.1 beta 2 is expected to be released to the public? After updating to IOS 15.1 (prompted by my iphone) the issue still persists with Fairplay content on Safari and chrome. However after installing IOS 15.1 beta 2, the issue is resolved.

Any idea when 15.1 will be released?

We run a video streaming service for Education, and users who have upgraded to iOS 15 can no longer play video due to this issue. Is there any indication (even if just a rough window) of when the issue may be resolved?

  • The playback issue seems fixed in iOS15.1 beta1/2, except for a new issue related to HDMI mirroring...

    I don't know the security requirements of your service but maybe you have the option of temporarily downgrading to normal "http" key delivery instead of FairPlay?

    "Quickly Diagnosing Content Key and IV Issues Quickly Diagnosing Content Key and IV Issues" https://developer.apple.com/library/archive/technotes/tn2454/_index.html

Add a Comment

We are able to do playback on iOS 15.1 beta 3 release. Now any idea when 15.1 will be officially released? Thanks.

Issue is still seen on iOS 15 chrome, firefox and Edge. We use FPS on these browsers. But issue seems to be resolved for safari. Anyone facing the same on iOS chrome, FF and Edge?