glfs/multimedia/libdriv/gst10-plugins-bad.xml
Xi Ruoyao 64b92e4357
gst-plugins-bad: Add glslc as external dependency
The vulkan plugin needs it, like GTK-4.
2023-12-04 19:49:43 +08:00

319 lines
12 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY gst10-plugins-bad-download-http
"&gstreamer-dl;/gst-plugins-bad/gst-plugins-bad-&gst10-plugins-bad-version;.tar.xz">
<!ENTITY gst10-plugins-bad-download-ftp " ">
<!ENTITY gst10-plugins-bad-md5sum "63d4e2811069a0a852782a788b494340">
<!ENTITY gst10-plugins-bad-size "5.3 MB">
<!ENTITY gst10-plugins-bad-buildsize "214 MB (with tests)">
<!ENTITY gst10-plugins-bad-time "1.1 SBU (Using parallelism=4; with tests)">
]>
<sect1 id="gst10-plugins-bad" xreflabel="gst-plugins-bad-&gst10-plugins-bad-version;">
<?dbhtml filename="gst10-plugins-bad.html"?>
<title>gst-plugins-bad-&gst10-plugins-bad-version;</title>
<indexterm zone="gst10-plugins-bad">
<primary sortas="a-gst-plugins-bad">gst-plugins-bad</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to GStreamer Bad Plug-ins</title>
<para>
The <application>GStreamer Bad Plug-ins</application> 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.
</para>
&lfs120_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&gst10-plugins-bad-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&gst10-plugins-bad-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &gst10-plugins-bad-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &gst10-plugins-bad-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &gst10-plugins-bad-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &gst10-plugins-bad-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">GStreamer Bad Plug-ins Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="gst10-plugins-base"/>
</para>
<!-- Common formats, output and input codecs and requirements
for GNOME apps. What's a multimedia framework useful if it
can't be used to play anything (common)? -->
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<xref linkend="libdvdread"/>,
<xref linkend="libdvdnav"/>, and
<xref linkend="soundtouch"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="bluez"/>,
<xref linkend="curl"/>,
<xref linkend="faac"/>,
<xref linkend="faad2"/>,
<xref linkend="fdk-aac"/>,
<xref linkend="gtk3"/> (for examples),
<xref linkend="gst10-plugins-good"/> (for one test),
<xref linkend="json-glib"/>,
<xref linkend="lcms2"/>,
<xref linkend="libaom"/>,
<xref linkend="libass"/>,
<xref linkend="libexif"/> (for one test),
<xref linkend="librsvg"/>,
<xref linkend="libsoup"/> (for one test),
<xref linkend="libsndfile"/>,
<xref linkend="libssh2"/>,
<xref linkend="libusb"/>,
<xref linkend="libva"/>,
<xref linkend="libwebp"/>,
<xref linkend="libxkbcommon"/>,
<xref linkend="neon"/>,
<xref linkend="nettle"/> or <xref linkend="libgcrypt"/>
(for SSL support in the hls plugin, if both are not installed OpenSSL will
be used instead),
<xref linkend="opencv"/> (with additional modules),
<xref linkend="openjpeg2"/>,
<xref linkend="opus"/>,
<xref linkend="qrencode"/>,
<xref linkend="sbc"/>,
<xref linkend="sdl"/>,
<xref linkend="valgrind"/>,
both <xref linkend="vulkan-loader"/> and
<ulink url='https://github.com/google/shaderc'>glslc</ulink>
(for Vulkan plugin),
<xref linkend="wayland"/> (<xref linkend="gtk3"/> must have been
compiled with wayland support),
<xref linkend="wpebackend-fdo"/>,
<xref linkend="x265"/>,
<!--<ulink url="https://aomedia.googlesource.com/aom/">aom</ulink>,-->
<ulink url="https://bs2b.sourceforge.net/">bs2b</ulink>,
<ulink url="https://acoustid.org/chromaprint">Chromaprint</ulink>,
<ulink url="https://github.com/kornelski/dssim">dssim</ulink>,
<ulink url="https://github.com/festvox/flite">Flite</ulink>,
<ulink url="https://www.fluidsynth.org/">FluidSynth</ulink>,
<ulink url="https://bitbucket.org/mpyne/game-music-emu/">Game Music Emu</ulink>,
<ulink url="https://www.quut.com/gsm/">GSM</ulink>,
<ulink url="https://pypi.org/project/hotdoc/">hotdoc</ulink>,
<ulink url="https://www.ladspa.org/">LADSPA</ulink>,
<ulink url="https://github.com/EHfive/ldacBT">ldacBT</ulink>,
<ulink url="https://github.com/AVnu/libavtp">libavtp</ulink>,
<ulink url="https://sourceforge.net/projects/libdc1394/files/libdc1394-2/">libdc1394-2</ulink>,
<ulink url="https://www.videolan.org/developers/libdca.html">libdca</ulink>,
<ulink url="https://www.libde265.org">libde265</ulink>,
<ulink url="https://code.google.com/archive/p/libkate/">libkate</ulink>,
<ulink url="https://github.com/Intel-Media-SDK/MediaSDK">libmfx</ulink>,
<ulink url="https://sourceforge.net/projects/libmms/">libmms</ulink>,
<ulink url="https://github.com/Konstanty/libmodplug">libmodplug</ulink>,
<ulink url="https://libnice.freedesktop.org/">libnice</ulink>,
<ulink url="https://code.google.com/p/musicip-libofa/">libofa</ulink>,
<ulink url="https://lib.openmpt.org/libopenmpt/">libopenmpt</ulink>,
<ulink url="https://structure.io/openni">libopenni</ulink>,
<ulink url="https://github.com/cisco/libsrtp">libsrtp</ulink>,
<ulink url="https://drobilla.net/software/lilv">lilv</ulink>,
<ulink url="https://github.com/swh/LRDF">LRDF</ulink>,
<ulink url="https://github.com/x42/ltc-tools">ltc-tools</ulink>,
<ulink url="https://github.com/videolabs/libmicrodns">microdns</ulink>,
<ulink url="https://mjpeg.sourceforge.net/">MJPEG Tools</ulink>,
<ulink url="https://snyk.io/advisor/npm-package/mplex2">mplex2</ulink>,
<ulink url="https://www.musepack.net/">musepack</ulink>,
<ulink url="https://github.com/microsoft/onnxruntime">onnxruntime</ulink>,
<ulink url="https://openal.org/">OpenAL</ulink>,
<ulink url="https://www.openexr.com/">OpenEXR</ulink>,
<ulink url="https://www.openh264.org/">OpenH264</ulink>,
<ulink url="https://gstreamer.freedesktop.org/src/orc/">Orc</ulink>,
<ulink url="https://rtmpdump.mplayerhq.hu/">rtmpdump</ulink>,
<ulink url="https://github.com/jart/spandsp">spandsp</ulink>,
<ulink url="https://github.com/Haivision/srt">Srt</ulink>,
<ulink url="https://github.com/OpenVisualCloud/SVT-HEVC/">svthevcenc</ulink>,
<ulink url="https://sourceforge.net/projects/opencore-amr/files/vo-aacenc/">VO AAC</ulink>,
<ulink url="https://sourceforge.net/projects/opencore-amr/files/vo-amrwbenc/">VO AMRWB</ulink>,
<!--<ulink url="https://vulkan.lunarg.com/sdk/home/">Vulkan</ulink>,-->
<ulink url="https://www.mindwerks.net/projects/wildmidi/">WildMidi</ulink>,
<ulink url="https://webkit.org/wpe/">WPE-WebKit</ulink>,
<ulink url="https://zbar.sourceforge.net/">ZBAR</ulink>,
<ulink url="https://zapping.sourceforge.net/ZVBI/index.html/">ZVBI</ulink>, and
<ulink url="https://github.com/zxing/zxing">zxing</ulink>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of GStreamer Bad Plug-ins</title>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/gst10-objc-error.xml"/>
-->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/gst10-plugins.xml"/>
<para>
Install <application>GStreamer Bad Plug-ins</application> by running the
following commands:
</para>
<screen><userinput>mkdir build &amp;&amp;
cd build &amp;&amp;
meson setup .. \
--prefix=/usr \
--buildtype=release \
-Dgpl=enabled \
-Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/&blfs-version;/ \
-Dpackage-name="GStreamer &gst10-plugins-bad-version; BLFS" &amp;&amp;
ninja</userinput></screen>
<para>
To test the results, issue: <command>ninja test</command>. Several tests
need a terminal emulator in a graphical session. Three tests,
<emphasis>elements_vacompositor</emphasis>,
<emphasis>elements_netsim</emphasis>, and
<emphasis>elements_dash_mpd</emphasis>, are known to fail.
<!-- Upstream issue is https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3124 -->
<!-- Upstream issue gst-plugins-bad/#1426 -->
If <xref linkend='gst10-plugins-good'/> is not installed, two tests
<emphasis>elements_rtpsrc</emphasis> and
<emphasis>elements_rtpsink</emphasis> will fail.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>ninja install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/meson-buildtype-release.xml"/>
<para>
<parameter>-Dgpl=enabled</parameter>: Without this switch, plugins with
dependencies on (A)GPL licensed libraries are not built.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
gst-transcoder-1.0 and
playout
</seg>
<seg>
libgstadaptivedemux-1.0.so,
libgstbadaudio-1.0.so,
libgstbasecamerabinsrc-1.0.so,
libgstcuda-1.0.so,
libgstcodecparsers-1.0.so,
libgstcodecs-1.0.so,
libgstinsertbin-1.0.so,
libgstisoff-1.0.so,
libgstmpegts-1.0.so,
libgstphotography-1.0.so,
libgstplay-1.0.so,
libgstplayer-1.0.so,
libgstsctp-1.0.so,
libgsttranscoder-1.0.so,
libgsturidownloader-1.0.so,
libgstva-1.0.so,
libgstwayland-1.0.so,
libgstwebrtc-1.0.so, and
several plugins under /usr/lib/gstreamer-1.0
</seg>
<seg>
/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}
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="gst-transcoder-1.0">
<term><command>gst-transcoder-1.0</command></term>
<listitem>
<para>
is used to transcode a stream into a different format
</para>
<indexterm zone="gst10-plugins-bad gst-transcoder-1.0">
<primary sortas="b-gst-transcoder-1.0">gst-transcoder-1.0</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="playout">
<term><command>playout</command></term>
<listitem>
<para>
is an example application used to sequentially play a list of
audio-video files
</para>
<indexterm zone="gst10-plugins-bad playout">
<primary sortas="b-playout">playout</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>