Web Analytics

Technically Impossible

Lets look at the weak link in your statement. Anything "Technically Impossible" basically means we haven't figured out how yet.

DRM review Ver 1.1 - Android application providing information about DRM (Widevine)、HDCP, etc



DRM review provides information about

  • DRM system
  • HDCP (High bandwidth Digital Content Protection)*2
  • Security level at content level
    • MP4 and WebM

The application provides an explanation what these information mean. This post complements these explanations not enough conveyed in the application.


DRM review is distributed at GitHub, not Google Play.

To install, click the hyperlink to the apk file at GitHub, and download it. Android will ask approval for installation at that time. User can directly install it with approval, or download it once and install later.


Widevine and TEE

Security level at DRM system level is not constant. It means what device is TEE (Trusted Executone Environment)*3 at present. And it ultimately depends on Google in Widevine case.

A major brand device will be defined as L1 at this moment. And few years later, after ending OS update support, it may be demoted from L1. Actually, such operation is in place now.

Widevine L1、L2、L3

Widevine security level of Android device is usually L1 or L3. In effect, L1 is TEE, and it means that a device satisfies requirements for content protection. And devices other than L1 and L2 are defined as L3.

L2 is the level considered content processing across multiple devices. Content is not always played on a device download it. Content may be streamed to Android device, it output to external devices as TV or projector. In such assumption,

  1. content is decrypted at Android, but processed at an external device
  2. content is decrypted and processed at Android
    • content is mirrored to an external device

Especially in the former case, if an external device is not TEE, security level will be L2. And this is the one reason why some content providers don't support such relayed play or stream content in low quality format.
And one more factor relate it is HDCP.


HDCP is a factor that affects all devices in the path where content is relayed. In case of desktop PC,

  1. content in PC is output from a video board
  2. content output is transmitted through a cable
  3. transmitted content is input to a monitor

HDCP affects all these equipment (video board, cable and monitor). And HDCP at certain level is requested, all these devices must satisfy it.

DRM review checks HDCP at a level of device and transmission path. The next image indicates "6 / 2147483647" at HDCP LEVEL. It means

HDCP level at device level 6 HDCP version 2.3 Type 1 is supported
HDCP level at transmission path 2147483647 no digital output

This result is from Microsoft Surface Duo. This device supports Miracast*4 to Windows PC. Although HDCP affects Miracast, this image shows interesting result.

This image is captured at Windows PC with playing YouTube content on Surface Duo with established Miracast connection. As mentioned at explanation of L2 security level, this condition is that content is decrypted and processed at Android device. Windows PC just mirrors the screen of Surface Duo, and YouTube content is neither streamed nor processed there. In this condition, HDCP is defined as "No digital output".

Security at content level

Security level is defined at content level. DRM review supports next content format.

  • MP4
  • WebM*5

MP4 is de-facto standard and WebM is the format Google made. And Widevine, DRM system Google made supports both. But generally, DRM system may behave differently on online video format.

This part shows whether DRM key management and series of content processing is software-based or hardware-based.
The next image is the result at the emulator on Android Studio. It indicates that content on emulator is processed in software-based because emulator doesn't have hardware.