google / ExoPlayer

This project is deprecated and stale. The latest ExoPlayer code is available in https://github.com/androidx/media
https://developer.android.com/media/media3/exoplayer
Apache License 2.0
21.72k stars 6.03k forks source link

DASH: Support multi-period dash where periods have different DRM schemes #2885

Open mofneko opened 7 years ago

mofneko commented 7 years ago

Is ExoPlayer planning to support the playback of video that switches multiple DRMs for one DASH stream in the future? In order to solve such a problem, it turned out that it was necessary to change the existing ExoPlayer and recreate the movie player according to the DRM change. Otherwise, the video will stop playing the moment ClearKey is changed to Widevine. I confirmed that there is a key. An error occurs in dequeue buffering.

However, with this fix, the current ExoPlayer is device specific, but the problem reported here occurs. https://github.com/google/ExoPlayer/issues/2884

Please let me know if there is the best method other than regenerating the player instance. If our implementation (problem content branch URL) is correct, we have created a PR to promote public support. https://github.com/google/ExoPlayer/pull/2918

Please confirm it Thank you.

ojw28 commented 7 years ago

Provided the change in DRM scheme corresponds to the start of a new Period, then yes, this is something we intend to add support for. We don't support it currently. Marking this as an enhancement for tracking.

TakuSemba commented 5 years ago

@ojw28

Does ExoPlayer support this now? I want to play dash streams where both clearkey and widevine exists.

Please let me know if there is any way to archive that.

AquilesCanta commented 5 years ago

Not yet supported. We are actively working on it.

Aside, I don't think it's in our plans to support MediaSources that present changing DRM schemes.

TakuSemba commented 5 years ago

Not yet supported. We are actively working on it.

Thanks, glad to hear that. Is there any chance of coming up in the next version of 2.10.0???

ojw28 commented 5 years ago

Coming back to this issue: What's the actual use case? It seems quite odd that the same DASH manifest would include multiple DRM schemes (it seems less odd that the same DASH manifest would contain a mixture of clear and encrypted periods, where all encrypted periods use the same scheme).

mofneko commented 5 years ago

To give one example, there is a video service that does not have a media file end point like TV. The content contracted with the content provider of the video is different from the content protected by DRM, and as a result, multiple DRM schemes are delivered in one stream.

ojw28 commented 5 years ago

I guess I just don't really see it as likely that the DRM scheme would actually be different, in practice. Isn't pretty much all protected content delivered to Android devices going to use Widevine? The majority of Android devices don't support PlayReady, and I've not heard of any major streaming providers using ClearKey (my understanding is that it doesn't offer the same level of protection).

mofneko commented 5 years ago

I also understand the difference between clearkey and widevine protection levels. In fact, works that do not have content protection specified in the contract between the content provider and our content broadcaster are trying to reduce costs in exchange for DRM protection levels.

lucianogrippa commented 1 year ago

Any new about this issue ? is low priority from Dec 22, 2019!! when do you plan to implements this?

ishansingh2003 commented 1 year ago

Hi All, My use-case is I am trying to do server side ad insertion using AWS mediapackager . But I see that the mediasource for live needs to be wraped in ClippingMediaSource, which supports only single period streams.

So I need to know what's the alternative as my .mpd files become multiperiod once the ads are ingested.