How to set up castLabs DRMtoday secure video delivery in Wowza Streaming Engine

This article describes how to set up a plugin for the castLabs DRMtoday service in Wowza Streaming Engine media server software to automatically deliver secured MPEG-DASH, Apple HLS, and Microsoft Smooth Streaming video content from your Wowza Streaming Engine media server. The DRMtoday service provides licensing for all major DRM systems, enabling you to adopt multiple studio-recognized DRM systems from the single plugin integration.

Note: Wowza Streaming Engine™ 4.5.0 or later is required.

Contents


Set up streaming applications in Wowza Streaming Engine media server
Enable DRMtoday secure video content delivery in Wowza Streaming Engine streaming applications
Streaming secured content using DRMtoday
More resources

Set up streaming applications in Wowza Streaming Engine media server


This section describes how to set up or create streaming applications in Wowza Streaming Engine Manager. The following procedure guides you through setting up the default live and vod applications, which are included in default Wowza Streaming Engine software installations. After you finish setting up the application, follow the instructions in Enable DRMtoday secure video content delivery in Wowza Streaming Engine streaming applications to configure the application to use the castLabs DRMtoday service.
 
  1. In Wowza Streaming Engine Manager, click the Applications tab at the top of the page.
     
  2. In the Applications contents panel, click live (for live streaming) or vod (for on-demand streaming), and then click Edit.
     
    Note: This procedure uses the installed live and vod applications. If you want to create a new streaming application, click Add Application in the contents panel, and then click Live or VOD.
  3. On the application page, select the MPEG-DASH, Apple HLS, and Microsoft Smooth Streaming playback types, and then click Save.


     
  4. Restart the application.


     
  5. If you set up an application for live streaming, connect live video from a camera or encoder to it by following the instructions in How to connect a live source to Wowza Streaming Engine.

    If you set up an application for on-demand streaming, copy your encoded video files to your VOD application's content directory. If you didn't change any of the application's default values, upload the files to the content folder in the Wowza Streaming Engine installation ([install-dir]/content). If you changed the application's Content Directory setting to an application-specific directory (${com.wowza.wms.context.VHostConfigHome}/content/[application-name]) or to a fully customized location on the media server, upload the files to these alternate locations.

Enable DRMtoday secure video content delivery in Wowza Streaming Engine streaming applications


The DRMtoday service provides licensing for all major DRM systems, enabling you to adopt multiple studio-recognized DRM systems from a single DRMtoday plugin integration. To get the latest version of the plugin, use your castLabs account to login to the castLabs Download Portal and download drmtoday-wowza-plugin-[latest-version].jar to the lib folder of your Wowza Streaming Engine installation ([install-dir]/lib).
 
Notes:

Set up DRMtoday for Wowza Streaming Engine

Choose a streaming application in Wowza Streaming Engine Manager to use with the DRMtoday service for secure streaming, and then configure the DRMtoday plugin using the procedures in this section.
 
Important: If you previously configured the legacy DRMtoday plugin (JAR file version 1.x.x) for the selected streaming application, you can upgrade the plugin to the latest version (JAR file version 2.x.x). See the DRMtoday documentation Migrating from legacy versions (V1.x.x to V2.x.x) for instructions. (You must login with a DRMtoday account to access these instructions.)

If you don't want to upgrade the legacy plugin to the latest version, choose a different streaming application (creating one if necessary) to use with the current plugin version.

To enable the DRMtoday plugin

  1. On the Applications tab in Wowza Streaming Engine Manager, click the application name in the contents panel.
     
  2. On the application details page, click the Modules tab.
     
    Note: Access to the Modules tab requires an administrator user with advanced permissions. To set up permissions, see Manage credentials.
  3. Click Edit and then click the Add Module button.
     
  4. In the Add New Module dialog box, complete the required fields:
     
    • Name - Enter DRMtoday
       
    • Description - Enter DRMtoday
       
    • Fully Qualified Class Name - Enter com.castlabs.drmtoday.wowza.v2.module.ModuleDRMtoday
  5. Click Add, then click Save, and then restart the application to apply the changes.
After adding the DRMtoday plugin to the Modules list in Wowza Streaming Engine, you can adjust the default settings for the plugin by adding properties to the application configuration.

To configure the DRMtoday plugin

  1. On the Applications tab in Wowza Streaming Engine Manager, click the application name in the contents panel.
     
  2. On the application details page, click the Properties tab.
     
  3. In the Quick Links bar, click Custom, and then in the Custom properties area, click Edit.
     
  4. For each property in the following table, click the Add Custom Property button, specify the indicated property settings in the Add Custom Property dialog box, and then click Add.
     
    Path
    Name
    Type
    Value
    /Root/Application dt_user String The ingest user at DRMtoday. You should create a single Wowza media server API user that gets ingest rights.
    /Root/Application dt_password String The dt_user password.
    /Root/Application dt_merchant String Your DRMtoday merchant ID.
    /Root/Application dt_env String The DRMtoday environment, either STAGING or PROD.
    /Root/Application dt_keyseed_id String The ID of the keyseed that's used to derive the keys.
     
    Important: You must configure a keyseed in DRMtoday for use with this property. See the DRMtoday documentation Server-side key derivation for instructions. (You must login with a DRMtoday account to access these instructions.)
    /Root/Application dt_ivseed_id String The ID of the keyseed that's used to derive the Initialization Vectors (IVs) for Apple FairPlay license delivery.
     
    Important: You must configure a keyseed in DRMtoday for use with this property. See the DRMtoday documentation Server-side key derivation for instructions. (You must login with a DRMtoday account to access these instructions.)[/URL].
    /Root/Application dt_cupertino_encryption_method String One of the following encryption methods for Apple HLS streams: FAIRPLAY, AES_128, or SAMPLE_AES.
     
    Note: If you specify the FAIRPLAY encryption method, you must set the cupertinoExtXVersion property value to 5.
    /Root/Application cupertinoEncryptionAPIBased Boolean Set to true.
    /Root/Application cupertinoExtXVersion Integer Important: Only add this property if you specify the FAIRPLAY encryption method for the dt_cupertino_encryption_method property. Set the value to 5.
  5. Click Save, and then restart the application to apply the changes.

Streaming secured content using DRMtoday


After you finish DRMtoday plugin setup for Wowza Streaming Engine, the plugin will automatically encrypt all content delivered from the application for which it's configured. When a player requests the manifest for a stream for the first time, the Wowza Streaming Engine application becomes active and the DRMtoday plugin will ingest the Common Encryption (CENC) key pair. If an issue (for example, no Internet access to the drmtoday.com domain or DRMtoday outage) causes key ingest into DRMtoday to fail, unencrypted content will never leave the Wowza media server. In this case, the player can't request a valid key for decryption, playback will fail, and an error message will be written to the wowzastreamingengine_error log file in [install-dir]/logs.
 
Note: The very first time the DRMtoday plugin is used for an application after a streaming manifest is requested, the plugin registers the Wowza media server application for the DRMtoday merchant account it's configured for. This process can take up to one minute to be reflected in the global DRMtoday license delivery system.

More resources


Easily Use DRMtoday with Wowza for Multi-DRM Delivery

3rd-Party Integration - Wowza Streaming Engine Plugin (You must login with a DRMtoday account to access this DRMtoday documentation.)

How to use the castLabs DASH Everywhere player with Wowza Streaming Engine

How to do MPEG-DASH streaming
Originally Published: For Wowza Streaming Engine 4.5.0 on 10-19-2016.
 

If you're having problems or want to discuss this article, post in our forum.