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

DRM Utilities - Support for mapping of EME Key Ids to manifest Key Ids #122

Open
dsilhavy opened this issue Dec 22, 2024 · 1 comment
Open

Comments

@dsilhavy
Copy link

Description

A DASH manifest contains a cenc:default_KID that represents the default_KID field of the tenc box as a UUID string. As an example:

<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011"
value="cenc" cenc:default_KID=”34e5db32-8625-47cd-ba06-68fca0655a72”/>

Once a valid license has been fetched by a media player the keystatuseschange event is triggered by the EME. The payload of the event contains a MediaKeyStatusMap. Using this event a media player can determine whether a certain AdaptationSet with specificcenc:default_KID can be played or not. The key IDs that are returned by the EME event are in ArrayBuffer format:

[
    {
        "status": "usable",
        "keyId": Arraybuffer(16)
    }
]

Implementation

The implementation should provide a mapping of key Ids in Arraybuffer format to key Ids in UUID format. This allows a media player to ignore certain tracks/AdaptationSets that have an unssuported key (e.g. key status is set to output-restricted because of HDCP). It should account for different DRM systems such as Playready and Widevine. Moreover, it would be nice to check the conversion on different platforms such as Set-Top boxes and SmartTVs.

@dsparacio
Copy link

Thanks for this @dsilhavy - We may start to port the DRM stuff this next sprint internally. Seeing what capacity we have for that today.

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

2 participants