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



  • Hi Andreyc,

    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?
    Thanks again.


  • Lifetime Qt Champion

    Hi,

    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


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.