QMediaPlayer - Errors, 'No decoder Available'



  • Hello everyone,

    I am working on a sample GUI and trying to get a video to play in a dock. I have getting some errors though when I run the code. I box appears when I run the program, but it was only a black screen.

    The error I am getting says 'No decoder Available for 'video/quicktime variant=string-iso'

    I have installed GStreamer and VLC as well..not sure if I am missing certain codecs or how to get QT to use them.

    Part of my code below.

        playlist->addMedia(QUrl::fromLocalFile("/home/mjv817/dockingProject/newConvert.mp4"));
        playlist->setCurrentIndex(1);
    
        player = new QMediaPlayer;
        player->setPlaylist(playlist);
    
        videoWidget = new QVideoWidget;
        player->setVideoOutput(videoWidget);
        videoWidget->show();
        player->play();
    

    *Edit

    Ok I made some changes to my code and now receiving the following error.
    'Your GStreamer installation is missing a plug-in'

    I am Fedora 24 and tried installing the following through the terminal, but received an error.
    No package gstreamer0.10-ffmpeg available.

    Still not sure what/how to install the proper plugins.


  • Lifetime Qt Champion

    Hi,

    You should check your distribution's package manager and install all of GStreamer's plugins.



  • Ok just double checked and made sure I had all of the Gstream plugins. I was missing the "good" plugin and now have good/ugly/core gstream packages installed.

    I ran the program again and received a different error.

    'GStreamer encountered a general stream error.'

    Hmm getting closer?!?! lol been trying to get this to run for a few hours now!


  • Lifetime Qt Champion

    Which version of Qt are you using ?



  • Desktop QT 5.7.0 - GCC 64 bit


  • Lifetime Qt Champion

    Then please call ldd on Qt's gstreamer plugin to ensure that it's linked against gstreamer 0.10



  • Sorry for the noob question, but can you explain how to use this command?

    Would I call "ldd 'applicationName.cpp', or find the location of gstreamer?


  • Lifetime Qt Champion

    ldd should be called either on a dynamic library or an application executable.

    So find the plugin in your Qt install under Qt_VERSION_NUMBER/COMPILER/plugins/mediaservice/ and the call ldd on its content.


Log in to reply
 

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