Service Admin
ExpressPlay Admin is a web console for easy administration of your account and service activity.
- Dashboard
- Tokens
- Activity
- Settings
-
Activity Summary
You can review total production token usage.
-
Authenticator
Your Customer Authenticator is your API key, censored to protect accidental exposure.
-
Recent Activity Overview
The Recent Activity monitor displays the fifty most recent transactions.
SDK
The Expressplay SDK is simple to use and makes integration into iOS, Android, Windows and Mac OS X applications quick and easy. The links below will introduce you to key concepts and the general schema of the overall Expressplay SDK.
SDK Documentation
iOS & Android
ExpressPlay SDK for iOS and SDK for Android both offer easy to use APIs with simple examples to help point you in the right direction. See below for SDK API documentation options.
OSX & Windows
The ExpressPlay SDK for Windows and SDK for OS X are available upon request. You can request access to these SDKs via the ExpressPlay Admin web console. See below for SDK API documentation options.
Source SDK
Qualified developers looking for a solution on custom platforms (such as embedded Linux) may need access to the ExpressPlay Source SDK. See below for the Source SDK documentation options.
Devices with Marlin or PlayReady
Devices which have Marlin or PlayReady built-in do not need the ExpressPlay SDK in order to work with ExpressPlay. You simply use the app SDK for the device platform such as the Roku SDK or the XBOX XDK. You can use the ExpressPlay service to provide tokens for your apps on those platforms to play protected content.
Packaging Tools
The ExpressPlay Packaging Tools is a set of free tools recommended by ExpressPlay which allow for content to be formatted and encrypted to use with ExpressPlay-enabled devices. The tools use a straight forward command-line interface for all three major operating systems and can be easily integrated into existing workflows.
ExpressPlay Packaging Guide
We’ve provided a summary of the command line tools and options, however it’s strongly recommended for you to visit the Tutorials section to first familiarize yourself with these tools within an entire workflow.
Download the Packaging Tools
ExpressPlayer (validation tool for packaged content)
ExpressPlayer is an app for iOS and Android which allows easy testing of content encrypted by ExpressPlay Packaging Tools. Here we provide is simple screencast showing how you can use ExpressPlayer to validate your encrypted video assets.
REST API
The REST API is how your storefront server gets tokens from ExpressPlay. Learn about this simple interface in the REST API documentation.
Storefront and ExpressPlay Interaction
-
App requests permission from the Storefront to play content
-
Your Storefront requests a token from ExpressPlay
-
ExpressPlay grants the requested token
-
Your Storefront permits content to play on App
Advanced Test Tool
The ExpressPlay Advanced Test Tool (ATT) provides a suite of useful command-line debugging tools for advanced Marlin BB use cases. The ATT is available to download from the ExpressPlay Admin site.
Key Storage
ExpressPlay offers an optional secure online storage service for your content keys at no additional charge. The ExpressPlay Key Storage Service uses the Simple Key Management (SKM) API, a simple REST API that allows you to push/pull content keys to/from ExpressPlay. You can learn more about this open API for key management in the SKM API documentation. The documentation is not specific to the ExpressPlay service, so the url patterns are missing the base url. In the case of ExpressPlay, the url base should be as follows.
- Production URL Base: https://api.service.expressplay.com/keystore
- Test URL Base: https://api.test.expressplay.com/keystore
IMPORTANT NOTE: ExpressPlay requires that each SKM API request include a "customerAuthenticator" query parameter using your production or test customer authenticator value.
Content Key Flow
Here you can see how the content is encrypted and remains protected through playback on device. The storefront requests tokens from ExpressPlay using the content key, then passes down the token to the player device or app which uses the SDK to process the token for secure playback.
Using Key Storage
In this scenario, content keys are stored by ExpressPlay in encrypted form. They content keys may be generated by a 3rd party provisioning service, then pushed to ExpressPlay using the open SKeyMa API, a REST-style interface for pushing and pulling keys. When content is packaged/encrypted the packing tools (or hardware encoder) pulls the key for each piece of content using SKeyMa. The storefront can request tokens using a content ID instead of a content key, as ExpressPlay already has the content key.
Tutorials
We’ve put together a handful of tutorials to acquaint you with the key features and components of ExpressPlay. We hope you find them helpful.
Getting Started
An overview of what it takes to get up and running, from signup to playback.
Service Tutorials
This tutorial explains the MS3 Token life cycle and the processes necessary to integrate your service with ExpressPlay.
This tutorial explains the two methods available for generating Test Tokens.
Packaging Tutorials
This tutorial guides you through the process of packaging DASH content to use with ExpressPlay using Encoding.com, S3 and the Bento4 tools
This Tutorial guides you through the steps involved in packaging HLS content to use with ExpressPlay using Encoding.com, S3 and the Apple HLS tools.
This tutorial explains how to use the Zencoder (www.zencoder.com) cloud encoding service to package DASH content protected by ExpressPlay.
This tutorial explains how to use the ExpressPlayer app for iOS and Android to validate your packaged content, one at a time or in bulk using JSON formatted playlists.
SDK Tutorials
A step-by-step guide to making a barebones ExpressPlay-enabled media app for iOS. This tutorial demonstrates the use of Marlin MS3 tokens.
A step-by-step guide to making a barebones ExpressPlay-enabled media app for iOS. This tutorial demonstrates the use of Marlin BB tokens.
A step-by-step guide to making a barebones ExpressPlay-enabled media app for Android. This tutorial demonstrates the use of Marlin MS3 tokens.
A step-by-step guide to making a barebones ExpressPlay-enabled media app for Android. This tutorial demonstrates the use of Marlin BB tokens.
Test Player
Test Content
Here we provide a set of test content in several popular formats. Currently only video test content is available. Note that the ExpressPlayExample app (mentioned below) is provided in source code form as part of the ExpressPlay SDK.
Using the ExpressPlayExample App on Windows and Mac OSX
To play streaming content, where the content key is delivered by an MS3 server
- Click on the corresponding "MS3 compound URI" link in the table below and paste the resulting URL into the player Open URL input window.
To play streaming Content, where the key is delivered by Marlin Broadband License
- Click on the link "BB License Token" in the table below to produce the License Acquisition Action Token.
- Copy the License Acquisition Action Token to a text file.
- Invoke WasabiSushiProcessToken and pass it the above file name as a parameter.
- Copy the stream URL into the player input window.
To play downloaded content, where the key is delivered by Marlin Broadband license
- Download the content file clicking on the corresponding link in the table.
- Click on the link "BB License Token" to obtain the License Acquisition Action Token.
- Copy the License Acquisition Action Token into a text file.
- Invoke WasabiSushiProcessToken passing it the above downloaded action token file.
- Direct the players input window to the location of the downloaded file.
Using the ExpressPlayExample App on Android
To play streaming content, where the content key is delivered by the ExpressPlay service or an MS3 server
See the ExpressPlayExample input options in the SDK Overview for the input necessary to play back the content on Android.
To play streaming Content, where the key is delivered by Marlin Broadband License
There is no sample Android code for this use case.
To play downloaded content, where the key is delivered by Marlin Broadband License
The sample Android application does not illustrate playback of a downloaded file. However, it is possible to playback a downloaded file by referring to the file by a string such as file:///sdcard/mymedia/movie.mlv.
You should first use the SDK Java API to acquire a Marlin Broadband License for that content.
Using the ExpressPlayExample App on iOS
To play streaming content, where the content key is delivered by the ExpressPlay service or an MS3 server.
See the ExpressPlayExample input options in the SDK Overview for the input necessary to play back the content on iOS.
To play streaming content, where the key is delivered by Marlin Broadband License
There is no sample iOS code for this use case.
To play downloaded content, where the key is delivered by Marlin Broadband License
The sample iOS application does not play back downloaded files.
Content for use with ExpressPlay Test SDK
|
Streaming URL |
Broadband License*** |
MS3 URL |
Downloads Content |
Broadband License |
BBTS* |
|||||
PDCF** |
|||||
DCF** |
|||||
HTTP Live Streaming (HLS) |
Not Supported |
Not Supported |
|||
Dynamic Adaptive Streaming via HTTP (DASH) |
Not Supported |
Not Supported |
Additional DASH examples for use with ExpressPlay Test SDK
|
URL |
Broadband License*** |
MS3 URL |
Static MPD, one period, encrypted |
|||
Static MPD, multi periods, encrypted |
|||
Dynamic MPD, multi period, encrypted (this stream is restarted every 30 minutes) |
|||
Static MPD, list, encrypted |
|||
Static MPD, cleartext |
N/A |
||
Static MPD, encrypted |
DASH with Multiple DRM’s (using test tokens)
|
URL |
Marlin Broadband License*** |
Marlin MS3 URL |
PlayReady License |
Static MPD, encrypted |
Content for use with ExpressPlay SDK (production)
|
Streaming URL |
Broadband License*** |
MS3 URL |
Downloads Content |
Broadband License |
BBTS* |
|||||
PDCF** |
|||||
DCF** |
|||||
HTTP Live Streaming (HLS) |
Not Supported |
Not Supported |
|||
Dynamic Adaptive Streaming via HTTP (DASH) |
Not Supported |
Not Supported |
* In the versions of ExpressPlay SDK below v1.6 BBTS with BB license is not supported and BBTS with MS3 is supported for iOS only
** In the versions of ExpressPlay SDK below v1.6 this format is supported for MacOS and Windows players only
*** In the versions of ExpressPlay SDK below v1.6 this option is supported for MacOS and Windows players only
**** MS3 URL's with extensions and BB licenses with permissions are supported in ExpressPlay SDK 1.5 or higher