We are excited to announce that our new media delivery system -- Dynamic Delivery -- is now integrated into Video Cloud and will be rolled out to customers throughout 2017. Dynamic Delivery brings many benefits to Video Cloud, including greater device reach, distributed ingestion and delivery, reduced storage costs, and greater CDN flexibility and security. This post specifically addresses how Dynamic Delivery simplifies the challenges faced around delivering DRM protected content across a range of platforms that necessitate unique combinations of streaming and DRM formats.
We all want video to just work and play back everywhere. For non-premium content, this is relatively straightforward. But as soon as you add more advanced requirements like DRM, closed captioning, subtitles, and multiple audio tracks for different languages and audio descriptions, video delivery across different platforms becomes really complex. The landscape of end-points (web browsers, smartphones, tablets, connected TVs, and streaming boxes) is ever-changing. This makes video delivery hard because for an optimal playback experience, these endpoints frequently require different combinations of video codecs, packaging formats, and DRM systems. There is no standard combination of settings that will work on all devices, and since many of these systems are competing with each other, we don’t see one coming any time soon. For example, an HLS stream protected with FairPlay DRM for an Apple TV will not playback on an Android device.
Until now, packaging video to support a wide range of endpoints has meant creating versions of the same content for each endpoint, or using a multi-DRM solution. Creating different versions for each endpoint means that the processing and storage requirements are ever growing, and they start to increase exponentially if you add different captions and languages. Multi-DRM solutions have their own challenges and do not work well in situations where a mobile web or device native streaming solution is needed. When new media formats are introduced, or format specifications change, these packages need to be updated or recreated. That’s where Dynamic Delivery comes in. Instead of creating multiple versions of the same content for each endpoint, we create the right version dynamically as needed through “just-in-time” packaging. This way, there’s no additional storage required and we can easily support new formats as needed.
Dynamic Delivery can help manage the proliferation of delivery formats in the following ways:
- Reduced storage footprint: This is achieved by storing your renditions once and generating downstream formats on-the-fly for delivery as needed.
- Device reach and support: Just-in-time packaging generates renditions based on the device requesting the content, automatically selecting the appropriate packaging and DRM formats. This greatly reduces the cost and effort to accommodate future devices and formats.
Though Dynamic Delivery has greatly reduced the complexity of delivering content using DRM, there some steps to get up and running. First, you’ll need to ask your Brightcove account manager about enabling DRM on your account. If you plan to deliver content to iOS devices (including Apple TV), you will need to obtain a production ready FairPlay Deployment Package from Apple. To request the FairPlay Deployment Package, contact Apple here (you will need an Apple Developer Program account to log in). The package will include the following 4 key pieces of information, which you will need to provide to Brightcove Customer Support:
- CSR (Certificate Signing Request) - a small file with a .csr extension
- ASK (Application Secret Key) - a 128-bit plaintext hex key that Apple provides
- Certificate: Typically a file with a .der or .cer extension.
- Key (Standard Private Key) - stored in a file with a .pem extension.
Even if you’re testing your Fairplay implementation on iOS devices in a Test or QA environment, you will need a production certificate from Apple to ensure successful ingest and playback.
Once your account is set up for DRM, ingest your source file using Dynamic Ingest and specify a Dynamic Delivery-enabled ingest profile as documented here. For example, if your ingest profile included 360@600kbps, 720p@1200kbps and 720p@2000kbps renditions, a single set of 3 fragmented MP4 renditions will be stored. Dynamic Delivery will automatically package these renditions for DRM-enabled endpoints that support the following formats:
- DASH-CENC with Google Widevine Modular or Microsoft PlayReady
- Smooth with Microsoft PlayReady
- HLS with Apple FairPlay
The diagram below illustrates the concept of the single storage format and just-in-time packaging:
Playback testing is required on popular desktop browsers (in most cases natively without browser plugins such as Silverlight & Flash) and any iOS or Android Apps where you need to deliver protected content. If you are using the Brightcove Player and SDKs, make sure you configure your DRM settings as documented here.
Once your account is enabled for DRM, all of your titles will be delivered using DRM protection by default. If you need to make exceptions by delivering some titles in your DRM enabled account without DRM, this can be done by either of the following:
- Set the “drm_disabled” flag to true using Video Cloud CMS API during or after ingest
- In Video Cloud Studio, use the DRM toggle on a title to turn off DRM.
This toggle is only available on accounts enabled for DRM.
We support a variety of policy settings to meet requirements set forth by your content providers. If you have custom settings for license policy restrictions on how your content should be played, speak to your Account Manager for more details.