source: multimedia/videoutils/ffmpeg.xml@ d84a7b0

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.3 6.3-rc1 6.3-rc2 6.3-rc3 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 d84a7b0 was d84a7b0, checked in by Randy McMurchy <randy@…>, 17 years ago

Added a note to the FFmpeg instructions about building the postprocessing library

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

  • Property mode set to 100644
File size: 12.2 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 ffmpeg-download-http "&files-anduin;/sources/ffmpeg-&ffmpeg-version;.tar.bz2">
8 <!ENTITY ffmpeg-download-ftp " ">
9 <!ENTITY ffmpeg-md5sum "abae526f04693c08684f0a18c28e3313">
10 <!ENTITY ffmpeg-size "2.2 MB">
11 <!ENTITY ffmpeg-buildsize "131 MB (built with all dependencies)">
12 <!ENTITY ffmpeg-time "1.8 SBU">
13]>
14
15<sect1 id="ffmpeg" xreflabel="FFmpeg-&ffmpeg-version;">
16 <?dbhtml filename="ffmpeg.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>FFmpeg-&ffmpeg-version;</title>
24
25 <indexterm zone="ffmpeg">
26 <primary sortas="a-FFmpeg">FFmpeg</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to FFmpeg</title>
31
32 <para><application>FFmpeg</application> is a solution to record, convert and
33 stream audio and video. It is a very fast video and audio converter and it can
34 also acquire from a live audio/video source. Designed to be intuitive, the
35 command-line interface (<command>ffmpeg</command>) tries to figure out all the
36 parameters, when possible. <application>FFmpeg</application> can also convert
37 from any sample rate to any other, and resize video on the fly with a high
38 quality polyphase filter. <application>FFmpeg</application> can use a
39 video4linux compatible video source and any Open Sound System audio
40 source. The developers of this package do not create or distribute package
41 tarballs any longer. BLFS created the tarball for this package by checking
42 out from upstream SVN the <application>FFmpeg</application> code dated
43 June 6, 2007.</para>
44
45 <bridgehead renderas="sect3">Package Information</bridgehead>
46 <itemizedlist spacing="compact">
47 <listitem>
48 <para>Download (HTTP): <ulink url="&ffmpeg-download-http;"/></para>
49 </listitem>
50 <listitem>
51 <para>Download (FTP): <ulink url="&ffmpeg-download-ftp;"/></para>
52 </listitem>
53 <listitem>
54 <para>Download MD5 sum: &ffmpeg-md5sum;</para>
55 </listitem>
56 <listitem>
57 <para>Download size: &ffmpeg-size;</para>
58 </listitem>
59 <listitem>
60 <para>Estimated disk space required: &ffmpeg-buildsize;</para>
61 </listitem>
62 <listitem>
63 <para>Estimated build time: &ffmpeg-time;</para>
64 </listitem>
65 </itemizedlist>
66
67 <!-- <bridgehead renderas="sect3">Additional Downloads</bridgehead>
68 <itemizedlist spacing="compact">
69 <listitem>
70 <para>Required patch: <ulink
71 url="&patch-root;/ffmpeg-&ffmpeg-version;-gcc4-1.patch"/></para>
72 </listitem>
73 <listitem>
74 <para>Required patch: <ulink
75 url="&patch-root;/ffmpeg-&ffmpeg-version;-amr_fixes-1.patch"/></para>
76 </listitem>
77 </itemizedlist> -->
78
79 <bridgehead renderas="sect3">FFmpeg Dependencies</bridgehead>
80
81 <bridgehead renderas="sect4">Optional</bridgehead>
82 <para role="optional">
83 <ulink url="http://www.penguin.cz/~utx/amr">AMR narrowband (floating point)</ulink>,
84 <ulink url="http://www.penguin.cz/~utx/amr">AMR wideband</ulink>,
85 <ulink url="http://sourceforge.net/projects/faac">FAAC</ulink>,
86 <ulink url="http://sourceforge.net/projects/faac">FAAD2</ulink>,
87 <xref linkend="freetype2"/>,
88 <ulink url="http://kbs.cs.tu-berlin.de/~jutta/gsm/">GSM</ulink>,
89 <xref linkend="imlib2"/>,
90 <xref linkend="lame"/>,
91 <xref linkend="liba52"/>,
92 <ulink url="http://sourceforge.net/projects/libdc1394">libdc1394</ulink>,
93 <ulink url="http://svn.mplayerhq.hu/nut/src/trunk/">libnut</ulink> (SVN checkout),
94 <xref linkend="libvorbis"/>,
95 <ulink url="http://medialibrary.sourceforge.net/">MediaLibrary</ulink>,
96 <xref linkend="sdl"/>,
97 <ulink url="http://www.theora.org/">Theora</ulink>,
98 <xref linkend="x-window-system"/>,
99 <ulink url="http://www.videolan.org/developers/x264.html">x264</ulink>,
100 <xref linkend="xvid"/>, and
101 <xref linkend="tetex"/> (to build HTML documentation)</para>
102
103 <para condition="html" role="usernotes">User Notes:
104 <ulink url="&blfs-wiki;/ffmpeg"/></para>
105
106 </sect2>
107
108 <sect2 role="installation">
109 <title>Installation of FFmpeg</title>
110
111 <para>Review the <filename>doc/optimization.txt</filename> file in the
112 source tree for information about optimizing the build. Additionally,
113 you may want to build the postprocessing library as other packages such
114 as <application>MPlayer</application> and
115 <application>Transcode</application> can utilize it (see the
116 <quote>Command Explanations</quote> section for additional
117 information).</para>
118
119 <para>Install <application>FFmpeg</application> by running the following
120 commands:</para>
121
122<screen><userinput>./configure --prefix=/usr \
123 --enable-shared \
124 --enable-pthreads \
125 --disable-ffplay &amp;&amp;
126sed -i 's|/man|/share/man|' config.mak &amp;&amp;
127make &amp;&amp;
128texi2html --version >/dev/null 2>&amp;1 || make doc/ff{mpeg,play,server}.1</userinput></screen>
129
130 <para>If you have <application>teTeX</application> installed, the HTML
131 documentation was built during the <command>make</command> process. If you
132 wish to create additional formats of the documentation, you must have
133 <application>teTeX</application> installed, then issue following
134 commands:</para>
135
136<screen><userinput>cd doc &amp;&amp;
137for DOCNAME in faq ffmpeg-doc hooks ffserver-doc ffplay-doc; do
138 texi2dvi -b -p $DOCNAME.texi
139 texi2dvi -b $DOCNAME.texi
140 dvips -o $DOCNAME.ps $DOCNAME.dvi
141 if [ $DOCNAME = ffserver-doc ] || [ $DOCNAME = ffplay-doc ]; then \
142 continue
143 fi
144 makeinfo --plaintext --force -o $DOCNAME.txt $DOCNAME.texi
145done &amp;&amp;
146cd .. &amp;&amp;
147unset DOCNAME</userinput></screen>
148
149 <para>If you have <xref linkend="doxygen"/> installed and wish to create
150 the API documentation (takes about 100 MB of space), issue
151 <command>doxygen</command>.</para>
152
153 <para>This package does not come with a test suite that works.</para>
154
155 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
156
157<screen role="root"><userinput>make install &amp;&amp;
158install -v -m755 -d /usr/share/doc/ffmpeg-&ffmpeg-version; &amp;&amp;
159install -v -m644 doc/*.txt /usr/share/doc/ffmpeg-&ffmpeg-version; &amp;&amp;
160texi2html --version >/dev/null 2>&amp;1 || make install-man</userinput></screen>
161
162 <para>If you created additional formats of the documentation,
163 install it by issuing the following commands as the
164 <systemitem class="username">root</systemitem> user:</para>
165
166<screen role="root"><userinput>install -v -m644 doc/*.{html,dvi,pdf,ps} \
167 /usr/share/doc/ffmpeg-&ffmpeg-version;</userinput></screen>
168
169 <para>If you created the API documentation, install it by issuing the
170 following commands as the
171 <systemitem class="username">root</systemitem> user:</para>
172
173<screen role="root"><userinput>install -v -m755 -d /usr/share/doc/ffmpeg-&ffmpeg-version;/api &amp;&amp;
174cp -v doxy/* /usr/share/doc/ffmpeg-&ffmpeg-version;/api</userinput></screen>
175
176 </sect2>
177
178 <sect2 role="commands">
179 <title>Command Explanations</title>
180
181 <para><parameter>--enable-shared</parameter>: This switch is needed to
182 build the shared libraries, otherwise only static libraries are built
183 and installed.</para>
184
185 <para><parameter>--enable-pthreads</parameter>: This switch enables the
186 build to link against the Posix threads library.</para>
187
188 <para><parameter>--disable-ffplay</parameter>: Only installs the server part.
189 <command>ffplay</command> requires <application>X</application> for
190 building. Remove this option if <application>X</application> is
191 installed.</para>
192
193 <para><option>--enable-<replaceable>&lt;codec&gt;</replaceable></option>: Review
194 the available options and codecs using the
195 <command>./configure --help</command> command. You must explicitly enable
196 each optional codec. Note that if you wish to build support for
197 postprocessing, liba52, xvid, x264, libfaad2, x11grab or swscaler, you
198 must pass <option>--enable-gpl</option> to the
199 <command>configure</command> script.</para>
200
201 <para><command>texi2html --version ...</command>: These commands are used
202 to check the presence of the <application>teTeX</application> package, and
203 builds/installs the man pages if it is not found.</para>
204
205 </sect2>
206
207 <sect2 role="configuration">
208 <title>Configuring FFmpeg</title>
209
210 <sect3 id="ffmpeg-config">
211 <title>Config Files</title>
212
213 <para><filename>/etc/ffserver.conf</filename> and
214 <filename>~/.ffmpeg/ffserver-config</filename></para>
215
216 <indexterm zone="ffmpeg ffmpeg-config">
217 <primary sortas="e-AA.ffmpeg-ffserver-config">~/.ffmpeg/ffserver-config</primary>
218 </indexterm>
219
220 <indexterm zone="ffmpeg ffmpeg-config">
221 <primary sortas="e-etc-ffserver.conf">/etc/ffserver.conf</primary>
222 </indexterm>
223
224 <para>You'll find a sample ffserver configuration file at
225 <ulink url="http://ffmpeg.sourceforge.net/sample.html"/> (also
226 <filename>doc/ffserver.conf</filename> in the source tree).</para>
227
228 </sect3>
229
230 </sect2>
231
232 <sect2 role="content">
233 <title>Contents</title>
234
235 <segmentedlist>
236 <segtitle>Installed Programs</segtitle>
237 <segtitle>Installed Libraries</segtitle>
238 <segtitle>Installed Directories</segtitle>
239
240 <seglistitem>
241 <seg>ffmpeg, ffserver, and optionally, ffplay</seg>
242 <seg>libavcodec.{so,a}, libavformat.{so,a}, libavutil.{so,a},
243 video hook modules and optionally, libpostproc.{so,a}</seg>
244 <seg>/usr/include/ffmpeg, /usr/include/postproc, /usr/lib/vhook, and
245 /usr/share/doc/ffmpeg-&ffmpeg-version;</seg>
246 </seglistitem>
247 </segmentedlist>
248
249 <variablelist>
250 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
251 <?dbfo list-presentation="list"?>
252 <?dbhtml list-presentation="table"?>
253
254 <varlistentry id="ffmpeg-prog">
255 <term><command>ffmpeg</command></term>
256 <listitem>
257 <para>is a command-line tool to convert video files, network streams
258 and input from a TV card to several video formats.</para>
259 <indexterm zone="ffmpeg ffmpeg-prog">
260 <primary sortas="b-ffmpeg">ffmpeg</primary>
261 </indexterm>
262 </listitem>
263 </varlistentry>
264
265 <varlistentry id="ffplay">
266 <term><command>ffplay</command></term>
267 <listitem>
268 <para>is a very simple and portable media player using the
269 <filename>ffmpeg</filename> libraries and the SDL library.</para>
270 <indexterm zone="ffmpeg ffplay">
271 <primary sortas="b-ffplay">ffplay</primary>
272 </indexterm>
273 </listitem>
274 </varlistentry>
275
276 <varlistentry id="ffserver">
277 <term><command>ffserver</command></term>
278 <listitem>
279 <para>is a streaming server for everything that <command>ffmpeg</command>
280 could use as input (files, streams, TV card input, webcam, etc.).</para>
281 <indexterm zone="ffmpeg ffserver">
282 <primary sortas="b-ffserver">ffserver</primary>
283 </indexterm>
284 </listitem>
285 </varlistentry>
286
287 <varlistentry id="libavcodec">
288 <term><filename class='libraryfile'>libavcodec.so</filename></term>
289 <listitem>
290 <para>is a library containing the <application>FFmpeg</application>
291 codecs (both encoding and decoding).</para>
292 <indexterm zone="ffmpeg libavcodec">
293 <primary sortas="c-libavcodec">libavcodec.so</primary>
294 </indexterm>
295 </listitem>
296 </varlistentry>
297
298 <varlistentry id="libavformat">
299 <term><filename class='libraryfile'>libavformat.so</filename></term>
300 <listitem>
301 <para>is a library containing the file formats handling (mux and demux code
302 for several formats) used by <command>ffplay</command> as well as
303 allowing the generation of audio or video streams.</para>
304 <indexterm zone="ffmpeg libavformat">
305 <primary sortas="c-libavformat">libavformat.so</primary>
306 </indexterm>
307 </listitem>
308 </varlistentry>
309
310 </variablelist>
311
312 </sect2>
313
314</sect1>
Note: See TracBrowser for help on using the repository browser.