Fairplay HTML5 example throws error on Safari 10

Hello,

Sample in the fairplay SDK throws "webkitkeyerror" event after upgrading safari to version 10. I can't really figure out the error codes from the error object. code has a value of 6, and systemCode has a value of 4294955460. W3C document on EME here https://www.w3.org/TR/2013/WD-encrypted-media-20130510/#dom-media_keyerr_domain says the following:

MEDIA_KEYERR_DOMAIN
(numeric value 6)An error occurred in a multi-device domain licensing configuration. The most common error is a failure to join the domain.

It's not very helpful. This was not the case on safari 9. Is anyone experiencing the same issue. Have there been any changes to key system that we are not aware of?

Accepted Reply

Hi,


The information that the Apple staff have provided elsewhere on this forum states that you need to use a 'Real' client certificate as supplied with a deployment package.

Replies

Hi all,


I have exactly same problem as palethorn's one. Safari EME does not generate any SPC message.

(We are using dev_certificate.der)

It is pleased if someone could give us a direction.

I'm assuming that safari 10 checks for certificate validity and doesn't generate SPC when it's not valid. I downgraded my testing machine to el capitan with stock safari 9 for preliminary testing just for the time being. I'll post here after I check my assumptions later.

Hi,


The information that the Apple staff have provided elsewhere on this forum states that you need to use a 'Real' client certificate as supplied with a deployment package.

I have a similar issue,


after updating the session with CKC message I'm getting a webkitkeyerror with

MEDIA_KEYERR_DOMAIN
. In my case systemCode is always 1212433232.

Did any of you experience such errors? I could use a hint as the systemCode tells nothing.


Thanks

Ok, solved,


in case you encounter this error - the above exception is HDCP telling you that you can't play. I was testing using remote desktop connection to a Mac and this is what the example app told me and there was no video to be seen.

When I ran the player straight on the Mac, playback worked like a charm.


Looks like HDCP is enforced by default, even if no HDCP enforcement TLLV is present in CKC.

Hi palethorn,


Any news on this downgrade? It made it work?

I'm having the same kind of issue.


Thanks,

Hi, brunomurozaki
Have you solved the problem?
pleased give us a direction.s.


Thank.

Hi,


I am getting the same error. webkitkeyerror is getting invoked on playing test content. I am using production fairplay credentials. Neither webkitkeymessage nor webkitkeyadded is getting invoked. I am using the sample test content.


Safari version - 11.0.2

Mac OS - 10.13.2


The sample content plays back correctly, when presented with the right key in the right format to the player. Is the below in sample content

enough for the player to request for a key?


#EXT-X-KEY:METHOD=SAMPLE-AES,URI="skd://twelve",KEYFORMAT="com.apple.streamingkeydelivery",KEYFORMATVERSIONS="1"


Any help is greatly appreciated.


Thanks!

I've resolved this error by deploying correct production certificate and key on the key server. The provided certificate inside the example is expired and thus invalid. It can only be used for testing purposes as described in the SDK documentation. The procedure for requesting production certificate is also described inside the documentation.

>The procedure for requesting production certificate is also described inside the documentation.

Сould you please refer to a particular page of the document? I can't find anything corresponding 😟

Hi Aleksey,


What you need is

https://developer.apple.com/streaming/fps/


It has a section at the bootom, titled

"Request Deployment Package"

Hello palethorn,


FPS Deployment Credentials are still valid and continue to work after they expire, there is no reason to replace them after they expire and a FPS server should not check their expiration. What is in the FPS SDK are development credentials for use when developing and testing a FPS development server. Like the deployment credentials are still valid for deployment after they expire, the development credentials are still valid for development and testing after they expire. This is a common misunderstanding.


You are correct that the information about requesting the deployment package is also in the FPS programing guide.

Hello!
I have the same problem as the topic starter.

"webkitkeyerror" 4294955460
Is it correct that this problem is not related to the expired certificate in the SDK, as you say?
I'm trying to implement the FPS ready video playback-plugin for one popular html5-based player. And I don't have any backend yet to test with.

Thanks.

Hi, were you able to figure out the issue? I'm not able to generate an SPC either. Do we need to install real certs?

Same error here (4294955460) while trying to play provided sample with test certificates. We are waiting for those "real" ones, but meanwhile can anybody confirm that encrypted sample is able to work when using test certs?