GNOME Bugzilla – Bug 636107
x264enc: docs should indicate specifics of using with queues
Last modified: 2010-12-27 16:29:45 UTC
I'm using gstreamer0.10-plugins-ugly 0.10.16-1 and trying to launch the following pipeline: gst-launch -v -t videotestsrc ! tee name=t ! queue ! xvimagesink t. ! queue ! x264enc ! fakesink It goes to prerolling state, but never to playing. However, removal of x264enc makes pipeline play: gst-launch -v -t videotestsrc ! tee name=t ! queue ! xvimagesink t. ! queue ! fakesink Or if I replace x264enc with ffenc_mpeg4 it also works fine gst-launch -v -t videotestsrc ! tee name=t ! queue ! xvimagesink t. ! queue ! ffenc_mpeg4 ! fakesink
x264enc has quite a high latency by default (60-80 frames iirc), so you either need to use use x264enc tune=zerolatency or make the queues in the other branches larger (e.g. unset all the limits, or at least the time limit of max 1second).
Thank you, with tune=zerolatency the pipeline works fine. Could documentation page be updated to contain this information as well? http://www.gstreamer.net/data/doc/gstreamer/head/gst-plugins-ugly-plugins/html/gst-plugins-ugly-plugins-x264enc.html
Created attachment 175612 [details] [review] x264enc: add some note of caution to documentation How about this piece of additional documentation?
I believe it would be beneficial to accompany the description with example pipeline: gst-launch -v -t videotestsrc ! tee name=t ! queue ! xvimagesink t. ! queue ! x264enc tune=zerolatency ! fakesink
Created attachment 175634 [details] [review] x264enc: add some note of caution to documentation Documentation++
Made it a bit less cryptic (hopefully) and pushed it. Could still use a multiqueue example or an example with queues where the limits are relaxed. commit 9f27fc1eec123121ab9eb27bfdd29bc784b1e4b7 Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> Date: Wed Dec 1 18:35:59 2010 +0100 x264enc: add a note to the docs about encoder latency and queues https://bugzilla.gnome.org/show_bug.cgi?id=636107
Actually, the x264enc element should implement the latency query correctly..
> Actually, the x264enc element should implement the latency query correctly.. That too, butthat doesn't magically fix everything in all cases.