Key request workflow on HTML5 TVSDK

Last update: 2023-10-02

Code can request a key through DRMManager.

The Browser TVSDK also exposes a setProtectionData API through the DRMManager object:

[  /**
   * This will only work for MSE.
   * <p> Attach key system specific data to use for DRM
license acquisition. </p>
   * @param {Object} protectionData - an object containing property names corresponding to key system name strings
   * (e.g. "org.w3.clearkey") and associated values being instances of
   * MediaPlayer.vo.protection.ProtectionData.
   * @returns {AdobePSDK.PSDKErrorCode} kECSuccess or one of the error codes.
   * @function
   * @memberof AdobePSDK.DRMManager#
   */
   setProtectionData: function(protectionData)

Your code would need to call this API before starting content playback the normal way. MediaPlayer.vo.protection.ProtectionData is documented here: https://vm2.dashif.org/dash.js/docs/jsdocs/MediaPlayer.vo.protection.ProtectionData.html

Here is sample protection data object with license server URLs for both PlayReady and Widevine.

var protectionData = {
   "com.widevine.alpha": {
                          "serverURL": "https://wv.service.expressplay.com/hms/wv/rights/
                           ?ExpressPlayToken=AQAAABIDKA4AAABQuPPoebWWZZD2l3APRKkkagEDOXm
                           CjgbhsqJTYeZ9KabkjCvSLvuXGHiVLymBnouGXDdCKpbz5IvB3jCZp9U05pys
                           l9eavucsWXnA0tafbM-1SSJKXOa70kvxAJ_ybhdcmy7-6g"
                          },
   "com.microsoft.playready": {
                               "serverURL": "https://expressplay-licensing.axprod.net/
                                LicensingService.ashx?ExpressPlayToken=AQAAAw_ZXqcAAAB
                                gHD1gnn_AMQJKfFCP3k9zbBw2srzBLryJVLXclnjhcSBCz4TBzrtfe
                                gmSw1hAKdFHTNL-KVBGsI4ygBnfPRBUCvGsVOwpQ944fhq45W06ygJ
                                roB2xOrM03tbkWcrthI7y_UQdHzufHjcBqKZm8QDoqKpxrxc"
                               }
   };

TVSDK does not provide any API to force a particular DRM system because each browser supports one DRM system only.

On this page