Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Hardware Accelerated Video Playback



  • Hi,
    I have a project that plays several videos (12 or even 24 if needed) in a grid using QML Video.
    My problem is that CPU usage is too high, so I would like to pass the video decoding to my GPU (Nvidia GF 1650).
    Can anyone confirm if this is even possible using QML Video?
    I know that QTMultumedia uses GStreamer as backend and that GStreamer should be able to achieve hardware decode on playing (according to this article), but all my video playback loads CPU only.
    Sorry if this is a dumb question, I just don't know were to look for more info.
    Thanks.


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    Are you currently able to load your videos with gstreamer using hardware acceleration ?
    If so, then you'll likely have to modify the GStreamer backend plugin to take advantage of that.

    Note that there's a gstreamer sink for QtQuick in one of the GStreamer plugin packages, you should also check that.



  • Hi, thanks for the welcome and merry Christmas.

    I've been trying to to use gst-lauch for 2 days now with no success at all for VDPAU acceleration. All the documentation I've got from Nvidia doesn't work for me.
    Browsing the source code for QTMultimedia and GST Tools on QT I only found VAAPI handling, no CUDA.
    Using FFMPEG VDPAU over VLC is a complete success though. I think FFMPEG is my plan B now.
    Before trying FFMPEG I would like to try the mentioned GStreamer plugins but I haven't found any documentation to get started. Can you give me a little hint on where to look for this, please?
    Thanks.


  • Lifetime Qt Champion

    Well, if VLC does what you want, then there's the VLC-Qt project that provides integration with Qt. That might simplify your development.

    The GStreamer plugin is mentioned here.



  • Hi,
    I tried VLC-Qt with no success. The problem is that this project uses libvlc and my test over vlc was successful using ffmpeg with vlc as front end. VLC-Qt has actually worst performance than QTMultimedia, al least in my case.
    Thanks for the GStreamer plugin reference, I'll take a look.
    Right now I'm giving it a try with an old FFMPEG player. I'm able to use the desired codecs, but the performance for this widget is awful.
    There's a project called QtAV that seems to answer my needs, but I've been unable to build it properly and use it's libraries.
    Anyway, I'll keep trying some alternatives and post my results, if any.
    Thanks for the help.



  • This post is deleted!

Log in to reply