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 and HLS 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.
Notes:
- Wowza Streaming Engine 4.5.0 or later is required.
- Wowza Streaming Engine 4.8.0 removed the Google protobuf library, which is required by the castLabs DRMtoday plugin. To use the castLabs DRMtoday service with Wowza Streaming Engine 4.8.0 or later, you must download the protobuf-java-3.7.1.jar file and copy and paste it into your Wowza Streaming Engine [install-dir]/lib directory.
Contents
Enable DRMtoday secure video content delivery in Wowza Streaming Engine streaming applications
Streaming secured content using DRMtoday
Enable DRMtoday secure delivery in Wowza Streaming Engine 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).
- If you purchased the plugin, but the download isn't available to you, contact DRMtoday Support.
- For complete plugin configuration details, see the DRMtoday documentation 3rd-Party Integration - Wowza Streaming Engine Plugin. (You must log in with a DRMtoday account to access this information.)
Set up DRMtoday for Wowza Streaming Engine
Choose a live or VOD 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.
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
- On the Applications tab in Wowza Streaming Engine Manager, click the application name in the contents panel.
- 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. - Click Edit and then click the Add Module button.
- 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
- Name - Enter DRMtoday
- Click Add, then click Save, and then restart the application to apply the changes.
To configure the DRMtoday plugin
- On the Applications tab in Wowza Streaming Engine Manager, click the application name in the contents panel.
- On the application details page, click the Properties tab.
- In the Quick Links bar, click Custom, and then in the Custom properties area, click Edit.
- 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.
PathNameTypeValue/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 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. - 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.