Closed bansalvks closed 2 years ago
👋 Thanks for opening your first issue here! 👋
If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can. To help make it easier for us to investigate your issue, please follow the contributing guidelines.
Would you be able to provide an example video for us to debug? If the source can't be shared with the public please post in the video.js slack and we can help you there
Same here. (But my proxy works w\o 400 errors) No log errors, no video. videojs 7.2.3, videojs-contrib-eme 3.4.1.
Would you be able to provide an example video for us to debug? If the source can't be shared with the public please post in the video.js slack and we can help you there
@forbesjo Pardon me for a late reply.
As the token has a very short life span it would be use less to provide the source. If it is possible for you to provide me a time(with timezone) with your slack Id, I will send you the source at that particular time.
Here is a screen shot of error:
@vksbansal temporary solution, works for me: downgrade video.js to 6.12.1, install videojs-contrib-dash (dash included eme service), see dash manual.
@Kogoruhn many thanks for the response.
Yes I have tried it and its working. However I will have to include 2 more libs for this videojs-contrib-dash and dash.js
which obviously increasing the size of page.
Is it not possible for videojs-http-streaming (VHS)
to add .dash (dash-if) support?
I'm working on a feature that needs to reset the source after playing a different source. the keysystem config is there. But for some reason it hangs. No playback
player.src(player.currentSources());
never mind sorry this works
if (player.eme) {
player.eme.activeSrc = null;
}
player.src(player.currentSources());
A warm good morning to you @Kogoruhn and @forbesjo I am taking follow up regarding this issue. it has been 16 days since the ticket has marked as a bug. Just need to confirm if this issue will be fixed in the coming release?
many thanks, vikas bansal
I have a fresh checkout of the eme plugin, with the sources of video.js. It is working with that wierd configuration requirement above.
"system code (13)" is sometimes seen when the license is invalid. Are you able to check you server's response to ensure it's returning just a license (and not JSON or some other response)?
Hi @gesinger ,
I am currently experiencing this issue, My license server returns a json response containing the license. So, trying to overcome this poblem, I have implemented a getLicense logic to fetch the license and access the json object to get the license. The license comes as a string, but the plugin requests an ArrayBuffer; so what I am doing is encoding the license string using the TextEncoder API.
Even doing this, i got the: VIDEOJS: ERROR: failed to get and set license TypeError: Failed to execute 'update' on 'MediaKeySession': Rejected with system code (13)
Any thoughts of what could be the problem?
Here is the code i am doing:
getLicense: function(emeOptions, keyMessage, callback) {
// request license
fetch('http://localhost:8080/license-widevine/', {
method: "POST",
headers: {
"Content-type": "application/octet-stream"
},
body: keyMessage
})
.then(response => {
if(!response.ok)
throw response;
return response
})
.then(response => response.json())
.then(data => {
callback(null, new TextEncoder().encode(data.license));
})
.catch(err => {
callback(err);
});
}
@luiscerqueira - did you solve this problem ? we are facing the same issue.
yeah, we are also facing the same issue.
Unfortunately, due to the nature of DRM, it's almost impossible for us to help out with a live test page. Widevine does work with DASH in Video.js. See https://videojs-http-streaming.netlify.app/?debug=false&autoplay=false&muted=false&fluid=false&minified=false&sync-workers=false&liveui=true&llhls=false&url=https%3A%2F%2Fstorage.googleapis.com%2Fshaka-demo-assets%2Fangel-one-widevine%2Fdash.mpd&type=application%2Fdash%2Bxml&keysystems=%7B%0A%20%20%22com.widevine.alpha%22%3A%20%22https%3A%2F%2Fcwip-shaka-proxy.appspot.com%2Fno_auth%22%0A%7D&buffer-water=false&exact-manifest-timings=false&pixel-diff-selector=false&network-info=false&override-native=true&preload=auto&mirror-source=true for an example. Also, make sure you're on a recent version of Video.js and videojs-contrib-eme.
If you're still facing an issue, please open a new issue with as much detail as possible. If you aren't able to share your test page publicly, you can find someone to help out privately on our slack (https://videojs-slack.herokuapp.com/).
Please do not delete the template, by filling out the required information we can investigate your issue more quickly.
Before opening an issue see if your problem can be resolved with the troubleshooting guide.
Description
Briefly describe the issue. Unable to play Dash with Widevine DRM
Steps to reproduce
Explain in detail the exact steps necessary to reproduce the issue.
Results
Expected
The stream should have been played
Error output
VIDEOJS: ERROR: failed to get and set license TypeError: Failed to execute 'update' on 'MediaKeySession': Rejected with system code (13)
videojs-http-streaming version
what version of videojs-http-streaming does this occur with? videojs-http-streaming 1.3.0
videojs version
what version of videojs does this occur with? video.js 7.2
Browsers
what browsers are affected? please include browser and version for each
Platforms
what platforms are affected? please include operating system and version or device and version for each *
Other Plugins
are any other videojs plugins being used on the page? If so, please list them with version below.
Other JavaScript
are you using any other javascript libraries or frameworks on the page? if so please list them below.