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, seeOoyala Player Token.
![Widevine Content Protection widevinecdm](http://img.aihuau.com/images/01111101/01044324t0101be2b305bf923f3.png)
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, seePlayer Authorization API.
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.PlatformSupported FormatsNotes
Android 2.xMP4Android 2x does not support live streaming.
Android 3.0+MP4, WVM (VOD)HLS (Live)WVM is Widevine ABR.
iOSWVM (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 supportsFor 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.
The following table describes the workflow steps for using Widevine for content protection.
StepActionResponsible PartyAdditional Documentation
1.The video player App, authenticates the user against the content provider.App developers and content provider’s servicesOoyala Player Token
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 servicesOoyala Player Token
3.The video app makes an authorization request to Ooyala that includes the Ooyala Player Token.App developersOoyala Player TokenandPlayer Authorization API
4.Ooyala's authorization request returns a stream url and the authorization cookie.App developersPlayer Authorization API
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:Android SDK - http://support.ooyala.com/developers/resources#mobile
iOS SDK - http://support.ooyala.com/developers/resources#mobile
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:Implement Widevine in accordance with the device specific SDKs. You pre-configure your device SDK and Widevine set up according to the SDK instructions.
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.
You will make a call the theAuthorization API(this is a JSON RESTful API call).
You will make the call to get the Widevine URL or stream data.
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 urlthe stream URL
drm serverWidevine server path in the Authorization response
portal, provider, or owner idooyala
device idoptional, 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 namedwidevine_server_pathis returned. This should be passed along with the stream url to the playback SDKs for obtaining the Widevine license and decrypting the token. { "authorization_data":{ "huNWp2NjoCaCKrsV_wqBdcSw9P1XmlwW":{ ... "streams":[ { "delivery_type":"wv_wvm", "url":{ ... }, "widevine_server_path":"http://player.ooyala.com/sas/drm2/lvcjAxOj82_rjlIAJ6Jr8ZZqGP-s/huNWp2NjoCaCKrsV_wqBdcSw9P1XmlwW/widevine/ooyala" } ] } }, "debug_data": ..., "signature":"Fo6ewzq2tTrLJrFmjo5eQpeKUOoLvhSen7KLjrFU1YQ=n"}