videojs / videojs-contrib-dash

Video.js plugin for supporting the MPEG-DASH playback through a video.js player
https://videojs.github.io/videojs-contrib-dash/
Apache License 2.0
293 stars 128 forks source link

How can we check the drm capabilities of the browser using videojs-contrib-dash #360

Open krackjack234 opened 3 years ago

krackjack234 commented 3 years ago

Description

We want to check if a particular device/browser support Widevine L1 license

Steps to reproduce

Explain in detail the exact steps necessary to reproduce the issue.

  1. Load player
  2. Load only those tracks which are having L3 license if the device only supports L3
  3. Filter out all unsupported tracks

Results

Expected

Player should only list the tracks supported by the platform. For e.g. if there are 1080P tracks encrypted with Widevine L1 license, then player should filter out that track on browsers which does not support Widevine L1 license

Actual

Player lists all available tracks including ones encrypted with Widevine L1 license but on selection fails to play the track

Error output

No error is seen only audio and video playback stops

versions

videojs

what version of videojs does this occur with? latest

browsers

1080p track with L1 widevine license is not playing in chrome browser but plays on Tizen TV models

OSes

what platforms (operating systems and devices) are affected? Chrome

plugins

videojs-contrib-dash

Question

Is there any way we can detect the drm capabilities of the browser/device and then limit the bitrate/resolution so that player does not try to play the unsupported tracks?

AkashYadav00 commented 1 year ago

This can be done using videojs-contrib-eme There is a script present which can check whether browser supports widevine, playready etc. But I guess it cannot check L1 or L3.