how to know if dash content is AES-128 CTR or CBR encrypted stream

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

how to know if dash content is AES-128 CTR or CBR encrypted stream

Sanjay Gupta
I would like to know if this content is AES 128-bits CTR encrypted stream or ES 128-bits CBC encrypted stream.

I saw that latest QT demux is printing this information in following change list: ES 128-bits CBC encrypted stream:

qtdemux: PIFF box detection and parsing support

https://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/gst/isomp4/qtdemux.c?id=fd7964e7462544a0c120ebf1d4c8e4b0174a1518


But when I am trying to play the above dash content, function which prints CTR or CBC information in QTDemux is not executed?

Can someone please suggest how to get this information?

Thanks & Regards,
Sanjay

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: how to know if dash content is AES-128 CTR or CBR encrypted stream

Sebastian Dröge-3
On Mon, 2016-10-24 at 08:56 +0530, Sanjay Gupta wrote:

> Hi,
> I have a encrypted dash content which I got from dashif.org:
> http://dash.edgesuite.net/dash264/TestCases/6b/microsoft/CENC_HD_Time
> /CENC_HD_time_MPD.mpd
>
> I would like to know if this content is AES 128-bits CTR encrypted
> stream or ES 128-bits CBC encrypted stream.
>
> I saw that latest QT demux is printing this information in following
> change list: ES 128-bits CBC encrypted stream:
>
> qtdemux: PIFF box detection and parsing support
> https://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/gst/is
> omp4/qtdemux.c?id=fd7964e7462544a0c120ebf1d4c8e4b0174a1518
>
> But when I am trying to play the above dash content, function which
> prints CTR or CBC information in QTDemux is not executed?
>
> Can someone please suggest how to get this information?
This stream seems to contain this information in the MPD, and we
currently don't parse the mspr tag from there and also don't pass it
downstream. That's probably what is needed here.

It also does not have the piff atom inside the MP4 container, so that's
why the code you linked above is not called.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (949 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: how to know if dash content is AES-128 CTR or CBR encrypted stream

Sanjay Gupta
Hi Sebastian,
PSSH Information inside the mspr tag in MPD is also contain in TENC atom and we are receiving this information in GST_EVENT_PROTECTION from qtdemux.

Your 2nd point seems to be a valid point for this problem. This content may not have PIFF atom inside MP4 container that's why piece of code I mentioned in qtdemux may not be executing. I will check on this.

Since this dash link is Playready encrypted Dash content, PIFF atom is valid for this use case? 
If yes, do you know any PlayReady encrypted Dash content which has PIFF atom with this encryption scheme information? 

Thanks a lot for help.

Thanks & Regards,
Sanjay

On Mon, Oct 24, 2016 at 12:20 PM, Sebastian Dröge <[hidden email]> wrote:
On Mon, 2016-10-24 at 08:56 +0530, Sanjay Gupta wrote:
> Hi,
> I have a encrypted dash content which I got from dashif.org:
> http://dash.edgesuite.net/dash264/TestCases/6b/microsoft/CENC_HD_Time
> /CENC_HD_time_MPD.mpd
>
> I would like to know if this content is AES 128-bits CTR encrypted
> stream or ES 128-bits CBC encrypted stream.
>
> I saw that latest QT demux is printing this information in following
> change list: ES 128-bits CBC encrypted stream:
>
> qtdemux: PIFF box detection and parsing support
> https://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/gst/is
> omp4/qtdemux.c?id=fd7964e7462544a0c120ebf1d4c8e4b0174a1518
>
> But when I am trying to play the above dash content, function which
> prints CTR or CBC information in QTDemux is not executed?
>
> Can someone please suggest how to get this information?

This stream seems to contain this information in the MPD, and we
currently don't parse the mspr tag from there and also don't pass it
downstream. That's probably what is needed here.

It also does not have the piff atom inside the MP4 container, so that's
why the code you linked above is not called.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: how to know if dash content is AES-128 CTR or CBR encrypted stream

Sebastian Dröge-3
On Mon, 2016-11-07 at 18:01 +0530, Sanjay Gupta wrote:

> Hi Sebastian,
> PSSH Information inside the mspr tag in MPD is also contain in TENC
> atom and we are receiving this information in GST_EVENT_PROTECTION
> from qtdemux.
>
> Your 2nd point seems to be a valid point for this problem. This
> content may not have PIFF atom inside MP4 container that's why piece
> of code I mentioned in qtdemux may not be executing. I will check on
> this.
>
> Since this dash link is Playready encrypted Dash content, PIFF atom
> is valid for this use case? 
No as it does not contain one, as explained before you need to parse
this information from the Manifest.

In the meantime, a patch for that landed though:
http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=dd0c56b4a2a506bdb2168441c18b791bc1369fb1

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (949 bytes) Download Attachment