glfs/multimedia/libdriv/gstreamer.xml

310 lines
12 KiB
XML
Raw Normal View History

<?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 gstreamer-download-http "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-&gstreamer-version;.tar.bz2">
<!ENTITY gstreamer-download-ftp "&gnome-download-ftp;/gstreamer/0.10/gstreamer-&gstreamer-version;.tar.bz2">
<!ENTITY gstreamer-md5sum "88544e034a051baf472983791d233076">
<!ENTITY gstreamer-size "2.9 MB">
<!ENTITY gstreamer-buildsize "82 MB">
<!ENTITY gstreamer-time "2.4 SBU">
]>
<sect1 id="gstreamer" xreflabel="GStreamer-&gstreamer-version;">
<?dbhtml filename="gstreamer.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>GStreamer-&gstreamer-version;</title>
<indexterm zone="gstreamer">
<primary sortas="a-GStreamer">GStreamer</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to GStreamer</title>
<para>The <application>GStreamer</application> package contains a streaming
media framework that enables applications to share a common set of plugins for
things like video decoding and encoding, audio encoding and decoding, audio
and video filters, audio visualisation, Web streaming and anything else that
streams in real-time or otherwise. It is modelled after research software
worked on at the Oregon Graduate Institute. After installing
<application>GStreamer</application>, you'll likely need to install
one or more of the <xref linkend="gst-plugins-good"/>,
<xref linkend="gst-plugins-ugly"/>, <ulink
url="http://gstreamer.freedesktop.org/modules/gst-plugins-bad.html">GStreamer
Bad Plug-ins</ulink> and <ulink
url="http://gstreamer.freedesktop.org/modules/gst-ffmpeg.html">GStreamer
FFmpeg plug-in</ulink> packages.</para>
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&gstreamer-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&gstreamer-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &gstreamer-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &gstreamer-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &gstreamer-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &gstreamer-time;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">GStreamer Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required"><xref linkend="glib2"/>, and
<xref linkend="libxml2"/></para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<ulink url="http://www.gnu.org/software/gsl/">GSL</ulink>,
<xref linkend='check'/> (required to run the unit regression tests and also enables
<filename class='libraryfile'>libgstcheck-0.10</filename>), and
<ulink url="http://www.valgrind.org/">Valgrind</ulink>
(optionally used during the unit regression tests)
</para>
<!-- exceptionally, there seems no way to install the shipped
API docs, so they have to be built, not rebuilt.-->
<bridgehead renderas="sect4">Optional (Required to build the API
Documentation)</bridgehead>
<para role="optional"><xref linkend="gtk-doc"/> and
<xref linkend="python"/> (compiled against an XML Parser such as
<xref linkend="expat"/>). Alternatively, developers can access
the online API docs at <ulink
url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/api-index-full.html">freedesktop.org</ulink>
</para>
<bridgehead renderas="sect4">Optional (Required to Build
Manuals)</bridgehead>
<para role="optional"><xref linkend="libxslt"/>,
<!--<xref linkend="tetex"/> or--> <xref linkend="texlive"/>,
<xref linkend="docbook-utils"/>,
<ulink url="http://www.xfig.org/">Transfig</ulink> (all needed
to build the HTML manual), plus
<xref linkend="gs"/>, and <!-- or
<xref linkend="espgs"/>, and -->
<ulink url="http://netpbm.sourceforge.net/">Netpbm</ulink>
to build the postscript and PDF manuals.
Alternatively, developers can access the online manual at <ulink
url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/index.html">freedesktop.org</ulink>
</para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/gstreamer"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of GStreamer</title>
<!-- Commenting as the Valgrind stuff has been fixed, but leaving it in
here so in case we need it again
<para>Newer versions of <application>Valgrind</application> are known to
cause the build to break. If you have <application>Valgrind</application>
version &gt;= 3.1.0 installed, you should add
<option>-disable-valgrind</option> to the <command>configure</command>
command below so the build will complete.</para>
-->
<para>Install <application>GStreamer</application> by running the following
commands:</para>
<screen><userinput>sed -i 's/\(.*gtkdoc-rebase --relative.* \)\(;.*\)/\1|| true\2/' \
docs/{gst,libs}/Makefile.in &amp;&amp;
./configure --prefix=/usr &amp;&amp;
make</userinput></screen>
<para>To test the results, issue: <command>make check</command>. There are
many other <filename>Makefile</filename> targets you can specify for
running the tests, issue <command>make -C tests/check help</command> to see
the complete list.</para>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make install &amp;&amp;
install -v -m755 -d /usr/share/doc/gstreamer-0.10/design &amp;&amp;
install -v -m644 docs/design/*.txt \
/usr/share/doc/gstreamer-0.10/design &amp;&amp;
if [ -d /usr/share/doc/gstreamer-0.10/faq/html ]; then
chown -v -R root:root \
/usr/share/doc/gstreamer-0.10/*/html
fi</userinput></screen>
<!-- Gtk-Docs are now installed by default, even without building them
<para>If you did not rebuild the API documentation by passing
<option>-enable-gtk-doc</option> to the <command>configure</command>
script and you wish to install the pre-built documentation, issue the
following command as the <systemitem class="username">root</systemitem>
user:</para>
<screen role="root"><userinput>for DOCS in gst libs plugins; do make -C docs/$DOCS install-data; done</userinput></screen>
-->
<sect3>
<title>Testing the Installation</title>
<para>To test the functionality of the
<application>GStreamer</application> installation, you can run a simple
test as an unprivileged user (you may have to run
<command>ldconfig</command> as the
<systemitem class="username">root</systemitem> user before attempting
the test).</para>
<screen><userinput>gst-launch -v fakesrc num_buffers=5 ! fakesink</userinput></screen>
<para>If the command outputs a series of messages from fakesrc and
fakesink, everything is okay.</para>
</sect3>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/gtk-doc-rebuild.xml"/>
<para><option>sed -i 's/\(.*gtkdoc-rebase --relative.* \)\(;.*\)/\1|| true\2/' \
docs/{gst,libs}/Makefile.in</option>: Two of the Makefiles test if
<command>gtkdoc-rebase</command> is present, and only use it if it is,
but the test <command>which gtk-doc</command> is interpreted as an error by
<command>make</command> if <command>gtkdoc-rebase</command> is not present. The
<command>sed</command> command ensures the command is always regarded as
successful.</para>
<para><option>--disable-static</option>: This switch prevents the static
libraries from being built.</para>
<para><option>--enable-docbook</option>: This parameter is used to build
HTML, PDF and PostScript versions of the
<application>GStreamer</application> User's Manual, FAQ and Writer's Guide.
Note that you must have all the listed dependencies installed.</para>
<para><command>chown -v -R root:root ...</command>: The documentation is
installed with ownerships of the user who untarred and built the package.
This command changes the ownerships of the installed documentation files to
root:root and is only executed if the documentation files were built and
installed.</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>gst-feedback{,-0.10}, gst-inspect{,-0.10}, gst-launch{,-0.10},
gst-typefind{,-0.10}, gst-xmlinspect{,-0.10} and
gst-xmllaunch{,-0.10}</seg>
<seg>libgstbase-0.10.{so,a}, libgstcheck-0.10.{so,a},
libgstcontroller-0.10.{so,a}, libgstdataprotocol-0.10.{so,a},
libgstnet-0.10.{so,a}, libgstreamer-0.10.{so,a}, and
libgst*.{so,a} plugin modules</seg>
<seg>/usr/include/gstreamer-0.10, /usr/lib/gstreamer-0.10,
/usr/share/doc/gstreamer-0.10,
/usr/share/gtk-doc/html/gstreamer{,-libs,-plugins}-0.10</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="gst-feedback">
<term><command>gst-feedback-0.10</command></term>
<listitem>
<para>generates debug info for <application>GStreamer</application>
bug reports.</para>
<indexterm zone="gstreamer gst-feedback">
<primary sortas="b-gst-feedback">gst-feedback-0.10</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gst-inspect">
<term><command>gst-inspect-0.10</command></term>
<listitem>
<para>prints information about a
<application>GStreamer</application> plugin or element.</para>
<indexterm zone="gstreamer gst-inspect">
<primary sortas="b-gst-inspect">gst-inspect-0.10</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gst-launch">
<term><command>gst-launch-0.10</command></term>
<listitem>
<para>is a tool that builds and runs basic
<application>GStreamer</application> pipelines.</para>
<indexterm zone="gstreamer gst-launch">
<primary sortas="b-gst-launch">gst-launch-0.10</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gst-typefind">
<term><command>gst-typefind-0.10</command></term>
<listitem>
<para>uses the <application>GStreamer</application> type finding
system to determine the relevant <application>GStreamer</application>
plugin to parse or decode a file, and determine the corresponding
MIME type.</para>
<indexterm zone="gstreamer gst-typefind">
<primary sortas="b-gst-typefind">gst-typefind-0.10</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gst-xmlinspect">
<term><command>gst-xmlinspect-0.10</command></term>
<listitem>
<para>prints information about a <application>GStreamer</application>
plugin or element in XML document format.</para>
<indexterm zone="gstreamer gst-xmlinspect">
<primary sortas="b-gst-xmlinspect">gst-xmlinspect-0.10</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gst-xmllaunch">
<term><command>gst-xmllaunch-0.10</command></term>
<listitem>
<para>is used to build and run a basic <application>GStreamer</application>
pipeline, loading it from an XML description.</para>
<indexterm zone="gstreamer gst-xmllaunch">
<primary sortas="b-gst-xmllaunch">gst-xmllaunch-0.10</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>