Pipeline Freezes When Adding In Tee With x264enc

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Pipeline Freezes When Adding In Tee With x264enc

wlm014
Hello all,

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?

Thank you for your help,
William
Reply | Threaded
Open this post in threaded view
|

Re: Pipeline Freezes When Adding In Tee With x264enc

Tim-Philipp Müller-2
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

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Pipeline Freezes When Adding In Tee With x264enc

wlm014
Setting the tune property fixed the problem. Thanks!