GStreamer installation is missing a plug-in

12,138

Solution 1

I know i answer a "little bit" late, but better late than never

What is happening here is that some codecs are missing on your OS, so we need to istall them in order to play video/audio.

Take note that this will work ONLY on Ubuntu or on Ubuntu-based distros such as Linux Mint, etc.

To install the missing codecs, you sould run the following command on a terminal (Or adding ubuntu-restricted-extras as a dependency on your .deb file):

sudo apt install ubuntu-restricted-extras

Solution 2

The element missing is named hlsdemux and lives in gst-plugins-bad. You can check the list of plugins you have installed with gst-inspect-0.10 or gst-inspect-1.0. Using that with grep will allow you to quickly find out if you have it installed.

gst-inspect-1.0 | grep hlsdemux (or 0.10 depending on the version you want to use)

If QtMultimedia indeed uses 0.10 you should be missing gstreamer0.10-plugins-bad. Note that 0.10 is obsolete and unmantained for years. 1.0 is actively developed. You should check if a newer version of QtMultimedia has upgraded to the 1.0 version and try to use that.

Solution 3

The hls plugin is in gst-plugins-bad. To be sure please check "gst-inspect-1.0 | grep hls" - on you distro gst-inspect might be a symlink to gst-inspect-0.10.

Share:
12,138
light01
Author by

light01

Updated on July 24, 2022

Comments

  • light01
    light01 almost 2 years

    I hope that someone can help with this problem, been searching for a solution for the past 2 days.

    To describe the problem in short: I'm trying to make a simple qt5.7 application that will stream an m3u8 (using Qt Creator (community). But when I try to run it I get a

    Warning: "No decoder available for type 'application/x-hls'."
    Error: "Your GStreamer installation is missing a plug-in."
    

    "gst-inspect | grep hls" returns: typefindfunctions: application/x-hls: m3u8

    At this point I have no idea which plugin can I even miss as I have gone trough the complete GStreamer plugin list and put one after another. As far as my search went some got the fix by installing the bad/ugly plugins. Some say that the QT5 still uses gstreamer0.10, but new linux versions use the 1.0 (lost at this point). I tried to set a flag to force the GST_VERSION=1.0, did not work, or I did something wrong (I used the qmake GST_VERSION=1.0 command). Also, I am able to play the video in vlc. I am completely stuck, and don't know what to do anymore.

    the app code:

    import QtQuick 2.7
    import QtQuick.Window 2.2
    import QtMultimedia 5.7
    
    Window {
        visible: true
        width: 640
        height: 480
        title: qsTr("Hello World")
    
        Item {
            width: 640
            height: 480
    
            MediaPlayer {
                id: player
                source: "http://playertest.longtailvideo.com/adaptive/wowzaid3/chunklist_w249832652.m3u8"
            }
    
            VideoOutput {
                anchors.fill: parent
                source: player
            }
    
            Component.onCompleted: {
                player.play();
            }
        }
    }
    

    OS:

    DISTRIB_ID=LinuxMint
    DISTRIB_RELEASE=18
    DISTRIB_CODENAME=sarah
    DISTRIB_DESCRIPTION="Linux Mint 18 Sarah"
    NAME="Linux Mint"
    VERSION="18 (Sarah)"
    ID=linuxmint
    ID_LIKE=ubuntu
    PRETTY_NAME="Linux Mint 18"
    VERSION_ID="18"
    HOME_URL="http://www.linuxmint.com/"
    SUPPORT_URL="http://forums.linuxmint.com/"
    BUG_REPORT_URL="http://bugs.launchpad.net/linuxmint/"
    UBUNTU_CODENAME=xenial
    

    list of gstreamer plugins:

    ii  gir1.2-gstreamer-0.10                        0.10.36-1.5ubuntu1                         amd64        Description: GObject introspection data for the GStreamer library
    ii  gir1.2-gstreamer-1.0                         1.8.2-1~ubuntu1                            amd64        GObject introspection data for the GStreamer library
    ii  gstreamer-qapt                               3.0.2-0ubuntu1.1                           amd64        GStreamer plugin to install codecs using QApt
    ii  gstreamer-tools                              0.10.36-1.5ubuntu1                         amd64        Tools for use with GStreamer
    ii  gstreamer0.10-alsa:amd64                     0.10.36-2                                  amd64        GStreamer plugin for ALSA
    ii  gstreamer0.10-doc                            0.10.36-1.5ubuntu1                         all          GStreamer core documentation and manuals
    ii  gstreamer0.10-ffmpeg:amd64                   0.10.13-5ubuntu1~wily                      amd64        FFmpeg plugin for GStreamer
    ii  gstreamer0.10-ffmpeg-dbg:amd64               0.10.13-5ubuntu1~wily                      amd64        FFmpeg plugin for GStreamer (debug symbols)
    ii  gstreamer0.10-gconf:amd64                    0.10.31-3+nmu4ubuntu2~gcc5.1               amd64        GStreamer plugin for getting the sink/source information from GConf
    ii  gstreamer0.10-gnomevfs:amd64                 0.10.36-2                                  amd64        GStreamer plugin for GnomeVFS
    ii  gstreamer0.10-nice:amd64                     0.1.13-0ubuntu2                            amd64        ICE library (GStreamer 0.10 plugin)
    ii  gstreamer0.10-plugins-base:amd64             0.10.36-2                                  amd64        GStreamer plugins from the "base" set
    ii  gstreamer0.10-plugins-base:i386              0.10.36-2                                  i386         GStreamer plugins from the "base" set
    ii  gstreamer0.10-plugins-base-apps              0.10.36-2                                  amd64        GStreamer helper programs from the "base" set
    ii  gstreamer0.10-plugins-base-dbg:amd64         0.10.36-2                                  amd64        GStreamer plugins from the "base" set
    ii  gstreamer0.10-plugins-base-doc               0.10.36-2                                  all          GStreamer documentation for plugins from the "base" set
    ii  gstreamer0.10-plugins-good:amd64             0.10.31-3+nmu4ubuntu2~gcc5.1               amd64        GStreamer plugins from the "good" set
    ii  gstreamer0.10-plugins-good:i386              0.10.31-3+nmu4ubuntu2~gcc5.1               i386         GStreamer plugins from the "good" set
    ii  gstreamer0.10-plugins-good-dbg:amd64         0.10.31-3+nmu4ubuntu2~gcc5.1               amd64        GStreamer plugins from the "good" set
    ii  gstreamer0.10-plugins-good-doc               0.10.31-3+nmu4ubuntu2~gcc5.1               all          GStreamer documentation for plugins from the "good" set
    ii  gstreamer0.10-pulseaudio:amd64               0.10.31-3+nmu4ubuntu2~gcc5.1               amd64        GStreamer plugin for PulseAudio
    ii  gstreamer0.10-qapt                           3.0.2-0ubuntu1.1                           all          transitional dummy package
    ii  gstreamer0.10-tools                          0.10.36-1.5ubuntu1                         amd64        Tools for use with GStreamer
    ii  gstreamer0.10-x:amd64                        0.10.36-2                                  amd64        GStreamer plugins for X11 and Pango
    ii  gstreamer0.10-x:i386                         0.10.36-2                                  i386         GStreamer plugins for X11 and Pango
    ii  gstreamer1.0-alsa:amd64                      1.8.2-1ubuntu0.1                           amd64        GStreamer plugin for ALSA
    ii  gstreamer1.0-clutter                         2.0.18-1                                   amd64        Clutter PLugin for GStreamer 1.0
    ii  gstreamer1.0-clutter-3.0                     3.0.18-1                                   amd64        Clutter PLugin for GStreamer 1.0
    ii  gstreamer1.0-crystalhd                       1:0.0~git20110715.fdd2f19-11build1         amd64        Crystal HD Video Decoder (GStreamer plugin)
    ii  gstreamer1.0-doc                             1.8.2-1~ubuntu1                            all          GStreamer core documentation and manuals
    ii  gstreamer1.0-dvswitch                        0.1.1-1                                    amd64        GStreamer plugin source from DVswitch
    ii  gstreamer1.0-espeak                          0.4.0-1                                    amd64        GStreamer plugin for eSpeak speech synthesis
    ii  gstreamer1.0-fluendo-mp3:amd64               0.10.32.debian-1                           amd64        Fluendo mp3 decoder GStreamer 1.0 plugin
    ii  gstreamer1.0-hybris:i386                     1.8.2-1ubuntu0.1                           i386         GStreamer plugins from hybris
    ii  gstreamer1.0-libav:amd64                     1.8.2-1~ubuntu1                            amd64        libav plugin for GStreamer
    ii  gstreamer1.0-libav-dbg:amd64                 1.8.2-1~ubuntu1                            amd64        libav plugin for GStreamer (debug symbols)
    ii  gstreamer1.0-nice:amd64                      0.1.13-0ubuntu2                            amd64        ICE library (GStreamer plugin)
    ii  gstreamer1.0-packagekit                      0.8.17-4ubuntu6~gcc5.4ubuntu1.1            amd64        GStreamer plugin to install codecs using PackageKit
    ii  gstreamer1.0-plugins-bad:amd64               1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "bad" set
    ii  gstreamer1.0-plugins-bad-dbg:amd64           1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "bad" set (debug symbols)
    ii  gstreamer1.0-plugins-bad-doc                 1.8.2-1ubuntu0.1                           all          GStreamer documentation for plugins from the "bad" set
    ii  gstreamer1.0-plugins-bad-faad:amd64          1.8.2-1ubuntu0.1                           amd64        GStreamer faad plugin from the "bad" set
    ii  gstreamer1.0-plugins-bad-videoparsers:amd64  1.8.2-1ubuntu0.1                           amd64        GStreamer videoparsers plugin from the "bad" set
    ii  gstreamer1.0-plugins-base:amd64              1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "base" set
    ii  gstreamer1.0-plugins-base-apps               1.8.2-1ubuntu0.1                           amd64        GStreamer helper programs from the "base" set
    ii  gstreamer1.0-plugins-base-dbg:amd64          1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "base" set
    ii  gstreamer1.0-plugins-base-doc                1.8.2-1ubuntu0.1                           all          GStreamer documentation for plugins from the "base" set
    ii  gstreamer1.0-plugins-good:amd64              1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "good" set
    ii  gstreamer1.0-plugins-good-dbg:amd64          1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "good" set
    ii  gstreamer1.0-plugins-good-doc                1.8.2-1ubuntu0.1                           all          GStreamer documentation for plugins from the "good" set
    ii  gstreamer1.0-plugins-ugly:amd64              1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "ugly" set
    ii  gstreamer1.0-plugins-ugly-amr:amd64          1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "ugly" set
    ii  gstreamer1.0-plugins-ugly-dbg:amd64          1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "ugly" set (debug symbols)
    ii  gstreamer1.0-plugins-ugly-doc                1.8.2-1ubuntu0.1                           all          GStreamer documentation for plugins from the "ugly" set
    ii  gstreamer1.0-pocketsphinx:amd64              0.8.0+real5prealpha-1ubuntu2               amd64        Speech recognition tool - gstreamer plugin
    ii  gstreamer1.0-pulseaudio:amd64                1.8.2-1ubuntu0.1                           amd64        GStreamer plugin for PulseAudio
    ii  gstreamer1.0-tools                           1.8.2-1~ubuntu1                            amd64        Tools for use with GStreamer
    ii  gstreamer1.0-vaapi:amd64                     1.8.2-1~ubuntu2                            amd64        VA-API plugins for GStreamer
    ii  gstreamer1.0-vaapi-doc                       1.8.2-1~ubuntu2                            all          GStreamer VA-API documentation and manuals
    ii  gstreamer1.0-x:amd64                         1.8.2-1ubuntu0.1                           amd64        GStreamer plugins for X11 and Pango
    ii  libcanberra-gstreamer:amd64                  0.30-2.1ubuntu1                            amd64        GStreamer backend for libcanberra
    ii  libgstreamer-ocaml                           0.2.0-2build2                              amd64        OCaml interface to the gstreamer library -- runtime files
    ii  libgstreamer-ocaml-dev                       0.2.0-2build2                              amd64        OCaml interface to the gstreamer library -- development files
    ii  libgstreamer-plugins-bad1.0-0:amd64          1.8.2-1ubuntu0.1                           amd64        GStreamer development files for libraries from the "bad" set
    ii  libgstreamer-plugins-bad1.0-0:i386           1.8.2-1ubuntu0.1                           i386         GStreamer development files for libraries from the "bad" set
    ii  libgstreamer-plugins-bad1.0-dev              1.8.2-1ubuntu0.1                           amd64        GStreamer development files for libraries from the "bad" set
    ii  libgstreamer-plugins-base0.10-0:amd64        0.10.36-2                                  amd64        GStreamer libraries from the "base" set
    ii  libgstreamer-plugins-base0.10-0:i386         0.10.36-2                                  i386         GStreamer libraries from the "base" set
    ii  libgstreamer-plugins-base0.10-dev            0.10.36-2                                  amd64        GStreamer development files for libraries from the "base" set
    ii  libgstreamer-plugins-base1.0-0:amd64         1.8.2-1ubuntu0.1                           amd64        GStreamer libraries from the "base" set
    ii  libgstreamer-plugins-base1.0-0:i386          1.8.2-1ubuntu0.1                           i386         GStreamer libraries from the "base" set
    ii  libgstreamer-plugins-base1.0-dev             1.8.2-1ubuntu0.1                           amd64        GStreamer development files for libraries from the "base" set
    ii  libgstreamer-plugins-good1.0-0:amd64         1.8.2-1ubuntu0.1                           amd64        GStreamer development files for libraries from the "good" set
    ii  libgstreamer-plugins-good1.0-dev             1.8.2-1ubuntu0.1                           amd64        GStreamer development files for libraries from the "good" set
    ii  libgstreamer0.10-0:amd64                     0.10.36-1.5ubuntu1                         amd64        Core GStreamer libraries and elements
    ii  libgstreamer0.10-0:i386                      0.10.36-1.5ubuntu1                         i386         Core GStreamer libraries and elements
    ii  libgstreamer0.10-0-dbg:amd64                 0.10.36-1.5ubuntu1                         amd64        Core GStreamer libraries and elements
    ii  libgstreamer0.10-dev                         0.10.36-1.5ubuntu1                         amd64        GStreamer core development files
    ii  libgstreamer1.0-0:amd64                      1.8.2-1~ubuntu1                            amd64        Core GStreamer libraries and elements
    ii  libgstreamer1.0-0:i386                       1.8.2-1~ubuntu1                            i386         Core GStreamer libraries and elements
    ii  libgstreamer1.0-0-dbg:amd64                  1.8.2-1~ubuntu1                            amd64        Core GStreamer libraries and elements
    ii  libgstreamer1.0-dev                          1.8.2-1~ubuntu1                            amd64        GStreamer core development files
    ii  libgstreamermm-1.0-0v5:amd64                 1.4.3+dfsg-5                               amd64        C++ wrapper library for GStreamer (shared libraries)
    ii  libgstreamermm-1.0-dev:amd64                 1.4.3+dfsg-5                               amd64        C++ wrapper library for GStreamer (development files)
    ii  libqt5gstreamer-1.0-0:amd64                  1.2.0-3                                    amd64        C++ bindings library for GStreamer with a Qt-style API - Qt 5 build
    ii  libqt5gstreamer-dev                          1.2.0-3                                    amd64        Development headers for QtGStreamer - Qt 5 build
    ii  libqt5gstreamerquick-1.0-0:amd64             1.2.0-3                                    amd64        QtGStreamerQuick library - Qt 5 build
    ii  libqt5gstreamerui-1.0-0:amd64                1.2.0-3                                    amd64        QtGStreamerUi library - Qt 5 build
    ii  libqt5gstreamerutils-1.0-0:amd64             1.2.0-3                                    amd64        QtGStreamerUtils library - Qt 5 build
    ii  libqtgstreamer-1.0-0:amd64                   1.2.0-3                                    amd64        C++ bindings library for GStreamer with a Qt-style API
    ii  libqtgstreamer-dev                           1.2.0-3                                    amd64        Development headers for QtGStreamer
    ii  libqtgstreamerui-1.0-0:amd64                 1.2.0-3                                    amd64        QtGStreamerUi library
    ii  libqtgstreamerutils-1.0-0:amd64              1.2.0-3                                    amd64        QtGStreamerUtils library
    ii  libreoffice-avmedia-backend-gstreamer        1:5.1.4-0ubuntu1                           amd64        GStreamer backend for LibreOffice
    ii  liquidsoap-plugin-gstreamer                  1.1.1-7.1                                  amd64        audio streaming language -- GStreamer plugin
    ii  phonon-backend-gstreamer:amd64               4:4.8.2-0ubuntu2                           amd64        Phonon GStreamer 1.0 backend
    ii  phonon-backend-gstreamer-common:amd64        4:4.8.2-0ubuntu2                           amd64        Phonon GStreamer 1.0.x backend icons
    ii  phonon4qt5-backend-gstreamer:amd64           4:4.8.2-0ubuntu2                           amd64        Phonon Qt5 GStreamer 1.0 backend
    ii  qml-module-qtgstreamer:amd64                 1.2.0-3                                    amd64        QML plugins from QtGStreamer - Qt 5 build
    ii  qt5gstreamer-dbg:amd64                       1.2.0-3                                    amd64        Debug symbols for QtGStreamer - Qt 5 build
    ii  qtgstreamer-dbg:amd64                        1.2.0-3                                    amd64        Debug symbols for QtGStreamer
    ii  qtgstreamer-declarative:amd64                1.2.0-3                                    amd64        QML plugins from QtGStreamer
    ii  qtgstreamer-plugins:amd64                    1.2.0-3                                    amd64        GStreamer plugins from QtGStreamer
    ii  qtgstreamer-plugins-qt5:amd64                1.2.0-3                                    amd64        GStreamer plugins from QtGStreamer - Qt 5 build
    
  • Luka
    Luka over 7 years
    I got: gst-inspect-1.0 | grep hlsdemux returns: hls: hlsdemux: HLS Demuxer
  • light01
    light01 over 7 years
    It returns this: typefindfunctions: application/x-hls: m3u8 libav: avmux_hls: libav Apple HTTP Live Streaming muxer
  • thiagoss
    thiagoss over 7 years
    You need to figure out which version qtmultimedia is using. 1.0 and 0.10 are separate and incompatible
  • light01
    light01 over 7 years
    for both versions I get no return.
  • Luka
    Luka over 7 years
    @thiagoss qtmultimedia is still using 0.10 version and the problem is I don't know how to get gstreamer0.10-plugins-bad
  • ensonic
    ensonic over 7 years
    @luka: 0.10 is several years old, back then we did not have those plugins yet. fyi: 1.0 has qt bindings: cgit.freedesktop.org/gstreamer/qt-gstreamer/tree/README
  • Luka
    Luka over 7 years
    @ensonic we finally made it work by installing "gstreamer0.10-plugins-bad" form old repos
  • G_Style
    G_Style about 3 years
    This worked for me when all other things failed. Thanks! I couldn't get some internet radio stations to work, particularly m3u8 file streams. I knew I missing a codec somewhere but couldn't find which one or how to install it. Its only fitting that it is stashed in a generically named package somewhere.
  • Pierre D
    Pierre D over 2 years
    wish I could upvote you more than once.
  • Piotr Chmielewski
    Piotr Chmielewski over 2 years
    it crashed fonts in my app, and didn't resolved my problem
  • puerile
    puerile over 2 years
    This is the correct answer!
  • CoderGuy123
    CoderGuy123 about 2 years
    This worked for me to fix Clementine player on Mint 20. It was giving an error when trying to play di.fm radio Your GStreamer installation is missing a plug-in..
  • ניר
    ניר almost 2 years
    restricted-extras doesn't sound quite nice (: what is that?