Pipeline performance problems

David Klasinc bigwhale at lubica.net
Thu Mar 22 03:37:21 PDT 2012


I have some serious problems with gst pipelines. Originally it was a 
python application and I thought the problem is with the my application, 
but it turns out the problem is with gstreamer or at least with my pipeline.

Here's the pipeline:

$ time gst-launch -e videotestsrc pattern=snow num-buffers=250 ! \
video/x-raw-yuv,width=640,height=480,framerate=25/1 ! \
ffmpegcolorspace ! queue ! vp8enc ! queue ! webmmux ! filesink \

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 145388989110 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

real	2m25.609s
user	2m26.189s
sys	0m0.136s

It takes over two minutes for this pipeline to complete which is rather 
strange. If I use xvimagesink instead of filesink, then it takes a wee 
bit over 10 seconds to complete. As expected.

So, what am I doing wrong? I tried with various settings for vp8enc and 
webmmux, I tried different queue placement and the result is always more 
or less the same. If I press CTRL-C after some time, waiting for EOS is 
displayed for quite some time and the video is only a second or two 
long. If resolution is increased, then everything takes much much longer.

I am running this on quad i5 with 4GB of RAM and there is almost no disk 
activity during recording.

Kernel, OS and Gstreamer versions below:
Linux pond 3.2.0-19-generic #30-Ubuntu SMP Fri Mar 16 16:27:15 UTC 2012 
x86_64 x86_64 x86_64 GNU/Linux

Ubuntu Precise Pangolin 12.04

gst-launch-0.10 version 0.10.36
GStreamer 0.10.36

Plugin Details:
   Name:			vp8
   Description:		VP8 plugin
   Filename:		/usr/lib/x86_64-linux-gnu/gstreamer-0.10/libgstvp8.so
   License:		LGPL
   Source module:	gst-plugins-bad
   Source release date:	2012-02-09 14:42 (UTC)

Plugin Details:
   Name:			matroska
   Description:		Matroska and WebM stream handling
   Filename:		/usr/lib/x86_64-linux-gnu/gstreamer-0.10/libgstmatroska.so
   Version:		0.10.31
   License:		LGPL
   Source module:	gst-plugins-good
   Source release date:	2012-02-20

More information about the gstreamer-devel mailing list