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

Pre-fetching DRM licenses for current and future content #1417

Open
Florent-Bouisset opened this issue Mar 28, 2024 · 0 comments
Open

Pre-fetching DRM licenses for current and future content #1417

Florent-Bouisset opened this issue Mar 28, 2024 · 0 comments
Labels
DRM Relative to DRM (EncryptedMediaExtensions) enhancement This is a new feature and/or behavior which brings an improvement to the RxPlayer

Comments

@Florent-Bouisset
Copy link
Collaborator

Description:

When playing encrypted content, the player has to obtain a DRM license to decipher the media.
When a numerous amount of viewers are consuming the same live content, there can be situations when they will all request a DRM server at the same time to obtain the license for the content, it will create what we call a "synchronization effect". This will put a significant load on the server over a short period of time.

The identified situations where a "synchronization effect" can occurs are the following:

1 - The live content is protected with a key rotation mechanism that renew the DRM keys after some time. Because the keys has been renewed, the key informations in the manifest has changed, all clients will receive the new manifest with the keys updated at the same time, and they will all request for a new license.

2 - The content is protected with different keys for each track (it can be for security reasons). Suddenly one media track become unavailable (this could be for various reason, but one realistic example is that the CDN providing the tracks is suffering from a bandwidth congestion and is limiting the send of very high qualities and just changed it's policy to only provides lower qualities). All clients that were currently playing the highest quality will drop in quality and will play a new track, which is encrypted differently, so all those clients has to perform a license request.

In those situations, the DRM servers will receive an important amount of requests in a short time, and may not be able to responds to all clients in an acceptable time.
The idea of this proposition is to provide a feature to pre-fetch the DRM license before it's actually needed so it helps smooth out over time the amount of license request sent to the DRM server.

Requirements:

@Florent-Bouisset Florent-Bouisset added enhancement This is a new feature and/or behavior which brings an improvement to the RxPlayer DRM Relative to DRM (EncryptedMediaExtensions) labels Mar 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DRM Relative to DRM (EncryptedMediaExtensions) enhancement This is a new feature and/or behavior which brings an improvement to the RxPlayer
Projects
None yet
Development

No branches or pull requests

1 participant