Introduction to GStreamer Bad Plug-ins

The GStreamer Bad Plug-ins package contains a set of plug-ins that aren't up to par compared to the rest. They might be close to being good quality, but they're missing something - be it a good code review, some documentation, a set of tests, a real live maintainer, or some actual wide use.

This package is known to build and work properly using an LFS 12.1 platform.

Package Information

GStreamer Bad Plug-ins Dependencies





BlueZ-5.72, cURL-8.6.0, FAAC-1_30, FAAD2-2.11.1, fdk-aac-2.0.3, GTK+-3.24.41 (for examples), gst-plugins-good-1.22.10 (for one test), JSON-GLib-1.8.0, Little CMS-2.14, libaom-3.8.1, libass-0.17.1, libexif-0.6.24 (for one test), librsvg-2.57.1, libsoup-2.74.3 (for one test), libsndfile-1.2.2, libssh2-1.11.0, libusb-1.0.27, libva-2.20.0, libwebp-1.3.2, libxkbcommon-1.6.0, neon-0.33.0, Nettle-3.9.1 or libgcrypt-1.10.3 (for SSL support in the hls plugin, if both are not installed OpenSSL will be used instead), opencv-4.9.0 (with additional modules), OpenJPEG-2.5.0, Opus-1.4, qrencode-4.1.1, SBC-2.0, sdl12-compat-1.2.68, Valgrind-3.22.0, both Vulkan-Loader-1.3.277 and glslc (for Vulkan plugin), Wayland-1.22.0 (GTK+-3.24.41 must have been compiled with wayland support), wpebackend-fdo-1.14.2, x265-20240216, bs2b, Chromaprint, dssim, Flite, FluidSynth, Game Music Emu, GSM, hotdoc, LADSPA, ldacBT, libavtp, libdc1394-2, libdca, libde265, libkate, libmfx, libmms, libmodplug, libnice, libofa, libopenmpt, libopenni, libsrtp, lilv, LRDF, ltc-tools, microdns, MJPEG Tools, mplex2, musepack, onnxruntime, OpenAL, OpenEXR, OpenH264, Orc, rtmpdump, spandsp, Srt, svthevcenc, VO AAC, VO AMRWB, WildMidi, WPE-WebKit, ZBAR, ZVBI, and zxing

Installation of GStreamer Bad Plug-ins



If you need a plugin for a given dependency, that dependency needs to be installed before this package.

Install GStreamer Bad Plug-ins by running the following commands:

mkdir build &&
cd    build &&

meson  setup ..            \
       --prefix=/usr       \
       --buildtype=release \
       -Dgpl=enabled       \
       -Dpackage-origin= \
       -Dpackage-name="GStreamer 1.22.10 BLFS" &&

To test the results, issue: ninja test. Several tests need a terminal emulator in a graphical session. Three tests, elements_vacompositor, elements_netsim, and elements_dash_mpd, are known to fail. If gst-plugins-good-1.22.10 is not installed, two tests elements_rtpsrc and elements_rtpsink will fail.

Now, as the root user:

ninja install

Command Explanations

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

-Dgpl=enabled: Without this switch, plugins with dependencies on (A)GPL licensed libraries are not built.


Installed Programs: gst-transcoder-1.0 and playout
Installed Libraries:,,,,,,,,,,,,,,,,,, and several plugins under /usr/lib/gstreamer-1.0
Installed Directories: /usr/include/gstreamer-1.0/gst/{audio,basecamerabinsrc,cuda}, /usr/include/gstreamer-1.0/gst/{codecparsers,insertbin,interfaces}, /usr/include/gstreamer-1.0/gst/{isoff,mpegts,play,player,sctp} /usr/include/gstreamer-1.0/gst/{transcoder,uridownloader,va}, and /usr/include/gstreamer-1.0/gst/{wayland,webrtc}

Short Descriptions


is used to transcode a stream into a different format


is an example application used to sequentially play a list of audio-video files