DCP Streaming

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

DCP Streaming

boxerab@gmail.com
Hello Everyone,

I would like to stream a digital cinema package (DCP) via gstreamer to VLC viewer.

DCP is a package containing compressed video (JPEG 2000), audio (WAV containing uncompressed PCM)
and meta-data such as subtitles.

https://en.wikipedia.org/wiki/Digital_Cinema_Initiatives

Currently, there is no open source player for DCPs.
So, my idea is to decompress and transcode the DCP to another format, then stream to VLC for viewing.

I have some time to build a gstreamer DCP source : any advice on the best way to go about designing this
would be greatly appreciated.

By the way, there is an open source library, asdcplib (http://www.cinecert.com/asdcplib/) that can be used
to read the DCPs. It uses OpenSSL, but I have an (untested) port to work with the nettle library.

Thanks,
Aaron






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

Re: DCP Streaming

Sebastian Dröge-3
On Do, 2016-09-22 at 10:25 -0400, Aaron Boxer wrote:

> Hello Everyone,
>
> I would like to stream a digital cinema package (DCP) via gstreamer
> to VLC viewer.
>
> DCP is a package containing compressed video (JPEG 2000), audio (WAV
> containing uncompressed PCM) and meta-data such as subtitles.
>
> https://en.wikipedia.org/wiki/Digital_Cinema_Initiatives
>
> Currently, there is no open source player for DCPs.
> So, my idea is to decompress and transcode the DCP to another format,
> then stream to VLC for viewing.
>
> I have some time to build a gstreamer DCP source : any advice on the
> best way to go about designing this would be greatly appreciated.
What exactly is it, a container format of some sort or a streaming
protocol? Is there any specification for it available?

What kind of advice are you looking for, do you have any specific
questions or ...? :)

--
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 (985 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: DCP Streaming

Sebastian Dröge-3
On Do, 2016-09-22 at 15:40 -0400, Sebastian Dröge wrote:

> On Do, 2016-09-22 at 10:25 -0400, Aaron Boxer wrote:
> >
> > Hello Everyone,
> >
> > I would like to stream a digital cinema package (DCP) via gstreamer
> > to VLC viewer.
> >
> > DCP is a package containing compressed video (JPEG 2000), audio (WAV
> > containing uncompressed PCM) and meta-data such as subtitles.
> >
> > https://en.wikipedia.org/wiki/Digital_Cinema_Initiatives
> >
> > Currently, there is no open source player for DCPs.
> > So, my idea is to decompress and transcode the DCP to another format,
> > then stream to VLC for viewing.
> >
> > I have some time to build a gstreamer DCP source : any advice on the
> > best way to go about designing this would be greatly appreciated.
>
> What exactly is it, a container format of some sort or a streaming
> protocol? Is there any specification for it available?
Also if it's a streaming protocol, what technologies is it based on?

--
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 (985 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: DCP Streaming

boxerab@gmail.com


On Thu, Sep 22, 2016 at 3:42 PM, Sebastian Dröge <[hidden email]> wrote:
On Do, 2016-09-22 at 15:40 -0400, Sebastian Dröge wrote:
> On Do, 2016-09-22 at 10:25 -0400, Aaron Boxer wrote:
> >
> > Hello Everyone,
> >
> > I would like to stream a digital cinema package (DCP) via gstreamer
> > to VLC viewer.
> >
> > DCP is a package containing compressed video (JPEG 2000), audio (WAV
> > containing uncompressed PCM) and meta-data such as subtitles.
> >
> > https://en.wikipedia.org/wiki/Digital_Cinema_Initiatives
> >
> > Currently, there is no open source player for DCPs.
> > So, my idea is to decompress and transcode the DCP to another format,
> > then stream to VLC for viewing.
> >
> > I have some time to build a gstreamer DCP source : any advice on the
> > best way to go about designing this would be greatly appreciated.
>
> What exactly is it, a container format of some sort or a streaming
> protocol? Is there any specification for it available?

Also if it's a streaming protocol, what technologies is it based on?

Thanks. DCP is a container for video and audio, and other metadata. I would like to create
a plugin that decompresses the video, and then streams over an existing protocol,.

So, my question is: what is the best streaming format to use, once I decompress ?
For example, are there lossless video streaming formats ? Lossless because the original
is "visually lossless", so don't want to lose too much image quality.

Aaron

 

--
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: DCP Streaming

Sebastian Dröge-3
On Do, 2016-09-22 at 15:48 -0400, Aaron Boxer wrote:
>
> Thanks. DCP is a container for video and audio, and other metadata. I would like to create
> a plugin that decompresses the video, and then streams over an existing protocol,.

So you want to write a demuxer for DCP, that is then outputting the
JPEG2000 video stream (and the audio), and gets the input via filesrc
or anything else?

> So, my question is: what is the best streaming format to use, once I decompress ?
> For example, are there lossless video streaming formats ? Lossless because the original
> is "visually lossless", so don't want to lose too much image quality.

You could use ffv1, Dirac/VC2, JPEG2000, dnxhd, prores, huffyuv, just
raw video, ... It depends on how you want to transmit it and what
software is on the other side.

--
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 (985 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: DCP Streaming

boxerab@gmail.com

On Thu, Sep 22, 2016 at 4:21 PM, Sebastian Dröge <[hidden email]> wrote:
On Do, 2016-09-22 at 15:48 -0400, Aaron Boxer wrote:
>
> Thanks. DCP is a container for video and audio, and other metadata. I would like to create
> a plugin that decompresses the video, and then streams over an existing protocol,.

So you want to write a demuxer for DCP, that is then outputting the
JPEG2000 video stream (and the audio), and gets the input via filesrc
or anything else?

Thanks, yes. I would like to create the following components:

1) read DCP file from disk and demux using asdcplib, a separate library using openssh
2) store uncompressed video and audio in container
3) stream using RTSP protocol to VLC client

I chose RTSP because I would like the VLC client to be able to seek, rewind, ff, pause.
 

> So, my question is: what is the best streaming format to use, once I decompress ?
> For example, are there lossless video streaming formats ? Lossless because the original
> is "visually lossless", so don't want to lose too much image quality.

You could use ffv1, Dirac/VC2, JPEG2000, dnxhd, prores, huffyuv, just
raw video, ... It depends on how you want to transmit it and what
software is on the other side.

I would prefer raw video, as long as VLC client supports it.

Cheers,
Aaron


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

Re: DCP Streaming

Sebastian Dröge-3
On Do, 2016-09-22 at 20:07 -0400, Aaron Boxer wrote:

>
> On Thu, Sep 22, 2016 at 4:21 PM, Sebastian Dröge <[hidden email]> wrote:
> > On Do, 2016-09-22 at 15:48 -0400, Aaron Boxer wrote:
> > >
> > > Thanks. DCP is a container for video and audio, and other metadata. I would like to create
> > > a plugin that decompresses the video, and then streams over an existing protocol,.
> >
> > So you want to write a demuxer for DCP, that is then outputting the
> > JPEG2000 video stream (and the audio), and gets the input via filesrc
> > or anything else?
>
> Thanks, yes. I would like to create the following components:
>
> 1) read DCP file from disk and demux using asdcplib, a separate library using openssh
> 2) store uncompressed video and audio in container 
> 3) stream using RTSP protocol to VLC client
>
> I chose RTSP because I would like the VLC client to be able to seek, rewind, ff, pause.
Ok, so start by looking at similar demuxers and then get an idea how to
wrap the API of that library in GStreamer. If you need any help with
details then, just ask here :)

> > > So, my question is: what is the best streaming format to use, once I decompress ?
> > > For example, are there lossless video streaming formats ? Lossless because the original
> > > is "visually lossless", so don't want to lose too much image quality.
> >
> > You could use ffv1, Dirac/VC2, JPEG2000, dnxhd, prores, huffyuv, just
> > raw video, ... It depends on how you want to transmit it and what
> > software is on the other side.
>
> I would prefer raw video, as long as VLC client supports it.

Well, you'll have to try that then :) GStreamer supports raw video over
RTP just fine.

--
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 (985 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: DCP Streaming

boxerab@gmail.com


On Fri, Sep 23, 2016 at 10:26 AM, Sebastian Dröge <[hidden email]> wrote:
On Do, 2016-09-22 at 20:07 -0400, Aaron Boxer wrote:
>
> On Thu, Sep 22, 2016 at 4:21 PM, Sebastian Dröge <[hidden email]> wrote:
> > On Do, 2016-09-22 at 15:48 -0400, Aaron Boxer wrote:
> > >
> > > Thanks. DCP is a container for video and audio, and other metadata. I would like to create
> > > a plugin that decompresses the video, and then streams over an existing protocol,.
> >
> > So you want to write a demuxer for DCP, that is then outputting the
> > JPEG2000 video stream (and the audio), and gets the input via filesrc
> > or anything else?
>
> Thanks, yes. I would like to create the following components:
>
> 1) read DCP file from disk and demux using asdcplib, a separate library using openssh
> 2) store uncompressed video and audio in container 
> 3) stream using RTSP protocol to VLC client
>
> I chose RTSP because I would like the VLC client to be able to seek, rewind, ff, pause.

Ok, so start by looking at similar demuxers and then get an idea how to
wrap the API of that library in GStreamer. If you need any help with
details then, just ask here :)

> > > So, my question is: what is the best streaming format to use, once I decompress ?
> > > For example, are there lossless video streaming formats ? Lossless because the original
> > > is "visually lossless", so don't want to lose too much image quality.
> >
> > You could use ffv1, Dirac/VC2, JPEG2000, dnxhd, prores, huffyuv, just
> > raw video, ... It depends on how you want to transmit it and what
> > software is on the other side.
>
> I would prefer raw video, as long as VLC client supports it.

Well, you'll have to try that then :) GStreamer supports raw video over
RTP just fine.
 

Awesome, thanks!
 


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