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

Clear Key/CDM SAMPLE-AES fMP4 through Widevine #2901

Closed
botengyao opened this issue Jul 17, 2020 · 7 comments
Closed

Clear Key/CDM SAMPLE-AES fMP4 through Widevine #2901

botengyao opened this issue Jul 17, 2020 · 7 comments

Comments

@botengyao
Copy link

botengyao commented Jul 17, 2020

What do you want to do with Hls.js?
I want to use Clear Key to play sample-aes cbcs encrypted video through Widevine. How can I use Clear Key to decrypt that through hls.js? Can you provide an example?

I noticed that we can config a widevineLicenseUrl, but if we use Clear Key do I need to config that? Thanks in advance!

@itsjamie
Copy link
Collaborator

Hello @calmbryan!

At this point, there isn't a clear path (pardon the pun) to use Clear Key with hls.js.

We don't implement the org.w3.clearkey EME checks.

So, if you wanted to implement this yourself, you would need to change the EMEController in hls.js to request key systems for org.w3.clearkey in addition to the Widevine CDM (Content Decryption Module), and then implement the encrypted event handler to do the exchange with the Encrypted Media Extensions API for ClearKey.

The spec for implementation can be found here; https://www.w3.org/TR/encrypted-media/#clear-key

Of course, if you were to implement this, would love a pull request with the implementation!

Sorry, this likely wasn't the news you wanted to hear.

@botengyao
Copy link
Author

Thanks @itsjamie! I will try to make it work in my project at first and then a PR is possible.

@botengyao
Copy link
Author

botengyao commented Jul 28, 2020

Hi @itsjamie, I want to add Clear Key check support in this #2923 , and I also notice a PlayReady PR #1918 and /feature/v1.0.0 branch. I am a little confused about the project plan. Which branch should I merge in? Do we have a clear API config design for the EME usage? Thanks!

@itsjamie
Copy link
Collaborator

The feature/v1.0.0 branch would be the best branch to work from for your PR.

There is not a solidified config for DRM config changes proposed.

I had an alternative approach for v1 that I proposed that has been scratched in favour of maintaining the CDM implementations inside hls.js EME controller.

For ClearKey you should be able to add support to the EME core controller without many top level config changes.

@botengyao
Copy link
Author

Thanks! I will take a look for the related conversation. I am thinking that an overall config proposal is helpful if we add different DRMs.

@stale
Copy link

stale bot commented Aug 19, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the Stale label Aug 19, 2020
@stale
Copy link

stale bot commented Aug 22, 2020

This issue has been automatically closed because it has not had recent activity. If this issue is still valid, please ping a maintainer and ask them to label it accordingly.

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

No branches or pull requests

3 participants