Google Widevine DRM

Widevine_Logo_300Widevine is a Hollywood grade DRM technology initially developed by Widevine Technologies and acquired by Google in 2010. For Google it was not only a technology acquisition it was also a strategic play. The acquisition opened new connections into the premium video sector and deepened also the relationship with Hollywood. Beside, that the technology fits perfect into the Google ecosystem and plays well together with Android and YouTube, which will help to expand their overall video business. Widevine is natively supported on broad range of devices and browsers such as Google Chrome Browser, Android, Chromecast, etc.

Encoding & Packaging

Bitmovin supports Widevine encryption of your content through our REST API or one of our API Clients available in different languages such as PHP, Python, Java, JavaScript, Node.js, Ruby, etc.
You just need to add the WidevineDRMConfig to the encoding job as shown in the following PHP example:

/* CREATE WIDEVINE DRM CONFIG */
$widevineDRMConfig = new WidevineDRMConfig();
$widevineDRMConfig->requestUrl = 'YOUR_LICENSE_SERVER_URL';
$widevineDRMConfig->signingKey = 'YOUR_SIGNING_KEY';
$widevineDRMConfig->signingIV = 'YOUR_SIGNING_IV';
$widevineDRMConfig->contentId = 'YOUR_CONTENT_ID';
$widevineDRMConfig->provider = 'YOUR_PROVIDER_NAME';
$widevineDRMConfig->method = DRMEncryptionMethods::MPEG_CENC;

/* Create Encoding Job */
$jobConfig = new JobConfig();
...
$jobConfig->manifestTypes[] = ManifestTypes::MPD;
$jobConfig->speed = JobSpeedTypes::STANDARD;
$jobConfig->drmConfig = $widevineDRMConfig;
PHP Widevine Encryption Example

The parameters of the Widevine configuration have the following meaning:

  • requestUrl: This is your private Widevine license server URL
  • signingKey: Replace this with the signing key you received from Widevine
  • signingIV: Replace this with the signing IV you received from Widevine
  • contentId: This ID is used to link your content to the generated keys in the Widevine key management system. This is up to you or your licensing provider. You can choose any value you like
  • provider: Also known as portal, owner or organization. You will get this value from Widevine. For testing you can keep the current setting
  • method: We only support MPEG-CENC

Playback

Widevine was of one of the first DRMs that worked with the Encrypted Media Extensions (EME) of HTML5. Google also integrated Widevine as Content Decryption Module (CDM) into their Chrome browser for desktop and mobile (Android). The Bitmovin player was also one of the first players that supported Widevine with the EME through MPEG-DASH. You can configure Widevine through the player configuration options and also advanced configuration options such as, specific license acquisitions options, credentials options, etc. This features are usually needed by 3rd party license providers that enable additional features with Widevine DRM. A typical Widevine configuration for the Bitmovin player could look like the following:

drm: {
    widevine               : {
      LA_URL               : 'https://mywidevine.licenseserver.com/'
    }
  }
Back to Top
Simple Share Buttons