Setup using multiple DRM solutions

Overview

Using the Bitmovin player in a multi DRM configuration is very simple. You can add multiple DRM configurations (e.g., Widevine configuration, PlayReady configuration, etc.) to the player configuration and you can also set all the advanced options for each DRM configuration. An example multi DRM configuration could look like the following:

var conf = {
    key: 'YOUR-PLAYER-LICENSE-KEY-HERE',
    source: {
        dash: 'DASH_MANIFEST_URL',
        hls: 'HLS_MASTER_PLAYLIST_URL',
        drm: {
            widevine: {
                LA_URL: 'https://mywidevine.licenseserver.com/',
                prepareMessage: function (keyMessage) {
                    return keyMessage.message;
                }
            },
            playready: {
                LA_URL: 'https://myplayready.licenseserver.com/',
                customData: 'INSERT-YOUR-CUSTOMDATA'
            },
            access: {
                LA_URL: 'https://myaccess.licenseserver.com/',
                authToken: 'INSERT-YOUR-BASE64-ENCODED-AUTH-TOKEN'
            },
            primetime: {
                LA_URL: 'https://myprimetime.licenseserver.com/'
            },
            fairplay: {
                LA_URL: 'https://fairplay.licenseserver.com/',
                certificateURL: 'https://fairplay.licenseserver.com/certificate-url'
            }
        }
    }
};

Widevine

var conf = {
    key: 'YOUR-PLAYER-LICENSE-KEY-HERE',
    source: {
        dash: 'DASH_MANIFEST_URL',
        hls: 'HLS_MASTER_PLAYLIST_URL',
        drm: {
            widevine: {
                LA_URL: 'https://mywidevine.licenseserver.com/',
                prepareMessage: function (keyMessage) {
                    return keyMessage.message;
                }
            }
        }
    }
};

Playready

var conf = {
    key: 'YOUR-PLAYER-LICENSE-KEY-HERE',
    source: {
        dash: 'DASH_MANIFEST_URL',
        hls: 'HLS_MASTER_PLAYLIST_URL',
        drm: {
            playready: {
                LA_URL: 'https://myplayready.licenseserver.com/',
                customData: 'INSERT-YOUR-CUSTOMDATA'
            }
        }
    }
};

Fairplay

var conf = {
    key: 'YOUR-PLAYER-LICENSE-KEY-HERE',
    source: {
        dash: 'DASH_MANIFEST_URL',
        hls: 'HLS_MASTER_PLAYLIST_URL',
        drm: {
            fairplay: {
                LA_URL: 'https://fairplay.licenseserver.com/',
                certificateURL: 'https://fairplay.licenseserver.com/certificate-url'
            }
        }
    }
};

Adobe Primetime

var conf = {
    key: 'YOUR-PLAYER-LICENSE-KEY-HERE',
    source: {
        dash: 'DASH_MANIFEST_URL',
        hls: 'HLS_MASTER_PLAYLIST_URL',
        drm: {
            primetime: {
                LA_URL: 'https://myprimetime.licenseserver.com/'
            }
        }
    }
};

Adobe Access

var conf = {
    key: 'YOUR-PLAYER-LICENSE-KEY-HERE',
    source: {
        dash: 'DASH_MANIFEST_URL',
        hls: 'HLS_MASTER_PLAYLIST_URL',
        drm: {
            access: {
                LA_URL: 'https://myaccess.licenseserver.com/',
                authToken: 'INSERT-YOUR-BASE64-ENCODED-AUTH-TOKEN'
            }
        }
    }
};