mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-28 03:00:35 +00:00
30 lines
1.2 KiB
Text
30 lines
1.2 KiB
Text
|
This example illustrates how to integrate Gstreamer GL plugin with
|
||
|
Qt. In particular it uses glupload with fakesink elements to create
|
||
|
texture with decoded video frame. This texture is shared with
|
||
|
QGLWidget derived class, which paints a cube with video texture on
|
||
|
each face.
|
||
|
|
||
|
To compile the example, include and library paths might be adjusted in
|
||
|
.pro file according to your installation of the gstreamer and
|
||
|
corresponding development files. Most probably, the adjustments will
|
||
|
be necessary on Windows.
|
||
|
|
||
|
To run the example simply start executable file after compilation. If
|
||
|
there is no command line arguments provided, then videotestsrc element
|
||
|
will be used to generate video. The following pipeline will be created
|
||
|
in this case:
|
||
|
|
||
|
videotestsrc ! video/x-raw, width=640, height=480, framerate=(fraction)30/1 ! glupload ! fakesink sync=1
|
||
|
|
||
|
It is also possible to provide the video file name as a first command
|
||
|
line parameter, i.e. ./qglwtextureshare myvideo.ogv . In this case,
|
||
|
the following pipeline will be executed:
|
||
|
|
||
|
filesrc location=myvideo.ogv ! decodebin2 ! glupload ! fakesink sync=1
|
||
|
|
||
|
I would appreciate any feedback and improvement suggestions for this
|
||
|
example.
|
||
|
|
||
|
Have fun :-)
|
||
|
Andrey Nechypurenko (andreynech@gmail.com)
|