Developer Center

We provide all the tools

Explore the ExpressPlay platform.
Click on a component to learn more.


Service Admin

ExpressPlay Admin is a web console for easy administration of your account and service activity.

  • Dashboard
  • Tokens
  • Activity
  • Settings

Dashboard

The Dashboard provides an overview of your ExpressPlay account status.

  1. Activity Summary

    You can review total production token usage.

  1. Authenticator

    Your Customer Authenticator is your API key, censored to protect accidental exposure.

  1. Recent Activity Overview

    The Recent Activity monitor displays the fifty most recent transactions.

Tokens

The Tokens tab allows you to create ad-hoc test and production tokens for development and integration testing.

  1. Tokens for Testing

    You can create Marlin MS3 and Marlin BB tokens one at-a-time for testing.

  1. Marlin BB Devices

    Marlin BB tokens for device registration are also available here.

Activity

The Activity tab provides a detailed history of redeemed tokens. Tokens can be filtered by Token type.

  1. Variable Pagination

    The Activity Monitor can display between ten and one hundred different entries at a time for easy viewing.

  1. Intuitive Filtering

    Token activity is split into two distinct sets: MS3 Tokens and Marlin BB Tokens.

  1. Detailed Transaction History

    Each Token transaction entry contains the transaction type, time of transaction, error code, device ID, client type, Token ID, and content ID.

Settings

The account settings section provides your account details including your current service plan.

  1. Information

    Edit the personal information associated with your account.

  1. Service Plan

    View your current plan, and abbreviated payment info.


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

Install for OS X

The following are download links to the current version of the ExpressPlay Packaging Tools for Mac OS X.

Install for Windows

The following are download links to the current version of the ExpressPlay Packaging Tools for Windows.

Install for Linux

The following are download links to the current version of the ExpressPlay Packaging Tools for Linux.


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

  1. App requests permission from the Storefront to play content

  2. Your Storefront requests a token from ExpressPlay

  3. ExpressPlay grants the requested token

  4. 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

Storefront Hookup

This tutorial explains the MS3 Token life cycle and the processes necessary to integrate your service with ExpressPlay.

Test Token Generation

This tutorial explains the two methods available for generating Test Tokens.

Packaging Tutorials

DASH Packaging

This tutorial guides you through the process of packaging DASH content to use with ExpressPlay using Encoding.com, S3 and the Bento4 tools

HLS Packaging

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.

Using Zencoder

This tutorial explains how to use the Zencoder (www.zencoder.com) cloud encoding service to package DASH content protected by ExpressPlay.

Validating with ExpressPlayer

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

iOS App

A step-by-step guide to making a barebones ExpressPlay-enabled media app for iOS. This tutorial demonstrates the use of Marlin MS3 tokens.

iOS App (Using BB Token)

A step-by-step guide to making a barebones ExpressPlay-enabled media app for iOS. This tutorial demonstrates the use of Marlin BB tokens.

Android App

A step-by-step guide to making a barebones ExpressPlay-enabled media app for Android. This tutorial demonstrates the use of Marlin MS3 tokens.

Android App (Using BB Token)

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



Show Controls
Show Options

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

  1. 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

  1. Click on the link "BB License Token" in the table below to produce the License Acquisition Action Token.
  2. Copy the License Acquisition Action Token to a text file.
  3. Invoke WasabiSushiProcessToken and pass it the above file name as a parameter.
  4. Copy the stream URL into the player input window.

To play downloaded content, where the key is delivered by Marlin Broadband license

  1. Download the content file clicking on the corresponding link in the table.
  2. Click on the link "BB License Token" to obtain the License Acquisition Action Token.
  3. Copy the License Acquisition Action Token into a text file.
  4. Invoke WasabiSushiProcessToken passing it the above downloaded action token file.
  5. 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

 

Additional DASH examples for use with ExpressPlay Test SDK

 

DASH with Multiple DRM’s (using test tokens)


URL

Marlin Broadband License***

Marlin MS3 URL

PlayReady License

Static MPD, encrypted

Elephants Dream, encrypted

BB License Token, w/ 520k constraint 

BB License Token, w/o 520k constraint****

MS3 Compound URI, w/ 520k constraint 

MS3 Compound URI, w/o 520k constraint****

PlayReady Token License 

 

Content for use with ExpressPlay SDK (production)

* 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