[gst-devel] fluendo plugin mpeg2dec mpeg2enc problem

Mark Nauwelaerts manauw at skynet.be
Tue May 15 15:38:03 CEST 2007


Stefanie Braun wrote:
> Hi,
> I already figured out the syntax for the following working pipeline:
> 
> gst-launch-0.10 udpsrc port=1234 ! flutsdemux name=demux ! queue ! audio/mpeg ! queue ! flutsmux name=mux demux. ! queue ! video/mpeg ! queue mux. mux. ! udpsink host=192.168.5.5 port=1234
> 
> But when I integrate mpeg2dec and mpeg2enc in the video path of the above pipeline, no audio arrives at the client (192.168.5.5)!
> 
> not working:
> gst-launch-0.10 udpsrc port=1234 ! flutsdemux name=demux ! queue ! audio/mpeg ! queue ! flutsmux name=mux demux. ! queue ! video/mpeg ! mpeg2dec ! mpeg2enc ! queue mux. mux. ! udpsink host=192.168.5.5 port=1234
> 
> I cannot figure out the problem. Any help is very welcome!

mpeg2enc's output buffers do not have a valid timestamp, which is not a problem
if you send its output into e.g. mplex (which does not care at all about input
buffer timestamps).  I don't know how flutsmux handles such a case, but if that
makes it read video as having -\infty time, that might cause loss (= long delay)
of audio (though I would expect things to block after not too long).

The reason for invalid output timestamp is that libmpeg2enc does not provide any
for its output (nor does it care about input ones).  mpeg2enc could make some
up, e.g. frame-rate and -count based.  However, using a generic
"counter-stamping" element after mpeg2enc would have the same effect and provide
proper timestamps (have done this for muxing into ffmux_mpeg), or you could use
ffenc_mpeg1video or ffenc_mpeg2video.

Best Regards,
Mark.




More information about the gstreamer-devel mailing list