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.



Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Package Information

GStreamer Bad Plug-ins Dependencies





BlueZ-5.66, cURL-7.87.0, FAAC-1_30, FAAD2-2.10.1, fdk-aac-2.0.2, GTK+-3.24.36 (for examples), gst-plugins-good-1.22.0 (for one test), Little CMS-2.14, libass-0.17.0, libexif-0.6.24 (for one test), librsvg-2.54.5, libsoup-2.74.3 (for one test), libsndfile-1.2.0, libssh2-1.10.0, libusb-1.0.26, libva-2.17.0, libwebp-1.3.0, libxkbcommon-1.5.0, neon-0.32.5, Nettle-3.8.1 or libgcrypt-1.10.1 (for SSL support in hls plugin, if both are not installed OpenSSL will be used instead), opencv-4.7.0 (with additional modules), OpenJPEG-2.5.0, Opus-1.3.1, SBC-2.0, SDL-1.2.15, Valgrind-3.20.0, Wayland-1.21.0 (GTK+-3.24.36 must have been compiled with wayland support), wpebackend-fdo-1.14.0, x265-20220819, aom, bs2b, Chromaprint, dssim, Flite, FluidSynth, Game Music Emu, GSM, hotdoc, LADSPA, libavtp, libdc1394-2, libdca, libde265, libkate, libmfx, libmms, libmodplug, libnice, libofa, libopenmpt, libopenni, libsrtp, lilv, LRDF, ltc-tools, microdns, MJPEG Tools, OpenAL, OpenEXR, OpenH264, Orc, rtmpdump, spandsp, Srt, svthevcenc, VO AAC, VO AMRWB, Vulkan, WildMidi, WPE-WebKit, ZBAR, ZVBI, and zxing

User Notes:

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  --prefix=/usr       \
       --buildtype=release \
       -Dgpl=enabled       \
       -Dpackage-origin= \
       -Dpackage-name="GStreamer 1.22.0 BLFS" &&

To test the results, issue: ninja test. Several tests need a terminal emulator in a graphical session. two tests, elements_vapostproc and elements_vacompositor are known to fail. If gst-plugins-good-1.22.0 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,codecparsers}, /usr/include/gstreamer-1.0/gst/{insertbin,interfaces,isoff,mpegts}, /usr/include/gstreamer-1.0/gst/{play,player,sctp,transcoder}, and /usr/include/gstreamer-1.0/gst/{uridownloader,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