Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GStreamer installation is missing a plug-in

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
like image 389
light01 Avatar asked Oct 18 '16 10:10

light01


3 Answers

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
like image 90
Martí Climent Avatar answered Oct 18 '22 20:10

Martí Climent


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.

like image 32
thiagoss Avatar answered Oct 18 '22 22:10

thiagoss


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.

like image 24
ensonic Avatar answered Oct 18 '22 22:10

ensonic