source: multimedia/videoutils/ffmpeg.xml@ baf1e23

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 baf1e23 was baf1e23, checked in by Andrew Benton <andy@…>, 12 years ago

ffmpeg-0.11.1

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

  • Property mode set to 100644
File size: 16.4 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
8 "http://ffmpeg.org/releases/ffmpeg-&ffmpeg-version;.tar.bz2">
9 <!ENTITY ffmpeg-download-ftp " ">
10 <!ENTITY ffmpeg-md5sum "ff8cb914f657e164dd60ea1008b555a8">
11 <!ENTITY ffmpeg-size "5.8 MB">
12 <!ENTITY ffmpeg-buildsize "256 MB">
13 <!ENTITY ffmpeg-time "3.9 SBU">
14]>
15
16<sect1 id="ffmpeg" xreflabel="FFmpeg-&ffmpeg-version;">
17 <?dbhtml filename="ffmpeg.html"?>
18
19 <sect1info>
20 <othername>$LastChangedBy$</othername>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>FFmpeg-&ffmpeg-version;</title>
25
26 <indexterm zone="ffmpeg">
27 <primary sortas="a-FFmpeg">FFmpeg</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to FFmpeg</title>
32
33 <para>
34 <application>FFmpeg</application> is a solution to record, convert and
35 stream audio and video. It is a very fast video and audio converter and it
36 can also acquire from a live audio/video source. Designed to be intuitive,
37 the command-line interface (<command>ffmpeg</command>) tries to figure out
38 all the parameters, when possible. <application>FFmpeg</application> can
39 also convert from any sample rate to any other, and resize video on the
40 fly with a high quality polyphase filter.
41 <application>FFmpeg</application> can use a video4linux compatible video
42 source and any Open Sound System audio source.
43 </para>
44
45 &lfs71_checked;
46
47 <bridgehead renderas="sect3">Package Information</bridgehead>
48 <itemizedlist spacing="compact">
49 <listitem>
50 <para>Download (HTTP): <ulink url="&ffmpeg-download-http;"/></para>
51 </listitem>
52 <listitem>
53 <para>Download (FTP): <ulink url="&ffmpeg-download-ftp;"/></para>
54 </listitem>
55 <listitem>
56 <para>Download MD5 sum: &ffmpeg-md5sum;</para>
57 </listitem>
58 <listitem>
59 <para>Download size: &ffmpeg-size;</para>
60 </listitem>
61 <listitem>
62 <para>Estimated disk space required: &ffmpeg-buildsize;</para>
63 </listitem>
64 <listitem>
65 <para>Estimated build time: &ffmpeg-time;</para>
66 </listitem>
67 </itemizedlist>
68
69 <bridgehead renderas="sect3">FFmpeg Dependencies</bridgehead>
70
71 <bridgehead renderas="sect4">Recommended</bridgehead>
72 <para role="recommended"><xref linkend="yasm"/></para>
73
74 <bridgehead renderas="sect4">Optional</bridgehead>
75 <para role="optional">
76 <xref linkend="faad2"/>,
77 <xref linkend="lame"/>,
78 <xref linkend="libtheora"/>,
79 <xref linkend="libvorbis"/>,
80 <xref linkend="libvpx"/>,
81 <xref linkend="x-window-system"/>,
82 <ulink url="http://www.videolan.org/developers/x264.html">x264</ulink>
83 <xref linkend="xvid"/>,
84 <ulink url="http://sourceforge.net/projects/opencore-amr">OpenCore AMR</ulink>,
85 <xref linkend="faac"/>,
86 <xref linkend="freetype2"/>,
87 <ulink url="http://libgsm.sourcearchive.com/">GSM</ulink>,
88 <ulink url="http://sourceforge.net/projects/libdc1394">libdc1394</ulink>,
89 <ulink url="http://svn.mplayerhq.hu/nut/src/trunk/">libnut</ulink>
90 (SVN checkout),
91 <ulink url="http://xavs.sourceforge.net/">libxavs</ulink>
92 (SVN checkout),
93 <ulink url="http://sourceforge.net/projects/librtmp">librtmp</ulink>,
94 <ulink url="http://diracvideo.org/">libschroedinger</ulink>,
95 <ulink url="http://medialibrary.sourceforge.net/">MediaLibrary</ulink>,
96 <ulink
97 url="http://connect.creativelabs.com/openal/default.aspx">OpenAL</ulink>,
98 <ulink url="http://tipok.org.ua/node/17">libaacplus</ulink>,
99 <ulink url="http://code.google.com/p/libass/">libass</ulink>,
100 <ulink url="http://www.celt-codec.org/">libcelt</ulink>,
101 <ulink url="http://ftp.gnu.org/pub/gnu/libcdio/">libcdio</ulink>,
102 <ulink
103 url="http://sourceforge.net/projects/opencvlibrary/">libopencv</ulink>,
104 <ulink url="http://sourceforge.net/projects/libdc1394/">libdc1394</ulink>,
105 <ulink url="http://linuxtv.org/downloads/v4l-utils/">libv4l2</ulink>,
106 <xref linkend="openjpeg"/>
107 (<application>FFmpeg</application> includes code for it's own jpeg2000
108 encoder and decoder which is enabled by default),
109 <xref linkend="speex"/>,
110 <xref linkend="gnutls"/>,
111 <xref linkend="openssl"/>,
112 <xref linkend="sdl"/> and
113 <ulink url="http://www.nongnu.org/texi2html">texi2html</ulink>
114 (to build HTML documentation).</para>
115
116 <para condition="html" role="usernotes">
117 User Notes: <ulink url="&blfs-wiki;/ffmpeg"/>
118 </para>
119 </sect2>
120
121 <sect2 role="installation">
122 <title>Installation of FFmpeg</title>
123
124 <para>
125 Install <application>FFmpeg</application> by running the following
126 commands:
127 </para>
128
129<screen><userinput>mkdir build &amp;&amp;
130cd build &amp;&amp;
131../configure --prefix=/usr --enable-gpl \
132 --enable-shared --disable-static &amp;&amp;
133make</userinput></screen>
134
135 <para>
136 The <application>FFmpeg</application> source contains a tool called
137 <command>qt-faststart</command> that can modify QuickTime formatted movies
138 (mov or mp4) so that the header information is located at the beginning of
139 the file instead of the end. This allows video players to begin playing
140 the content before the entire file has been downloaded. An example of
141 where this is useful for preparing videos before uploading them to
142 YouTube. If need <command>qt-faststart</command>, you can compile it with
143 gcc:
144 </para>
145
146<screen><userinput>gcc ../tools/qt-faststart.c -o qt-faststart</userinput></screen>
147
148 <para>
149 If you have <xref linkend="doxygen"/> installed and wish to create the API
150 documentation (takes about 150 MB of space), issue the command
151 <command>doxygen</command>.
152 </para>
153
154 <para>This package does not come with a test suite.</para>
155
156 <para>Now, as the <systemitem class="username">root</systemitem>
157 user:</para>
158
159<screen role="root"><userinput>make install &amp;&amp;
160mkdir /usr/share/doc/ffmpeg-&ffmpeg-version; &amp;&amp;
161cp ../doc/*.html /usr/share/doc/ffmpeg-&ffmpeg-version;</userinput></screen>
162
163 <para>
164 If you used <command>doxygen</command> to create the API documentation,
165 install it by issuing the following commands as the
166 <systemitem class="username">root</systemitem> user:
167 </para>
168
169<screen role="root"><userinput>mkdir /usr/share/doc/ffmpeg-&ffmpeg-version;/api &amp;&amp;
170cp -v doxy/* /usr/share/doc/ffmpeg-&ffmpeg-version;/api</userinput></screen>
171
172 <para>
173 If you compiled <command>qt-faststart</command> install it as the
174 <systemitem class="username">root</systemitem> user:
175 </para>
176
177<screen role="root"><userinput>cp qt-faststart /usr/bin</userinput></screen>
178 </sect2>
179
180 <sect2 role="commands">
181 <title>Command Explanations</title>
182
183 <para>
184 <command>mkdir build</command> and <command>cd build</command>: This
185 ensures that we compile the <application>FFmpeg</application> object
186 files in a separate directory to the source files.
187 </para>
188
189 <para>
190 <option>--enable-gpl</option>: This switch enables the use of GPL code and
191 permits support for postprocessing, swscale and many other features.
192 </para>
193
194 <para>
195 <option>--enable-shared</option>: This switch is needed to build the
196 shared libraries, otherwise only static libraries are built and installed.
197 </para>
198
199 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
200 href="../../xincludes/static-libraries.xml"/>
201
202 <para>
203 <option>--enable-<replaceable>&lt;codec&gt;</replaceable></option>:
204 <application>FFmpeg</application> comes with code to compile decoders for
205 almost every codec you could think of. The only reason to enable a
206 specific codec (and make <application>FFmpeg</application> link to the
207 prerequisite shared library installed on your system) is to make ffmpeg
208 compile an <emphasis>encoder</emphasis> for that codec. Encoding video is
209 a specialist job. If that is what you want to do with
210 <command>ffmpeg</command>, study the output of <command>configure
211 --help</command>. Remember, the dependencies all install their own
212 encoders (that may produce better results than
213 <application>FFmpeg</application>). <application>FFmpeg</application> is
214 an excellent collection of decoders. If you just want to use
215 <application>FFmpeg</application> to watch video or listen to music (via
216 other applications like <application>Gstreamer</application> or Xine) then
217 you will not benefit from linking FFmpeg to another library.
218 </para>
219 </sect2>
220
221 <sect2 role="configuration">
222 <title>Configuring FFmpeg</title>
223
224 <sect3 id="ffmpeg-config">
225 <title>Config Files</title>
226
227 <para><filename>/etc/ffserver.conf</filename> and
228 <filename>~/.ffmpeg/ffserver-config</filename></para>
229
230 <indexterm zone="ffmpeg ffmpeg-config">
231 <primary
232 sortas="e-AA.ffmpeg-ffserver-config">~/.ffmpeg/ffserver-config</primary>
233 </indexterm>
234
235 <indexterm zone="ffmpeg ffmpeg-config">
236 <primary sortas="e-etc-ffserver.conf">/etc/ffserver.conf</primary>
237 </indexterm>
238
239 <para>
240 You'll find a sample <command>ffserver</command> configuration file at
241 <filename>doc/ffserver.conf</filename> in the source tree.
242 </para>
243 </sect3>
244 </sect2>
245
246 <sect2 role="content">
247 <title>Contents</title>
248
249 <segmentedlist>
250 <segtitle>Installed Programs</segtitle>
251 <segtitle>Installed Libraries</segtitle>
252 <segtitle>Installed Directories</segtitle>
253
254 <seglistitem>
255 <seg>
256 ffmpeg,
257 ffplay,
258 ffprobe,
259 ffserver and
260 qt-faststart
261 </seg>
262 <seg>
263 libavcodec.so,
264 libavdevice.so,
265 libavfilter.so,
266 libavformat.so,
267 libavutil.so,
268 libpostproc.so,
269 libswresample and
270 libswscale.so
271 </seg>
272 <seg>
273 /usr/include/libavcodec,
274 /usr/include/libavdevice,
275 /usr/include/libavfilter,
276 /usr/include/libavformat,
277 /usr/include/libavutil,
278 /usr/include/libpostproc,
279 /usr/include/libswresample
280 /usr/include/libswscale,
281 /usr/share/ffmpeg and
282 /usr/share/doc/ffmpeg-&ffmpeg-version;
283 </seg>
284 </seglistitem>
285 </segmentedlist>
286
287 <variablelist>
288 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
289 <?dbfo list-presentation="list"?>
290 <?dbhtml list-presentation="table"?>
291
292 <varlistentry id="ffmpeg-prog">
293 <term><command>ffmpeg</command></term>
294 <listitem>
295 <para>
296 is a command-line tool to convert video files, network streams and
297 input from a TV card to several video formats.
298 </para>
299 <indexterm zone="ffmpeg ffmpeg-prog">
300 <primary sortas="b-ffmpeg">ffmpeg</primary>
301 </indexterm>
302 </listitem>
303 </varlistentry>
304
305 <varlistentry id="ffplay">
306 <term><command>ffplay</command></term>
307 <listitem>
308 <para>
309 is a very simple and portable media player using the
310 <filename>ffmpeg</filename> libraries and the SDL library.
311 </para>
312 <indexterm zone="ffmpeg ffplay">
313 <primary sortas="b-ffplay">ffplay</primary>
314 </indexterm>
315 </listitem>
316 </varlistentry>
317
318 <varlistentry id="ffprobe">
319 <term><command>ffprobe</command></term>
320 <listitem>
321 <para>
322 gathers information from multimedia streams and prints it in a human
323 and machine-readable fashion.
324 </para>
325 <indexterm zone="ffmpeg ffprobe">
326 <primary sortas="b-ffprobe">ffprobe</primary>
327 </indexterm>
328 </listitem>
329 </varlistentry>
330
331 <varlistentry id="ffserver">
332 <term><command>ffserver</command></term>
333 <listitem>
334 <para>
335 is a streaming server for everything that <command>ffmpeg</command>
336 could use as input (files, streams, TV card input, webcam, etc).
337 </para>
338 <indexterm zone="ffmpeg ffserver">
339 <primary sortas="b-ffserver">ffserver</primary>
340 </indexterm>
341 </listitem>
342 </varlistentry>
343
344 <varlistentry id="qt-faststart">
345 <term><command>qt-faststart</command></term>
346 <listitem>
347 <para>
348 moves the index file to the front of quicktime (mov/mp4) videos.
349 </para>
350 <indexterm zone="ffmpeg qt-faststart">
351 <primary sortas="b-qt-faststart">qt-faststart</primary>
352 </indexterm>
353 </listitem>
354 </varlistentry>
355
356 <varlistentry id="libavcodec">
357 <term><filename class="libraryfile">libavcodec.so</filename></term>
358 <listitem>
359 <para>
360 is a library containing the <application>FFmpeg</application> codecs
361 (both encoding and decoding).
362 </para>
363 <indexterm zone="ffmpeg libavcodec">
364 <primary sortas="c-libavcodec">libavcodec.so</primary>
365 </indexterm>
366 </listitem>
367 </varlistentry>
368
369 <varlistentry id="libavdevice">
370 <term><filename class="libraryfile">libavdevice.so</filename></term>
371 <listitem>
372 <para>
373 is the <application>FFmpeg</application> device handling library.
374 </para>
375 <indexterm zone="ffmpeg libavdevice">
376 <primary sortas="c-libavdevice">libavdevice.so</primary>
377 </indexterm>
378 </listitem>
379 </varlistentry>
380
381 <varlistentry id="libavfilter">
382 <term><filename class="libraryfile">libavfilter.so</filename></term>
383 <listitem>
384 <para>
385 is a library of filters that can alter video or audio between the
386 decoder and the encoder (or output).
387 </para>
388 <indexterm zone="ffmpeg libavfilter">
389 <primary sortas="c-libavfilter">libavfilter.so</primary>
390 </indexterm>
391 </listitem>
392 </varlistentry>
393
394 <varlistentry id="libavformat">
395 <term><filename class="libraryfile">libavformat.so</filename></term>
396 <listitem>
397 <para>
398 is a library containing the file formats handling (mux and demux
399 code for several formats) used by <command>ffplay</command> as well
400 as allowing the generation of audio or video streams.
401 </para>
402 <indexterm zone="ffmpeg libavformat">
403 <primary sortas="c-libavformat">libavformat.so</primary>
404 </indexterm>
405 </listitem>
406 </varlistentry>
407
408 <varlistentry id="libavutil">
409 <term><filename class="libraryfile">libavutil.so</filename></term>
410 <listitem>
411 <para>is the <application>FFmpeg</application> utility library.</para>
412 <indexterm zone="ffmpeg libavutil">
413 <primary sortas="c-libavutil">libavutil.so</primary>
414 </indexterm>
415 </listitem>
416 </varlistentry>
417
418 <varlistentry id="libpostproc">
419 <term><filename class="libraryfile">libpostproc.so</filename></term>
420 <listitem>
421 <para>
422 is the <application>FFmpeg</application> post processing library.
423 </para>
424 <indexterm zone="ffmpeg libpostproc">
425 <primary sortas="c-libpostproc">libpostproc.so</primary>
426 </indexterm>
427 </listitem>
428 </varlistentry>
429
430 <varlistentry id="libswresample">
431 <term><filename class="libraryfile">libswresample.so</filename></term>
432 <listitem>
433 <para>
434 is the <application>FFmpeg</application> audio rescaling library,
435 it contains functions for converting audio sample formats.
436 </para>
437 <indexterm zone="ffmpeg libswresample">
438 <primary sortas="c-libswresample">libswresample.so</primary>
439 </indexterm>
440 </listitem>
441 </varlistentry>
442
443 <varlistentry id="libswscale">
444 <term><filename class="libraryfile">libswscale.so</filename></term>
445 <listitem>
446 <para>
447 is the <application>FFmpeg</application> image rescaling library.
448 </para>
449 <indexterm zone="ffmpeg libswscale">
450 <primary sortas="c-libswscale">libswscale.so</primary>
451 </indexterm>
452 </listitem>
453 </varlistentry>
454 </variablelist>
455 </sect2>
456</sect1>
Note: See TracBrowser for help on using the repository browser.