Setup Google Widevine for HLS & DASH with Wowza, EZDRM & NexPlayer

NexPlayer is the only Widevine Player SDK that offers multi-device support for both HLS and DASH streaming with Google Widevine. As a certified Widevine implementation partner NexPlayer provides the only player for all Android and iOS devices for both streaming protocols with Widevine encryption.

Without a player SDK that can support Widevine on Apple HLS, OTT providers would have to migrate their streaming architecture to MPEG-DASH streaming or have to apply multiple DRM technologies to securely stream their content.

In this demo we will provide a quick overview of how to setup a full Widevine DRM solution (Media Server > DRM > Player) for both HLS and DASH that you can use to protect your content with NexPlayer.

For the demo we use Wowza Streaming Engine, the most popular media server in the world. NexPlayer is a certified Wowza partner through the Works with Wowza partner program.

To briefly describe the workflow:
Live content is encoded and streamed from an encoder over RTMP, SRT, RTSP or MPEG-TS. Live or on-demand video comes in unencrypted to the Wowza server and is encrypted on-the-fly for Apple HLS using 128-bit AES encryption or for MPEG-DASH using CENC (common encryption).

In addition to encrypting the content you can also attach a DRM service provider. Wowza and NexPlayer partner with EZDRM, making it easy for OTT providers that buy content or source their content from different media sources can track that usage through these DRM service providers.

NexPlayer provides SDKs for HTML5, iOS and Android mobile devices, SmartTVs, as well as set-top box and gaming consoles that allow you to embed our player technology into your different devices to be able to provide professional playback and track the usage of that content using DRM service providers.

Google Widevine, Microsoft PlayReady and Apple Fairplay are DRM technologies that work natively inside of different browsers and devices to protect content playback. The problem for a lot of OTT service providers is that using multiple DRM technologies across different protocols can be expensive. It means you need different architectures to support different streaming protocols.

The real differentiator for NexPlayer is the fact that we can support Google Widevine, which is a royalty-free DRM technology, for both Apple HLS (the world’s most popular streaming protocol) and MPEG-DASH. NexPlayer’s partnership with Google Widevine allows simple DRM integrations with streaming server architectures and media servers like Wowza that can provide encoding and encryption.

With all of that in mind we will show you all of the steps that we’ve done to set this up with Wowza, EZDRM and NexPlayer.

Wowza Streaming Engine can run multiple Live or VOD applications. For this demo I’m going to use a VOD asset. In this VOD application I have the EZDRM digital rights management package enabled which is supported through the Works with Wowza partner program.

I’ve enabled this for EZDRM and this allows me to add my DRM username and password for my EZDRM subscription. If I jump over to EZDRM you can see that within my EZDRM account I have my DRM technologies: Apple FairPlay, Microsoft PlayReady and Google Widevine. The DRMs all enabled and NexPlayer supports all of these DRM technologies inside of our player technology.

For today’s example we will show a Google Widevine workflow. In my Widevine account you can see that I’ve got a profile ID with Widevine and an authorization URL that’s been provided to me by EZDRM who’s managing that license server.

In order to enable DRM inside of Wowza you can go to the EZDRM Wowza configuration module. There is a how-to guide on how to set this up you can set it up both inside of the module itself with the user interface or you can do it inside of the application XML. Both of these are available to be able to set up this coverage for the different DRM technologies that are supported by EZDRM.

I’ve setup the module. The other thing that you have to do is with Wowza is setup an SSL certificate using Wowza Streamlock. In your Wowza account you can request a free Streamlock SSL certificate. All you need is a valid Wowza license key, the IP address of your server and your certificate password which you can set yourself. Once approved you get a Streamlock certificate that allows you to encrypt your content with an SSL certificate using the IP address of your server and of course your license key.

I’ve installed the certificate in my Wowza server that I’m running on Amazon Web Services on EC2. I have also ensured MPEG-DASH and Apple HLS transmuxing is configured, and that I’ve installed the SSL certificate with Streamlock.

Within the NexPlayer test player I can now try the streams with Widevine and HLS. The Streamlock URL is provided to me by Wowza. Using the VOD application I will pull the sample.mp4 file through the Wowza server and generate the Apple HLS stream. The Widevine URL has been provided to me by EZDRM and ca be played in the test player.

We can repeat the workflow for Google Widevine with DASH with the same video on demand application and the same file. I’m still using the same Widevine URL for the Google Widevine licensing server provided by EZDRM.

So from start to finish we can actually configure Google Widevine to play for both Apple HLS and MPEG-DASH using Wowza, EZDRM and NexPlayer SDK to play back protected content in HTML5 as well as iOS, Android, set-top box, gaming consoles and Samsung Tizen and LG WebOS SmartTVs.