Top |
GObject ╰── GInitiallyUnowned ╰── GstObject ╰── GstElement ╰── GstAggregator ╰── GstVideoAggregator ╰── GstGLBaseMixer ╰── GstGLMixer ╰── GstGLMosaic
glmixer sub element. N gl sink pads to 1 source pad. N + 1 OpenGL contexts shared together. N <= 6 because the rendering is more a like a cube than a mosaic Each opengl input stream is rendered on a cube face
1 2 3 4 5 6 |
gst-launch-1.0 videotestsrc ! video/x-raw, format=YUY2 ! queue ! glmosaic name=m ! glimagesink \ videotestsrc pattern=12 ! video/x-raw, format=I420, framerate=5/1, width=100, height=200 ! queue ! m. \ videotestsrc ! video/x-raw, framerate=15/1, width=1500, height=1500 ! gleffects effect=3 ! queue ! m. \ videotestsrc ! gleffects effect=2 ! queue ! m. \ videotestsrc ! glfiltercube ! queue ! m. \ videotestsrc ! gleffects effect=6 ! queue ! m. |
FBO (Frame Buffer Object) is required.
plugin |
openglmixers |
author |
Julien Isorce <julien.isorce@gmail.com> |
class |
Filter/Effect/Video |
name |
sink_%u |
direction |
sink |
presence |
request |
details |
video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ] |
name |
src |
direction |
source |
presence |
always |
details |
video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ] |