source: multimedia/libdriv/gstreamer.xml@ cc60178

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since cc60178 was cc60178, checked in by Ken Moffat <ken@…>, 15 years ago

Updates for gstreamer and the plugins.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@7732 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 12.6 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY gstreamer-download-http "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-&gstreamer-version;.tar.bz2">
8 <!ENTITY gstreamer-download-ftp "&gnome-download-ftp;/gstreamer/0.10/gstreamer-&gstreamer-version;.tar.bz2">
9 <!ENTITY gstreamer-md5sum "7bad90af3fd81a1535363cf85359125c">
10 <!ENTITY gstreamer-size "2.5 MB">
11 <!ENTITY gstreamer-buildsize "47 MB (without static libs, another 8.5 MB for unit regression tests, another 5 MB each for API docs and HTML manual)">
12 <!ENTITY gstreamer-time "1.0 SBU (plus 1.1 SBU for unit regression tests, 0.9 SBU for API docs, 0.5 SBU for HTML manual)">
13]>
14
15<sect1 id="gstreamer" xreflabel="GStreamer-&gstreamer-version;">
16 <?dbhtml filename="gstreamer.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>GStreamer-&gstreamer-version;</title>
24
25 <indexterm zone="gstreamer">
26 <primary sortas="a-GStreamer">GStreamer</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to GStreamer</title>
31
32 <para>The <application>GStreamer</application> package contains a streaming
33 media framework that enables applications to share a common set of plugins for
34 things like video decoding and encoding, audio encoding and decoding, audio
35 and video filters, audio visualisation, Web streaming and anything else that
36 streams in real-time or otherwise. It is modelled after research software
37 worked on at the Oregon Graduate Institute. After installing
38 <application>GStreamer</application>, you'll likely need to install
39 one or more of the <xref linkend="gst-plugins-good"/>,
40 <xref linkend="gst-plugins-ugly"/>, <ulink
41 url="http://gstreamer.freedesktop.org/modules/gst-plugins-bad.html">GStreamer
42 Bad Plug-ins</ulink> and <ulink
43 url="http://gstreamer.freedesktop.org/modules/gst-ffmpeg.html">GStreamer
44 FFmpeg plug-in</ulink> packages.</para>
45
46 <bridgehead renderas="sect3">Package Information</bridgehead>
47 <itemizedlist spacing="compact">
48 <listitem>
49 <para>Download (HTTP): <ulink url="&gstreamer-download-http;"/></para>
50 </listitem>
51 <listitem>
52 <para>Download (FTP): <ulink url="&gstreamer-download-ftp;"/></para>
53 </listitem>
54 <listitem>
55 <para>Download MD5 sum: &gstreamer-md5sum;</para>
56 </listitem>
57 <listitem>
58 <para>Download size: &gstreamer-size;</para>
59 </listitem>
60 <listitem>
61 <para>Estimated disk space required: &gstreamer-buildsize;</para>
62 </listitem>
63 <listitem>
64 <para>Estimated build time: &gstreamer-time;</para>
65 </listitem>
66 </itemizedlist>
67
68 <bridgehead renderas="sect3">GStreamer Dependencies</bridgehead>
69
70 <bridgehead renderas="sect4">Required</bridgehead>
71 <para role="required"><xref linkend="glib2"/>
72 <xref linkend="libxml2"/>, and
73 <xref linkend="which"/></para>
74
75 <bridgehead renderas="sect4">Optional</bridgehead>
76 <para role="optional">
77 <ulink url="http://check.sourceforge.net/">Check</ulink>
78 (required to run the unit regression tests and also enables
79 <filename class='libraryfile'>libgstcheck-0.10</filename>), and
80 <ulink url="http://www.valgrind.org/">Valgrind</ulink>
81 (optionally used during the unit regression tests)</para>
82
83 <!-- exceptionally, there seems no way to install the shipped
84 API docs, so they have to be built, not rebuilt.-->
85 <bridgehead renderas="sect4">Optional (Required to build the API
86 Documentation)</bridgehead>
87 <para role="optional"><xref linkend="gtk-doc"/> and
88 <xref linkend="python"/> (compiled against an XML Parser such as
89 <xref linkend="expat"/>). Alternatively, developers can access
90 the online API docs at <ulink
91 url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/api-index-full.html">freedesktop.org</ulink>
92 </para>
93
94 <bridgehead renderas="sect4">Optional (Required to Build
95 Manuals)</bridgehead>
96 <para role="optional"><xref linkend="libxslt"/>,
97 <xref linkend="tetex"/>,
98 <xref linkend="docbook-utils"/>,
99 <ulink url="http://www.xfig.org/">Transfig</ulink> (all needed
100 to build the HTML manual), plus
101 <xref linkend="gs"/> or
102 <xref linkend="espgs"/>, and
103 <ulink url="http://netpbm.sourceforge.net/">Netpbm</ulink>
104 to build the postscript and PDF manuals.
105 Alternatively, developers can access the online manual at <ulink
106 url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/index.html">freedesktop.org</ulink>
107 </para>
108
109 <para condition="html" role="usernotes">User Notes:
110 <ulink url="&blfs-wiki;/gstreamer"/></para>
111
112 </sect2>
113
114 <sect2 role="installation">
115 <title>Installation of GStreamer</title>
116
117 <!-- Commenting as the Valgrind stuff has been fixed, but leaving it in
118 here so in case we need it again
119 <para>Newer versions of <application>Valgrind</application> are known to
120 cause the build to break. If you have <application>Valgrind</application>
121 version &gt;= 3.1.0 installed, you should add
122 <option>-disable-valgrind</option> to the <command>configure</command>
123 command below so the build will complete.</para>
124 -->
125
126 <para>Install <application>GStreamer</application> by running the following
127 commands:</para>
128
129<screen><userinput>sed -i 's/\(.*gtkdoc-rebase --relative.* \)\(;.*\)/\1|| true\2/' \
130 docs/{gst,libs}/Makefile.in &amp;&amp;
131./configure --prefix=/usr &amp;&amp;
132make</userinput></screen>
133
134 <para>To test the results, issue: <command>make check</command>. There are
135 many other <filename>Makefile</filename> targets you can specify for
136 running the tests, issue <command>make -C tests/check help</command> to see
137 the complete list.</para>
138
139 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
140
141<screen role="root"><userinput>make install &amp;&amp;
142install -v -m755 -d /usr/share/doc/gstreamer-0.10/design &amp;&amp;
143install -v -m644 docs/design/*.txt \
144 /usr/share/doc/gstreamer-0.10/design &amp;&amp;
145
146if [ -d /usr/share/doc/gstreamer-0.10/faq/html ]; then
147 chown -v -R root:root \
148 /usr/share/doc/gstreamer-0.10/*/html
149fi</userinput></screen>
150
151 <!-- Gtk-Docs are now installed by default, even without building them
152 <para>If you did not rebuild the API documentation by passing
153 <option>-enable-gtk-doc</option> to the <command>configure</command>
154 script and you wish to install the pre-built documentation, issue the
155 following command as the <systemitem class="username">root</systemitem>
156 user:</para>
157
158<screen role="root"><userinput>for DOCS in gst libs plugins; do make -C docs/$DOCS install-data; done</userinput></screen>
159 -->
160
161 <sect3>
162 <title>Testing the Installation</title>
163
164 <para>To test the functionality of the
165 <application>GStreamer</application> installation, you can run a simple
166 test as an unprivileged user (you may have to run
167 <command>ldconfig</command> as the
168 <systemitem class="username">root</systemitem> user before attempting
169 the test).</para>
170
171<screen><userinput>gst-launch -v fakesrc num_buffers=5 ! fakesink</userinput></screen>
172
173 <para>If the command outputs a series of messages from fakesrc and
174 fakesink, everything is okay.</para>
175
176 </sect3>
177
178 </sect2>
179
180 <sect2 role="commands">
181 <title>Command Explanations</title>
182
183 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
184 href="../../xincludes/gtk-doc-rebuild.xml"/>
185
186 <para><option>sed -i 's/\(.*gtkdoc-rebase --relative.* \)\(;.*\)/\1|| true\2/' \
187 docs/{gst,libs}/Makefile.in</option>: Two of the Makefiles test if
188 <command>gtkdoc-rebase</command> is present, and only use it if it is,
189 but the test <command>which gtk-doc</command> is interpreted as an error by
190 <command>make</command> if <command>gtkdoc-rebase</command> is not present. The
191 <command>sed</command> command ensures the command is always regarded as
192 successful.</para>
193
194 <para><option>--disable-static</option>: This switch prevents the static
195 libraries from being built.</para>
196
197 <para><option>--enable-docbook</option>: This parameter is used to build
198 HTML, PDF and PostScript versions of the
199 <application>GStreamer</application> User's Manual, FAQ and Writer's Guide.
200 Note that you must have all the listed dependencies installed.</para>
201
202 <para><command>chown -v -R root:root ...</command>: The documentation is
203 installed with ownerships of the user who untarred and built the package.
204 This command changes the ownerships of the installed documentation files to
205 root:root and is only executed if the documentation files were built and
206 installed.</para>
207
208 </sect2>
209
210 <sect2 role="content">
211 <title>Contents</title>
212
213 <segmentedlist>
214 <segtitle>Installed Programs</segtitle>
215 <segtitle>Installed Libraries</segtitle>
216 <segtitle>Installed Directories</segtitle>
217
218 <seglistitem>
219 <seg>gst-feedback{,-0.10}, gst-inspect{,-0.10}, gst-launch{,-0.10},
220 gst-typefind{,-0.10}, gst-xmllaunch{,-0.10} and
221 gst-xmlinspect{,-0.10}</seg>
222 <seg>libgstbase-0.10.{so,a}, libgstcheck-0.10.{so,a},
223 libgstcontroller-0.10.{so,a}, libgstdataprotocol-0.10.{so,a},
224 libgstnet-0.10.{so,a}, libgstreamer-0.10.{so,a}, and
225 libgst*.{so,a} plugin modules</seg>
226 <seg>/usr/include/gstreamer-0.10, /usr/lib/gstreamer-0.10,
227 /usr/share/doc/gstreamer-0.10,
228 /usr/share/gtk-doc/html/gstreamer{,-libs,-plugins}-0.10</seg>
229 </seglistitem>
230 </segmentedlist>
231
232 <variablelist>
233 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
234 <?dbfo list-presentation="list"?>
235 <?dbhtml list-presentation="table"?>
236
237 <varlistentry id="gst-feedback">
238 <term><command>gst-feedback-0.10</command></term>
239 <listitem>
240 <para>generates debug info for <application>GStreamer</application>
241 bug reports.</para>
242 <indexterm zone="gstreamer gst-feedback">
243 <primary sortas="b-gst-feedback">gst-feedback-0.10</primary>
244 </indexterm>
245 </listitem>
246 </varlistentry>
247
248 <varlistentry id="gst-inspect">
249 <term><command>gst-inspect-0.10</command></term>
250 <listitem>
251 <para>prints information about a
252 <application>GStreamer</application> plugin or element.</para>
253 <indexterm zone="gstreamer gst-inspect">
254 <primary sortas="b-gst-inspect">gst-inspect-0.10</primary>
255 </indexterm>
256 </listitem>
257 </varlistentry>
258
259 <varlistentry id="gst-launch">
260 <term><command>gst-launch-0.10</command></term>
261 <listitem>
262 <para>is a tool that builds and runs basic
263 <application>GStreamer</application> pipelines.</para>
264 <indexterm zone="gstreamer gst-launch">
265 <primary sortas="b-gst-launch">gst-launch-0.10</primary>
266 </indexterm>
267 </listitem>
268 </varlistentry>
269
270 <varlistentry id="gst-typefind">
271 <term><command>gst-typefind-0.10</command></term>
272 <listitem>
273 <para>uses the <application>GStreamer</application> type finding
274 system to determine the relevant <application>GStreamer</application>
275 plugin to parse or decode a file, and determine the corresponding
276 MIME type.</para>
277 <indexterm zone="gstreamer gst-typefind">
278 <primary sortas="b-gst-typefind">gst-typefind-0.10</primary>
279 </indexterm>
280 </listitem>
281 </varlistentry>
282
283 <varlistentry id="gst-xmlinspect">
284 <term><command>gst-xmlinspect-0.10</command></term>
285 <listitem>
286 <para>prints information about a <application>GStreamer</application>
287 plugin or element in XML document format.</para>
288 <indexterm zone="gstreamer gst-xmlinspect">
289 <primary sortas="b-gst-xmlinspect">gst-xmlinspect-0.10</primary>
290 </indexterm>
291 </listitem>
292 </varlistentry>
293
294 <varlistentry id="gst-xmllaunch">
295 <term><command>gst-xmllaunch-0.10</command></term>
296 <listitem>
297 <para>is used to build and run a basic <application>GStreamer</application>
298 pipeline, loading it from an XML description.</para>
299 <indexterm zone="gstreamer gst-xmllaunch">
300 <primary sortas="b-gst-xmllaunch">gst-xmllaunch-0.10</primary>
301 </indexterm>
302 </listitem>
303 </varlistentry>
304
305 </variablelist>
306
307 </sect2>
308
309</sect1>
Note: See TracBrowser for help on using the repository browser.