Pipeline Freezes When Adding In Tee With x264enc

Tim-Philipp Müller t.i.m at zen.co.uk
Tue Jan 17 03:02:56 PST 2012


On Mon, 2012-01-16 at 15:47 -0800, wlm014 wrote:

> I am running into a very odd problem with using x264enc and tees.  It is
> worth mentioning that I am working on Windows.
> 
> I have the following pipeline that runs fine.
> 
> gst-launch -v videotestsrc ! tee name=mytee ! queue ! ffmpegcolorspace !
> x264enc ! fakesink
> 
> However, when I try to attach another element to the tee (in this case an
> autovideosink element), the pipeline freezes and shows only one frame of
> video.  For example,
> 
> gst-launch -v videotestsrc ! tee name=mytee ! queue ! ffmpegcolorspace !
> x264enc ! fakesink mytee. ! queue ! autovideosink
> 
> Does not work.  It will print out the normal caps information and then
> nothing else happens.  This seems to be a very straight forward pipeline
> that should work relatively easy.  Is there something I am missing here or
> is this an error with gstreamer?

x264 by default has a fairly high latency, easily up to ~3 seconds or
so. queue by default only buffers up to one second. You need to unset or
increase the limits on the queues, like:

  queue max-size-time=0 max-size-bytes=0 max-size-buffers=0

Alternatively, try x264enc tune=zerolatency

Cheers
 -Tim



More information about the gstreamer-devel mailing list