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 [Update April 2020: Exoplayer binary is now available on Apkpure] 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:

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
5 Comments
oldest
newest
Steve
Steve
7 years ago

Think Exoplayer came bundled on my Poplar TV dev board.

Chris
Chris
7 years ago

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.

kilzo
kilzo
5 years ago

if i pick HDCP 2.2 and video stop afer its mean the tv or monitor dose not support HDCP 2.2 ?

Rocky
Rocky
3 years ago

I can’t download the apk file being mentioned in the link https://download.cnx-software.com/index.php/s/9uPAZwCN3caWrIV .Will it be possible to fix that link?

Khadas VIM4 SBC