Top |
Videomixer can accept AYUV, ARGB and BGRA video streams. For each of the requested sink pads it will compare the incoming geometry and framerate to define the output parameters. Indeed output video frames will have the geometry of the biggest incoming video stream and the framerate of the fastest incoming one.
Videomixer will do colorspace conversion.
Individual parameters for each input stream can be configured on the GstVideoMixer2Pad.
1 2 3 4 5 6 7 8 |
gst-launch-1.0 \ videotestsrc pattern=1 ! \ video/x-raw,format=AYUV,framerate=\(fraction\)10/1,width=100,height=100 ! \ videobox border-alpha=0 top=-70 bottom=-70 right=-220 ! \ videomixer name=mix sink_0::alpha=0.7 sink_1::alpha=0.5 ! \ videoconvert ! xvimagesink \ videotestsrc ! \ video/x-raw,format=AYUV,framerate=\(fraction\)5/1,width=320,height=240 ! mix. |
1 2 3 4 5 |
gst-launch-1.0 videotestsrc pattern=1 ! \ video/x-raw, framerate=\(fraction\)10/1, width=100, height=100 ! \ videomixer name=mix ! videoconvert ! ximagesink \ videotestsrc ! \ video/x-raw, framerate=\(fraction\)5/1, width=320, height=240 ! mix. |
1 2 3 4 5 |
gst-launch-1.0 videotestsrc pattern=1 ! \ video/x-raw,format =I420, framerate=\(fraction\)10/1, width=100, height=100 ! \ videomixer name=mix ! videoconvert ! ximagesink \ videotestsrc ! \ video/x-raw,format=I420, framerate=\(fraction\)5/1, width=320, height=240 ! mix. |
1 2 3 4 5 6 7 8 |
gst-launch-1.0 videomixer name=mixer sink_1::alpha=0.5 sink_1::xpos=50 sink_1::ypos=50 ! \ videoconvert ! ximagesink \ videotestsrc pattern=snow timestamp-offset=3000000000 ! \ "video/x-raw,format=AYUV,width=640,height=480,framerate=(fraction)30/1" ! \ timeoverlay ! queue2 ! mixer. \ videotestsrc pattern=smpte ! \ "video/x-raw,format=AYUV,width=800,height=600,framerate=(fraction)10/1" ! \ timeoverlay ! queue2 ! mixer. |
plugin |
videomixer |
author |
Wim Taymans <wim@fluendo.com>, Sebastian Dröge <sebastian.droege@collabora.co.uk> |
class |
Filter/Editor/Video/Compositor |
name |
sink_%u |
direction |
sink |
presence |
request |
details |
video/x-raw, format=(string){ AYUV, BGRA, ARGB, RGBA, ABGR, Y444, Y42B, YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx, BGRx }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ] |
name |
src |
direction |
source |
presence |
always |
details |
video/x-raw, format=(string){ AYUV, BGRA, ARGB, RGBA, ABGR, Y444, Y42B, YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx, BGRx }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ] |
The different backgrounds videomixer can blend over.
checker pattern background |
||
solid color black background |
||
solid color white background |
||
background is left transparent and layers are composited using "A OVER B" composition rules. This is only applicable to AYUV and ARGB (and variants) as it preserves the alpha channel and allows for further mixing. |
“background”
property“background” GstVideoMixer2Background
Background type.
Flags: Read / Write
Default value: Checker pattern