Issue replacing jpegenc with x264 enc in a pipeline

Tim Müller tim at centricular.com
Mon Dec 2 05:05:37 PST 2013


On Mon, 2013-12-02 at 13:47 +0100, Severin Kacianka wrote:

> > Try x264enc tune=zerolatency , or filesink async=false , or make the
> > queue in the filesink branch larger if not unlimited.
> 
> Thank you so much! tune=zerolatency resolves my problem. Do you know why 
> I need to add it here?

Any of those three options I gave should have solved your issue.

The problem is that x264enc defaults to outputting high quality, with a
very high latency (easily >3 seconds), but the "queue" element by
default is only 1 second large and blocks afterwards. So what happens is
that after ca. 1 second worth of data coming out of the tee, that queue
in the filesink branch blocks (with filesink prerolled), and at that
point x264enc hasn't output any data yet, so the udpsink is still not
prerolled. And since the tee is blocked in the other branch now where
the queue is full, it won't be sending more data to x264enc.

Cheers
 -Tim

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com






More information about the gstreamer-devel mailing list