dash.js – License acquisition for multiple EME versions

Http Live Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (MPEG-DASH) are the two main formats for adaptive streaming. While HLS is natively supported on most of its target platforms (iOS and MacOSX), we need external players for MPEG-DASH. For browser based environments there are two great open-source options, namely shaka-player and dash.js.  Both are written in JavaScript […]

Read More →
DASH at Amazon: Analyzing the Prime Video settings

Aside from Netflix, Amazon Prime Video is one of the biggest players in the streaming market. In contrast to Netflix they do not use the Web Crypto API to encrypt communication between the client and the backend. Hence, it is possible to sniff the DASH manifests and take a deeper to look at them. Specific […]

Read More →
Determine the DRM security level with the Encrypted Media Extensions

In the previous blog post I explained why the security level of a DRM system has a crucial influence on the type of content any device is allowed to play. In order to check the underlying security level in a browser based environment, the Encrypted Media Extensions (EME) provides the required function. However, it can be […]

Read More →
Enabling Widevine L1 on Android Chrome using Encrypted Media Extensions

The Media Source Extensions (MSE) and Encrypted Media Extensions (EME) are the two APIs that enable playback of DRM protected adaptive streaming content in the browser. Both are supported in all four major browsers, namely Chrome, Firefox, Edge and Safari. Quite recently Google announced that Android devices support a Widevine DRM with security level 1 directly […]

Read More →