Skip to content
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

Frame drop? #15

Closed
julienkosinski opened this issue Jun 17, 2018 · 6 comments
Closed

Frame drop? #15

julienkosinski opened this issue Jun 17, 2018 · 6 comments

Comments

@julienkosinski
Copy link

Hello,

Thanks for the incredible pluggin! :)
I'm watching Lost In Space in Chrome in 1080p and I'm experiencing multiple visible dropped frames. Buffering is correct though.

I don't experience this kind of thing in Edge or Netflix Windows 10 app in 1080p.

Is there something fixable?

Thank you very much again for the wonderful stuff! :)

@Qasimehdi
Copy link

Have you tried turning on Hardware Acceleration in Chrome Advanced settings?

@julienkosinski
Copy link
Author

julienkosinski commented Jun 17, 2018

@Qasimehdi Thanks, but I did not disabled Hardware Acceleration and this is enabled by default.
I remembered that I used deprecated tips for a problem I had (the --force-wave-audio on shortcut of Chrome). I deleted that and it seems better now. I'm gonna test a bit more before closing :).

EDIT: Sorry, I still have multiple frames drops...

@truedread
Copy link
Owner

Honestly there's no way around this. Netflix uses Widevine DRM on Chrome, and with the license policy they have set (SW_SECURE_DECODE), the Widevine library decodes the frames rather than the CPU/GPU decoding the frames. As such, the frames are decoded without any sort of hardware acceleration, meaning on lower end computers, there will be frame drops. This is actually the reason Netflix only lets ChromeOS play 1080p with Chrome, because ChromeOS has hardware Widevine DRM, meaning Widevine can actually decode the frames through hardware acceleration, and as such there would be no frame drops. The reason Edge / Windows 10 Netflix app doesn't drop frames is because those two use Playready for the streaming DRM, and since Playready is baked into Windows 10, I wouldn't be surprised if it found a way to take advantage of hardware accelerated decoding while still being secure.

TL;DR: Can't do anything about it. Blame DRM.

@natumbri
Copy link

Isn't the problem with the Widevine CDM implementation, rather than Netflix's license policy?

Isn't it the case that Netflix uses SW_SECURE_CRYPTO robustness in its DRM certificate, and at this security level, the CDM is allowed to use hardware decoding after decryption? But the Widevine CDM used by Chrome and Firefox maps the 5 robustness levels available under the standard effectively to a subset of only 3 of those levels:

EME robustness Widevine Implementation
SW_SECURE_CRYPTO (CDM only decrypts) SW_SECURE_DECODE (CDM decrypts and decodes)
SW_SECURE_DECODE SW_SECURE_DECODE
HW_SECURE_CRYPTO HW_SECURE_CRYPTO
HW_SECURE_DECODE HW_SECURE_ALL
HW_SECURE_ALL HW_SECURE_ALL

On the other hand, the PlayReady (Microsoft IE/Edge) and FairPlay (Apple Safari) CDM implementations support SW_SECURE_CRYPTO and therefore allow external hardware decoding after CDM decryption?

@tobeorla
Copy link

tobeorla commented Feb 14, 2019

@truedread small question: How do i check on a provider which protection level/license policy/robustness has set?
I tried using chrome://media-internals/ and checking the mpd manifest, but i only see cenc references, no SW_SECURE_CRYPTO , HW_SECURE_CRYPTO ,... : s

@ghost
Copy link

ghost commented Jul 25, 2019

@natumbri @tobeorla Netflix actually enforces SW_SECURE_DECODE in its license policy. You can use this userscript to check: https://greasyfork.org/en/scripts/373903-eme-logger. After installing, open the developer console (F12) and go to the Console tab.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants