17

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

4 Answers 4

18

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
9
  • 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.
    – G_Style
    Apr 27, 2021 at 4:29
  • wish I could upvote you more than once.
    – Pierre D
    Oct 4, 2021 at 16:09
  • it crashed fonts in my app, and didn't resolved my problem Oct 26, 2021 at 9:33
  • This is the correct answer!
    – puerile
    Jan 19, 2022 at 2:59
  • 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.. Jan 31, 2022 at 10:24
4

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.

6
  • 1
    I got: gst-inspect-1.0 | grep hlsdemux returns: hls: hlsdemux: HLS Demuxer
    – Luka
    Oct 18, 2016 at 12:34
  • You need to figure out which version qtmultimedia is using. 1.0 and 0.10 are separate and incompatible
    – thiagoss
    Oct 18, 2016 at 12:39
  • for both versions I get no return.
    – light01
    Oct 18, 2016 at 12:46
  • @thiagoss qtmultimedia is still using 0.10 version and the problem is I don't know how to get gstreamer0.10-plugins-bad
    – Luka
    Oct 18, 2016 at 12:53
  • @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
    – ensonic
    Oct 19, 2016 at 12:09
2

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.

1
  • 2
    It returns this: typefindfunctions: application/x-hls: m3u8 libav: avmux_hls: libav Apple HTTP Live Streaming muxer
    – light01
    Oct 18, 2016 at 12:39
0

If someone is facing this issue using Fedora, this fixed it for me sudo dnf install gstreamer1-plugins-* gstreamer1-plugin-openh264 gstreamer1-libav it installs a lot of plugins though, including development packages, so it was a shotgun solution, not the most optimal.

The command recommended by the Fedora Docs did not solve it for me, something was missing: sudo dnf install gstreamer1-plugins-{bad-\*,good-\*,base} gstreamer1-plugin-openh264 gstreamer1-libav so just replaced the specifications to an asterisk to install everything under gstreamer1-plugins

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.