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: "" } 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="" SUPPORT_URL="" BUG_REPORT_URL="" 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

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

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

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

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

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

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