-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Provided Chrome browser does not support DRM (widevine) #2098
Comments
@jennifer-shehane Did you have a chance to look at this? DRM is critical for us in our testing. |
@jennifer-shehane We would appreciate some feedback, will this ticket be investigated anytime soon? As mentioned above, playback of DRM content is critical for us. So far we have started writing tests for other functions of our application, but at some point of time we will need the DRM playback to work. If the DRM support will continue to be missing in cypress, any test writing efforts will be of waste and we will be forced to use another tool. |
Hello @jennifer-shehane ! I'm lead developer for the web player of myCANAL and it would be awesome to have the DRM support in Cypress ! We just encountered the issue and we would be so disappointed to use another solution just because of that :( Thanks for your feedback ! You have an awesome product ! |
"Nice" to hear that we are not the only ones suffering from this issue, let's hope it helps to put prio on the investigation. |
We are investigating if we can use |
I've looked into this issue a bit. Sorry, this is a bit of a brain dump. I think the takeaway is that the solution will not be an easy fix. Here are the failing tests that should pass when DRM is supported correctly: it('DRM test 1', () => {
cy.visit('https://bitmovin.com/demos/drm')
cy.contains('No DRM').should('not.exist')
})
Castlabs has a fork of electron that provides VPM support which they seem to have no intention at the moment of pushing back upstream to Electron due to some closed source code. For production use of the Castlabs fork, a license agreement with Google Widevine is needed to get production certificates for re-signing the final package - this requires filling out a 'Contact Us' form on the widevine site and seems to take a while to hear back from. Visiting Visiting Resources:
|
@jennifer-shehane Sorry for my slow response here. Do you think it is sufficient to to get a VPM compatible electron setup to get DRM support? |
What about firefox? It could be a workaround but it fails too, it tries to install components and never ends |
Cypress passes '--disable-component-update' to Chrome on startup. I think that this prevents Widevine from being installed. Try filtering it out in the plugin file: module.exports = (on, config) => {
on('before:browser:launch', (browser = {}, launchOptions) => {
if (browser.family === 'chromium' && browser.name !== 'electron') {
launchOptions.args = launchOptions.args.filter(arg => arg !== '--disable-component-update')
console.log('Chrome launch args:', launchOptions.args) // print all args
return launchOptions
}
})
} Note: this still won't work in headless mode, Chrome --headless doesn't support Widevine: https://bugs.chromium.org/p/chromium/issues/detail?id=788662 |
Any updates? We can play videos in chrome, but we will also need drm support for firefox browser. |
Hi Veronica, you could mock the service and use clear content. |
Hey. Any updates about this issue? I faced it recently in my project and it looks like there is no solution yet :/ |
There is the workaround by flotwig if that helps. |
Hi @flotwig @jennifer-shehane - having issues with DRM in firefox, the workaround that @flotwig mentioned for Chrome helped fix the widevine issue for Chrome, but looks like the Browser settings for Firefox in Cypress Test Runner also incur issues installing widevine components, do you know if there is a browser setting for Firefox that will disable this? |
@flotwig @jennifer-shehane following up here, I tried looking into firefox settings but to no avail, was wondering if you knew of any workarounds for this |
I fixed this by adding the following code at plugins/index.js
But suddenly it stopped working again. Someone knows what happened? |
Did u fixxed it? |
Current behavior:
When we try to play a DRM protected video in the chrome browser provided by cypress, our video player throws a error (
drm/widevine is not supported
). The same video in ordinary chrome plays well.Desired behavior:
The video plays well in the browser
Steps to reproduce:
Big buck Bunny > MPEG-DASH > DRM (video should start playing)
We have tried to set
chromeWebSecurity: false
, but it did not help. A friend of mine is saying that this is most likely caused by the fact that the site is running in a iframe in the cypress chrome browser, so it might have something to do with security in iframes etc.Versions
Cypress 3.0.1
Chrome 67
The text was updated successfully, but these errors were encountered: