Question/Issue
I applied DRM to HLS content for Apple devices via AWS Elemental MediaConvert or MediaPackage services. Why is the content not playing even though the client has integrated the DRM license?
Short Description
If HLS content (VOD via MediaConvert or Live via MediaPackage) packaged with AWS Media Services does not play, it may be due to the following reasons:
FPS certificate not registered
FairPlay Streaming (FPS) DRM must be applied to DRM content in the 'Apple HLS' format.
To issue an FPS license, you must register an FPS certificate in the DoveRunner Console. Before this is done, playback of FPS HLS content is impossible. This applies to all FPS content, not just those packaged with AWS Media Services.
Incorrect encryption mode setting
FairPlay DRM uses 'Sample AES' encryption mode, not AES-128.
When packaging HLS content with AWS Media Services, you must ensure that the encryption mode is set to 'Sample AES'.
Key rotation related issues
MediaPackage endpoints have key rotation enabled by default.
To play content with key rotation enabled, the key rotation option must be set in the DRM license request data, and you must be subscribed to a separate custom plan beyond the basic DoveRunner Multi-DRM fee.
Resolution
Depending on the cause, you can solve the problem in the following ways:
FPS Certificate Registration
To generate an FPS certificate, you must first obtain FairPlay Streaming credentials from Apple.
For details on certificate creation and registration, please refer to the corresponding guide document.
Encryption Mode Settings
For FPS DRM packaging, the Encryption Method must be set to Sample AES in the Output Group of a MediaConvert job or the Endpoint settings of a MediaPackage channel.
Apply or disable key rotation
The key rotation feature is located in 'Additional Configuration', similar to the encryption mode, and is enabled by default. Since activating this feature incurs additional costs, you should disable the option if it is not required.
If you do apply key rotation, you must also apply the corresponding option to the token used for the client's DRM license request.