How can I play a HLS manifest with both Widevine & Fairplay on Bitmovin Web Chrome

Tested Fairplay DRM in Safari; It was played normally. But Widevine DRM HLS in Chrome browser did not play with 1211 error code.

How can I play a HLS manifest with BOTH FairPlay and Widevine on Chrome?

  1. For NON-Safari devices you’ll need to add the following below config to omit the Fairplay keys.
  2. This is NOT required for Safari.
var config = {
"key": "YOUR-PLAYER-KEY",
...
"network": {

      "preprocessHttpResponse": function (type, response) {
         // If it is Safari Browser then Do nothing
          if (typeof window.safari !== 'undefined'){
            return Promise.resolve(response);
          }

         // If NOT Safari
          if(type === "manifest/hls/variant") {
              var regex = /.*KEYFORMAT="com.apple.streamingkeydelivery"\n/
              response.body = response.body.replace(regex, '')
          }
          return Promise.resolve(response);
      }

  }
}
1 Like

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.

Fairplay uses SAMPLE_AES as encryption standard, which is essentially only supported on Apple devices with Native apps and Safari but not on Chrome and other browsers.

Your approach most likely wouldn’t work with an actual Fairplay stream. The only approach that would work in order to avoid using the Licensing server is the one detailed in this page Technical Note TN2454: Debugging FairPlay Streaming (section Quickly Diagnosing Content Key and IV Issues)

Edit :
Thanks for creating a ticket about this topic in addition. As you mentioned, it is not a suitable solution since SAMPLE_AES is not supported on Chrome