google / universal-dash-transmuxer

UDT (Dash Transmuxer) Project: Can transmux DASH -> HLS or other formats.
http://www.google.com
Apache License 2.0
54 stars 25 forks source link

DASH to HLS doesn't handle multiple PSSH boxes #2

Closed colde closed 8 years ago

colde commented 9 years ago

When using this as part of the Widevine iOS libraries (and probably for other cases as well) the psshHandler is only called for the first PSSH box. This means that if the first box is an unsupported box for the platform, playback will fail as it will be impossible to setup the CDM components.

Either setting the PSSH handler should accept a UUID identifier for which keysystems to listen to, or it should at the very least call the handler for each of the keysystems present.

So most likely https://github.com/google/universal-dash-transmuxer/blob/master/library/dash_to_hls_api.cc#L223 needs to use FindDeepAll and then iterate over the contents.

justsomeguy-google-com commented 9 years ago

Loke,

You are correct Do you have a CLA?

On Tue, Sep 1, 2015 at 5:45 AM, Loke Dupont notifications@github.com wrote:

When using this as part of the Widevine iOS libraries (and probably for other cases as well) the psshHandler is only called for the first PSSH box. This means that if the first box is an unsupported box for the platform, playback will fail as it will be impossible to setup the CDM components.

Either setting the PSSH handler should accept a UUID identifier for which keysystems to listen to, or it should at the very least call the handler for each of the keysystems present.

So most likely https://github.com/google/universal-dash-transmuxer/blob/master/library/dash_to_hls_api.cc#L223 needs to use FindDeepAll and then iterate over the contents.

— Reply to this email directly or view it on GitHub https://github.com/google/universal-dash-transmuxer/issues/2.

colde commented 9 years ago

@justsomeguy-google-com I don't. I am from a Widevine licensee though, not sure if that covers it.

Also, i am not quite sure how to test with, as it seems to be bundled with Widevine libraries normally.

justsomeguy-google-com commented 9 years ago

It does not. Please fill out a CLA

https://sites.google.com/a/google.com/ospo/creating/google-oss/accepting-contributions https://cla.developers.google.com/about/google-individual https://cla.developers.google.com/about/google-corporate

On Wed, Sep 2, 2015 at 1:35 PM, Loke Dupont notifications@github.com wrote:

@justsomeguy-google-com https://github.com/justsomeguy-google-com I don't. I am from a Widevine licensee though, not sure if that covers it.

— Reply to this email directly or view it on GitHub https://github.com/google/universal-dash-transmuxer/issues/2#issuecomment-137181793 .

colde commented 9 years ago

That first link i think requires a google account.

Actually, i just checked, we did submit a CLA for Xstream A/S to add some contribution to edash-packager. It was sent to cla-submission back in 2014.

bobek commented 9 years ago

:+1:

This problem is blocking as well. And iOS9 is coming and Classic cannot work with AirPlay :( Can we do anything for helping with this ticket?

justsomeguy-google-com commented 9 years ago

If someone has a test I can run, (content with a DRM URL) I can push a fix pretty quick.

On Tue, Sep 8, 2015 at 6:22 AM, Antonin Kral notifications@github.com wrote:

[image: :+1:]

This problem is blocking as well. And iOS9 is coming and Classic cannot work with AirPlay :( Can we do anything for helping with this ticket?

— Reply to this email directly or view it on GitHub https://github.com/google/universal-dash-transmuxer/issues/2#issuecomment-138506559 .

bobek commented 9 years ago

Awesome, you can use the following mpd: http://showmax.akamaized.net/u/3eec06ce-236b-4c17-b925-6fe787943420/5e51323e-1a1a-44e1-a2ae-f0d2d72a3dfc.ism/.mpd

justsomeguy-google-com commented 9 years ago

What should I use for the license url?

On Wed, Sep 9, 2015 at 2:02 AM, Antonin Kral notifications@github.com wrote:

Awesome, you can use the following mpd: http://showmax.akamaized.net/u/3eec06ce-236b-4c17-b925-6fe787943420/5e51323e-1a1a-44e1-a2ae-f0d2d72a3dfc.ism/.mpd

— Reply to this email directly or view it on GitHub https://github.com/google/universal-dash-transmuxer/issues/2#issuecomment-138794971 .

bobek commented 9 years ago

Not sure, why you need a license url. We will not give you license anyway :) I believe, that key is in getting .dash and parsing PSSH included.

justsomeguy-google-com commented 9 years ago

Antonin,

Right, don't need a license url, but I wanted to verify that once I fix something you'd be getting a valid license.

Anyway, got the .mpd, but it appears to use a SegmentTeplate. Can you give me a URL for just the initialization segment?

On Thu, Sep 10, 2015 at 4:17 AM, Antonin Kral notifications@github.com wrote:

Not sure, why you need a license url. We will not give you license anyway :) I believe, that key is in getting .dash and parsing PSSH included.

— Reply to this email directly or view it on GitHub https://github.com/google/universal-dash-transmuxer/issues/2#issuecomment-139163829 .

bobek commented 9 years ago

Sure, let's take other video, so I don't need to dig for the initial chunk:

http://showmax.akamaized.net/u/9b021099-cc3b-4b19-8568-0d133c359181/fcada32c-ea71-423c-9d64-68b62d98bacd.ism/.mpd

http://showmax.akamaized.net/u/9b021099-cc3b-4b19-8568-0d133c359181/fcada32c-ea71-423c-9d64-68b62d98bacd.ism/dash/fcada32c-ea71-423c-9d64-68b62d98bacd-video=802000.dash

colde commented 8 years ago

Have this been fixed, or should i provide a sample?

justsomeguy-google-com commented 8 years ago

I have a patch coming this week that will fix it.

On Tue, Sep 29, 2015 at 5:46 AM, Loke Dupont notifications@github.com wrote:

Have this been fixed, or should i provide a sample?

— Reply to this email directly or view it on GitHub https://github.com/google/universal-dash-transmuxer/issues/2#issuecomment-144008538 .

SeawardT commented 8 years ago

This was resolved. Please let me know if anyone is still experiencing this issue.