videojs / videojs-contrib-eme

Supports Encrypted Media Extensions for playback of encrypted content in Video.js
Other
205 stars 72 forks source link

Request to detect "com.microsoft.playready.recommendation" key system #167

Open rtkac opened 2 years ago

rtkac commented 2 years ago

Hi,

there is a key system com.microsoft.playready.recommendation recommended by Edge. Is there any planned support?

Or do you have any information?

Thanks! :)

gkatsev commented 2 years ago

Sounds like something that should be added. Unfortunately, I don't think anyone on the team likely has the bandwidth to tackle it currently.

https://github.com/shaka-project/shaka-player/issues/1495 had an interesting discussion on potentially using this if available even if users use com.microsoft.playready. Though, seems like it doesn't do it by default, but there's a config for it (keySystemsMapping)

benesva4 commented 2 years ago

Hey, @gkatsev.

I'd like to make a PR to enable com.microsoft.playready.recommendation in videojs-contrib-eme. I came up with two possible ways this could be implemented.

The first and easier way would be to simply add support for recognition of the .recommendation keysystem to the existing conditions for playready. Since the keysystem behaves almost identically essentially the playready conditions would change to recognize both playready + playready.recommendation. Function getSupportedKeySystem is then dependant on the name of the key system so there shouldn't be any changes needed there.

The other possibility would be making some kind of smarter logic that would try to use the .recommendation automatically even if it's not specified in the config options of the player. E.g. the player is configured with vanilla playready and the contrib-eme would try to use the .recommendation playready version first and would fallback to vanilla playready afterwards if the .recommendation is not usable/supported by the os/browser. From what I've seen, this is the way they implemented the recommendation playready version in the shaka player.

benesva4 commented 2 years ago

I opened PR with the simple solution. https://github.com/videojs/videojs-contrib-eme/pull/171

BucherTomas commented 1 year ago

As per https://learn.microsoft.com/en-us/playready/overview/key-system-strings#available-key-system-strings , this is becoming a hot topic, because Microsoft is seemingly planning to get rid of legacy com.microsoft.playready completely in Edge browser and just com.microsoft.playready.recommendation and com.microsoft.playready.recommendation.3000 will remain.

This means that videojs-based players might very likely stop working in Edge with PlayReady content unless these key systems are supported.

The urgency for this task is therefore unfortunately increasing.

misteroneill commented 1 year ago

Yep, this is on the radar.

BucherTomas commented 11 months ago

@misteroneill Can you please guess when you might find the time for this?