Home > AMLogic, Android, Testing > Test Widevine & PlayReady DRM, HDCP 1.x/2.x, 4K VP9 and H.265 in Android with Exoplayer App

Test Widevine & PlayReady DRM, HDCP 1.x/2.x, 4K VP9 and H.265 in Android with Exoplayer App

I first heard about ExoPlayer in an Android TV Overview presentation at Linaro Connect 2014, but I never really looked into it. The source code is available on Github, and I’ve been given ExoPlayer.apk as it can be used to test UHD H265 support, HDCP 1.x, HDCP 2.x compatibility, PlayReady & Widevine DRM using different format and so on.

ExoPlayer Demo - Click to Enlarge

ExoPlayer Demo – Click to Enlarge

So I installed it on Beelink GT1 Android TV box which I’m currently reviewing, and only include basic Widewine Level 3 DRM, and certainly does not support HDCP features.

There are 9 sections in the app to test various videos and DRM schemes:

  • YouTube Dash
  • Widevine Dash Policy Tests (GTS) – Widewine with or without HDCP, with or without secure video path
  • Widevine HDCP Capabilities Tests – NoHDCP, HDCP 1.0, HDCP 1.1, HDCP 2.0, HDCP 2.1, HDCP 2.2, and HDCP no digital output
  • Widevine Dash MP4, H264 – Various resolution (SD, HD, UHD) for clear or secure videos
  • Widevine Dash WebM, VP9
  • Widevine Dash MP4, H.265
  • SmoothStreaming – Super speed or Super speed (PlayReady)
  • HLS – Apple master playlist, Apple TS media playlist, Apple ID3 metadata, etc…
  • Misc – Various video & audio formats and codecs (MKV, FLV, Google Play videos…)

I tested a few the tests without HDCP nor secure data requirement will work just fine. Widevine secure SD (MP4, H.265) would work fine, but as expect Widevine Secure HD and UHD would not work, and only show a black screen with audio since Level 1 DRM is not supported by my device.

Then I switched to Widewine HDCP 2.2, and to my surprise the video could play… I later found out that HDCP does not kick-in immediately, and if I play the video for a longer time, the video will stop after 9 seconds because Beelink did not get the HDCP 2.2 license for their box.

AFAIC, there’s automatic testing, and each test must be started manually. But it’s still a useful if you are interested in copy protection schemes supported by your Android device.

I’ll complete the post with something unrelated with ExiPlayer, but still interesting to check HDCP support if you own an Amlogic device, as there are some commands to check the status of HDCP:

  • Show whether the TV is currently working with HDCP 2.x or HDCP 1.x:


22 = HDCP2, 11 = HDCP1, off = HDCP not enabled right now

  • Check HDCP authentication status:


1=authenticated ok, 0 = failed to authenticate.

  • HDCP keys for device


00 = no HDCP key, 14 = has HDCP1_key, 22 = has HDCP2_key

  • Check TV HDCP version


22 = TV supports HDCP2, 14 = TV supports HDCP1)

  • Disable HDCP protection:

  1. Steve
    October 21st, 2016 at 18:55 | #1

    Think Exoplayer came bundled on my Poplar TV dev board.

  2. Chris
    October 21st, 2016 at 21:26 | #2

    Amlogic has support for HDCP but it appears to require that the box be encrypted and locked down. Most people seem to rather want a hackable box instead.

  1. No trackbacks yet.