Widevine Content Protection (Deprecated)

Note: Ooyala integration with Widevine Classic DRM has been deprecated and is scheduled to be disabled. For details and alternatives, see the OVP Release Notes.

Ooyala provides support for Widevine to meet the content protection requirements for high-quality content online in on-demand and live streaming formats. Widevine’s multi-platform DRM provides the capability to license, securely distribute and protect playback of multimedia content on any consumer device. Content owners and digital media providers can use Widevine’s solutions to ensure revenue generating services keep flowing to whatever device consumers desire.

To give you the capacity to protect your content using Ooyala and Widevine, you need to understand how Widevine works and how to use Widevine with your iOS, Android or Connected TV device. This document describes how to do this.

Widevine is part of a set of comprehensive content protection features that work together to provide you with the ability to secure your content. These features include:

  • User Authentication through token-based options such as the Ooyala Secure Player Token. For information about setting up and using this feature, see Ooyala Player Token for Player V3 (Deprecated).
  • Content Authorization through mechanisms such as Widevine. Information about Widevine is provided in this document.
  • Authorization API which is a mechanism that handles all authorization requests. For more information about the Authorization API, see Player Authorization API for Player V3 (Deprecated).
The content protection that Ooyala offers work standalone or in combination to provide multiple levels of content protection. Ooyala enables you to combine these features to create your content protection strategy. To learn about additional content protection features (such as Adobe Pass), contact Sales, your Customer Success Manager, or Technical Support.

Supported Platforms and Formats

If you want to have content that is DRM-protected with Widevine, you need to use the supported platforms formats appropriate for iOS Apps, Android Apps, and Connected TVs.
Platform Supported Formats Notes
Android 2.x MP4 Android 2x does not support live streaming.
Android 3.0+ MP4, WVM (VOD)HLS (Live) WVM is Widevine ABR.
iOS WVM (VOD) HLS (Live) Although MP4 is available, we should encourage customers to move away from using this format.
ConnectedTVs and STBsSamsung 2010+LG2011+ WVM (VOD) HLS (Live)What the TV supports For apps that support WVM or HLS.Note that other Connected TVs and STBs may work but have not yet been tested by Ooyala.

Ooyala and Widevine DRM Workflow

Customers who want Widevine need to work with Ooyala Customer Success Managers or professional services to enable Widevine support. When you use Ooyala’s Widevine server, the licenses exist in the Widevine cloud.

With the implementation of Widevine DRM, each content viewer needs an individual license as the content is encrypted and is useless without license. Widevine does not perform the encryption, content from the CDN is already encrypted. Widevine just provides a secure cloud for license key storage and retrieval.

If you want to integrate with Widevine, you need to understand how securing your content works with the various parts of the Ooyala content protection features. The following diagram illustrates how Widevine is related to the Ooyala Player Token (an optional but recommended user authentication feature) and the Ooyala Authorization API that handles the user authentication requests.

Widevine Content Protection Workflow

The following table describes the workflow steps for using Widevine for content protection.

Step Action Responsible Party Additional Documentation
1. The video player App, authenticates the user against the content provider. App developers and content provider’s services Ooyala Player Token for Player V3 (Deprecated)
2. The content provider provides an Ooyala Player Token to the app that indicates the authentication status of the user. App developers and content provider’s services Ooyala Player Token for Player V3 (Deprecated)
3. The video app makes an authorization request to Ooyala that includes the Ooyala Player Token. App developers Ooyala Player Token for Player V3 (Deprecated) and Player Authorization API for Player V3 (Deprecated)
4. Ooyala's authorization request returns a stream url and the authorization cookie. App developers Player Authorization API for Player V3 (Deprecated)
5. Device native playback components will contact Ooyala for DRM licenses. Ooyala  
6. Ooyala provides the license to playback DRM content. Ooyala  

Using Widevine with Ooyala SDK-based Apps

To use Widevine with our iOS and Android players you need to download and use our Native SDKs to create the client-side pages. To download the Ooyala: Once you have downloaded the SDK, you should following the instructions in the package for implementing Android or iOS apps. That’s all you need as once you have the Widevine feature enabled, the Ooyala SDK-based apps should work seamlessly with Widevine.

Using Widevine with Connected TVs

If you want to use Widevine with connected TVs, you need to:
  1. Implement Widevine in accordance with the device specific SDKs. You pre-configure your device SDK and Widevine set up according to the SDK instructions.
  2. Initialize Widevine and the device SDK in the SDK-specific language (this will vary from device to device). Set up your app in accordance with the applicable platform programming guide.
  3. You will make a call the Authorization API (this is a JSON RESTful API call).
  4. You will make the call to get the Widevine URL or stream data.
  5. You need to map the elements of the retrieved URL to the corresponding values of the Widevine fields. Plug in the values described below.
For this segment... Provide...
video url the stream URL
drm server Widevine server path in the Authorization response
portal, provider, or owner id ooyala
device id optional, unique identifier for the device, you generate the id

Authorization Response with Widevine Stream

For an authorization response that include a widevine stream, an additional value named widevine_server_path is returned. This should be passed along with the stream url to the playback SDKs for obtaining the Widevine license and decrypting the token.
  "debug_data": ...,