javascripthtml5-videodrmmpeg-dashhdcp

HTML5 Video DRM - detect HDCP (output protection) then downgrade to SD content?


I'm trying to determine what the best practices are for downgrading to SD content when a HDCP policy prevents HD content from playing.

  1. What's best way to detect for HDCP capabilities through web browser playback?

  2. What are the appropriate steps for downgrading?

I found a few flash threads that suggest playing a test asset before every initial play attempt with HDCP enabled to see if it plays or returns an Output-Protection error which would require you to clean up the test asset then setup the real content for playback.

Looks like another previous solution we had for our flash player was to attempt to play the HD content and if it got an Output-Protection error we attempt to get an SD only manifest. Reported a failed attempt for the initial playback.

Neither seem very clean to me which is why I'm curious if anyone else has experience with this...


Solution

  • At the moment the way you describe is the most common approach AFAIK.

    The problems you highlight are recognised and are being discussed by some in the W3C standards worlds, specifically in the Encrypted Media Extension discussions (EME), the standard that deals with the interface between a browser and encrypted media: