The mediaplayer for no-xcb environment
Recently, I reach this scenario:
I have a non-xwindow embedded linux. I wish to play video on it, which supports gstreamer1.0 and eglfs already. So far the pipeline for the video source works fine. But, I cannot use QVideoWidget to act as the output render.
QVideoWidget works good in my desktop linux, surely under XWindow, xcb. But I have only eglfs in my embedded linux platform. Somehow, QVideoWidget failed at setVideoOutput under eglfs.
Is there anyone have the experience with a gstreamer video output in eglfs or other no-xcb? Which widget can be used for a video render in it?
I heard that libVLC also provided such functionality. Does libVLC play video based on gstreamer?
Any one and any help is appreciated! Great thanks!
Forgot to mention that I am using Qt5.3. So, phonon is out of my project.
Qt5.3 does not support gstreamer-1.0
gstreamer-1.0 plugin may appear in Qt5.5
AFAIK(As Far As I Know) libVLC does not use gstreamer.
If you are not bound to gstreamer there is a "VLC-Qt library":http://projects.tano.si/vlc-qt/
If you can play video using gstreamer then you may try to use appsink and paint video frames on QWidget.
Another option is to use "Qt-Gstreamer library":http://gstreamer.freedesktop.org/modules/qt-gstreamer.html
Thanks a lot for your information!
Yes, as you said, I could not find out any gstreamer-relationship in VLC's code. That's sad. :(
And gstreamer-1.0 is not the native supported maybe, I updated the code of the module. Anyway, it looks fine so far.
You mentioned appsink. I will search and investigate the code for it. Appreciate for it. I hope it will give me the result. In the previous research, I found only "xvimagesink" but it works for XWindow.
A quick question. Gstreamer already exists in QtMultiMedia, why there is a "Qt-Gstreamer" library separately?
gstreamer is a backend in QtMultimedia. On the other hand QtGStreamer is a wrapper library were you use gstreamer. With it you e.g. build the pipeline that you want to use. It provides various sync to paint on widget/QML/OpenGL widget. Note that the QtGstreamer library is not part of the Qt distribution it's an independent project