Pipeline performance problems

Stefan Sauer ensonic at hora-obscura.de
Thu Mar 22 03:53:22 PDT 2012


On 03/22/2012 11:37 AM, David Klasinc wrote:
> Greetings,
>
> 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 \
> location="test.webm"
>
> 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.
ximagesink can't render webm, so how exactly is the xvimagesink based
pipeline lokks like. Is it
gst-launch -e videotestsrc pattern=snow num-buffers=250 ! \
video/x-raw-yuv,width=640,height=480,framerate=25/1 ! \
ffmpegcolorspace ! queue ! xvimagesink
-- or --
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 ! decodebin2 !
xvimagesink

For the first one it obviously is faster (no encoding). For the 2nd one
it would be suprising. Please also note that testing an encoder with the
snow pattern is ecpected to be slow, as there is hadly anything that can
be compressed.

Stefan

>
> 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
> https://launchpad.net/distros/ubuntu/+source/gstreamer0.10
>
> Plugin Details:
>   Name:            vp8
>   Description:        VP8 plugin
>   Filename:        /usr/lib/x86_64-linux-gnu/gstreamer-0.10/libgstvp8.so
>   Version:        0.10.22.3
>   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
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



More information about the gstreamer-devel mailing list