Peculiar performance with glvideomixer

Nicolas Dufresne nicolas at ndufresne.ca
Mon Mar 25 15:03:15 UTC 2019


Le dimanche 24 mars 2019 à 18:08 -0500, dbousamra2 a écrit :
> If I have this pipeline
> 
> gst-launch-1.0 \
>   glvideomixer name=mix sink_0::alpha=0.5 sink_1::alpha=0.5 ! videoconvert !
> fpsdisplaysink video-sink="xvimagesink" \
>   videotestsrc pattern=ball is-live=true ! \
>    
> video/x-raw,format=AYUV,framerate=\(fraction\)$FPS/1,width=$WIDTH,height=$HEIGHT
> ! \
>     mix. \
>   videotestsrc is-live=true ! \
>    
> video/x-raw,format=AYUV,framerate=\(fraction\)$FPS/1,width=$WIDTH,height=$HEIGHT
> ! \
>     mix.
> 
> If you try this pipeline with `WIDTH=2560` `HEIGHT=1440`, `FPS=30`, it
> behaves perfectly. No dropped frames, and FPS at 30. But if you change the
> FPS to 60, it completely breaks, and not only does it start dropping frames,
> the 2nd mixed in stream just stops.
> 
> If you try `WIDTH=3840` `HEIGHT=2160,` `FPS=30`, the 2nd stream doesn't even
> render properly. If you lower the FPS a little to say 20, it behaves fine.
> If I go to 25 the 2nd stream stops entirely.
> 
> I imagine those exact values above are specific to my machine, and you may
> have to play with them to see the same behaviors. Does anyone have an
> explanation for these behaviors?

videotestsrc is known to be slow and un-optimized. To add to this, you
are going to make a lot of video memory copies in a pipeline that goes
from CPU to GPU, to CPU and finally to GPU again (because XV extension
does not integrate with GL, it only happens that there is only one
implementation now that is GL based). For such a bitrate, you might
want to move to gltestsrc and glimagesink.

> 
> 
> 
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



More information about the gstreamer-devel mailing list