Video is not playing after obtaining CKC from Key Server - iOS FairPlay

I am trying to implement FPS in my application to load encrypted media content.

Below are the details of my implementation for DRM FairPlay streaming:
When it start playing encrypted media url in AVPlayer, it calls resouceLoader delegate method.
  • Now in this method, first I get the Certificate data from certificate URL using simple GET call.

  • Once it done, I request the server playback context using conent Id. So far this works well. I get the response I wanted.

  • At last, I request the content key context from the Key Server Module.

I take our server URL as request URL and we make a POST call to server. Now this call also gives us the response code 500 (Instead of 200 : Success).

IMPORTANT: (Doubt)
Is there any additional HTTP header value required to be pass in header param while making a request to Key Server Module.
I have tried with "application/x-www-form-urlencoded" as "Content-Type" but it is not helping.

Below is the response we get:
{ Status Code: 500, Headers {
Connection = (
close
);
"Content-Language" = (
en
);
"Content-Length" = (
5242
);
"Content-Type" = (
"text/html;charset=utf-8"
);
Date = (
"Tue, 18 Aug 2020 05:07:32 GMT"
);
Server = (
"Apache-Coyote/1.1"
);
} }

Error Message Log:
FPS Error code = -42581 | Error in parsing Server playback context to retrieve assetId and HU.

Can anyone please help me to resolve this? We're on a tight deadline and need to resolve this as soon as possible. Could anyone let me know what I am missing in this whole flow?

Replies

Hi, Did you find any solution to this?