Playing external video from Qt ( inside/outside or Qt window)
-
Hi,
I am writing some simple UI for EPG of a setup box.
The problem is playing videos. we have some gstreamer based framework which provide the video window.
i would like to know is there any way in Qt to show external video windows either inside Qt provided window or by minimizing Qt UI and show video window.
We are using open-GL and platform is mips , I tried hiding /minimizing the Qt main object , but could not show the video, i can listen to audio.
please help ..
-
You can try to put gstreamer played video in Qt using "Gstreamer XOverlay interface":http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/section-iface-xoverlay.html
-
Yeah, thats a good idea, but we have not been given libraries for GstXoverlay . But can i use xOverlay on Open -GL
-
bq. but we have not been given libraries for GstXoverlay
You can check if you have correct xoverlay plugin
run
@
gst-inspect-1.0 | grep sink
@and see if you have ximagesink or xvimagesink if you see it then xoverlay is present in your library.
If not then see what other sinks do you have and try to use them.
Another option is to build gstreamer libraries by yourself with all necessary options. -
yes, i did.
but there are no ximagesink or xvimagesink.
Sorry , i dint mention before that i am working some clients project , there they have not given , is there any way to show video with using overlays.
-
Take a look on this tutorial "GUI toolkit integration":http://docs.gstreamer.com/display/GstSDK/Basic+tutorial+5:+GUI+toolkit+integration
Try to build and run if it will show video in GTK window then you can adopt it to Qt.
Another way to show video in Qt widget is to use appsink
@
gst-inspect-1.0 | grep appsink
gst-inspect-1.0 appsink
@In this case you will get each frame and you will paint it wherever you want.
-
Regarding gstreamer with opengl.
There are "Gstreamer OpenGL plugins":http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-gl-plugins/html/
but they are for gstreamer 0.10