Apple FairPlay Streaming scope of support

Safari 9+ on macOS and Safari for iOS 11.2+ support DRM through Apple FairPlay Streaming (FPS) with HLS. Radiant Media Player provides flexible options for supporting Apple FairPlay Streaming. Our implementation is based on the reference sample
provided by Apple with the FairPlay Streaming Server SDK v3. We have extended this implementation through advanced player settings to provide support for virtually any standard-compliant DRM service providers. If you need additional tuning for
your Apple FairPlay Streaming setup please
contact technical support.

Player settings

Apple reference example

In its simple form we just comply with the Apple reference sample. For such a use case you just need to pass to the player your HLS URL, your server certificate URL and server processSPC URL.

Configuration options

This setting holds the required information to be passed to the player for proper retrieval of FPS licenses.

fpsDrm.certificatePath: String

The server path/URL to your FPS certificate. This is a required setting.

fpsDrm.processSpcPath: String

This is the path/URL to the keyserver module that processes the SPC and returns a CKC. This is a required setting.

fpsDrm.licenseResponseType: String

Specifies the responseType for the XMLHttpRequest when requesting the FPS license to the server. The default value is 'text' (as provided by the Apple reference sample). Other possible values are 'arraybuffer', 'json', and 'blob'.

fpsDrm.licenseRequestHeaders: Array

This setting specifies an Array of Object to set the request headers for the XMLHttpRequest when requesting the FPS license from the server. Each item of the array should be an object containing a name property and a value property both set as
String. Default [] (as provided by the Apple reference sample).

fpsDrm.certificateRequestHeaders: Array

This setting specifies an Array of Object to set the request headers for the XMLHttpRequest when requesting the FPS certificate from the server. Each item of the array should be an object containing a name property and a value property both set
as String. Default (as provided by the Apple reference sample):