Selecting alternate elementary streams

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

Selecting alternate elementary streams

Jim Hodapp
I am using playbin2 to construct a pipeline that, for this example, is
using mpegtsdemux. My source program contains one video stream and
multiple audio streams for different languages. My first question is,
what is the intended way to be notified and extract the PMT information
that makes up this program from playbin2? Do I need to get a pointer
directly to the demux or is there a way that playbin2 can abstract this
for me?

My second question is how do then select a particular audio stream to be
used? Does playbin2 also abstract this operation?

If playbin2 does not directly provide a generic interface to do this, is
there an interface to accomplish this that would also apply to other
types of demuxes that support the notion of a program and elementary
streams?

Thanks,

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

Re: Selecting alternate elementary streams

jitendra singh
Hi jim,
         mpegtsdemux has two properties "program-number" and "es-pids". To play specific program from a ts file just mention the program-number of that program (which you can find using any ts stream analyzer or by writing a parser for pat/pmt). The es-pids takes colon separated  value of video pid, audio pid and pcr pid respectively. to play a particular audio stream you need to specify the pid of that stream.
     
for example
 
     gst-launch filesrc location=./some.ts ! mpegtsparse ! mpegtsdemux es-pids=0x2e2:0x2e3:0x2e4 ! decodebin ! ffmpegcolorspace ! autovideosink

similarly you can specify the program number.

playbin2 also has properties to play specific audio stream. you just need to figure out how to use them.

thanks,
Jeet

On Mon, May 2, 2011 at 8:15 AM, Jim Hodapp <[hidden email]> wrote:
I am using playbin2 to construct a pipeline that, for this example, is using mpegtsdemux. My source program contains one video stream and multiple audio streams for different languages. My first question is, what is the intended way to be notified and extract the PMT information that makes up this program from playbin2? Do I need to get a pointer directly to the demux or is there a way that playbin2 can abstract this for me?

My second question is how do then select a particular audio stream to be used? Does playbin2 also abstract this operation?

If playbin2 does not directly provide a generic interface to do this, is there an interface to accomplish this that would also apply to other types of demuxes that support the notion of a program and elementary streams?

Thanks,

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


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