videojs / videojs-contrib-eme

Supports Encrypted Media Extensions for playback of encrypted content in Video.js
Other
203 stars 72 forks source link

Dash Playback with Widevine DRM on Chrome #91

Open Dardaxe opened 5 years ago

Dardaxe commented 5 years ago

Hi, I have troubles while trying to playback a Dash source with Widevine DRM on Chrome (It's working on Firefox). Here is a Reduced Test Case.

I'm getting this error in the browser console : image

I've tried to add audioContentType and videoContentType properties but it didn't helped. Here is the encoding settings : image image

Versions

Video.js 7.5.5 (latest)
Videojs-contrib-eme 3.5.4 (latest)

Browsers

Chrome :x:
Opera :x:
Firefox :heavy_check_mark:

OSes

Tried on Windows 10 (Browserstack) and Ubuntu 18.10

misteroneill commented 5 years ago

Is the player in an iframe? If so, you need to allow EME on the iframe: allow="encrypted-media"

That seems to be why the JSBin isn't working, anyway.

Dardaxe commented 5 years ago

Thanks for your answer ! Yes the player is an iframe, I've added "allow=encrypted-media" on production as you suggested. I have a different error now : image

You can check this with this link : https://caelestis.kinow.tv/en/w/documentary/haiyan/video-player.html

AwokeKnowing commented 4 years ago

@Dardaxe I had this error and turned out that it was because I needed to encode mpd with audio and video separate. Ie before that error, you may find 'unable to read media of null'

and reason is because shaka player 'figures out' the audio stream, but videojs eme expects it literally there, so you must reencode the mpd to have separate audio representation.

./packager-linux   \
 in=vid.mp4,stream=audio,output=vid_ae.mp4   \
 in=vid.mp4,stream=video,output=vid_ve.mp4   \
 --enable_widevine_encryption   \
...

it still outputs just one mpd but mpd now has audio section which videojs expects.