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 |
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? _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |