source: multimedia/videoutils/ffmpeg.xml@ ac38e9dc

systemd-13485
Last change on this file since ac38e9dc was ac38e9dc, checked in by Douglas R. Reno <renodr@…>, 9 years ago

Import back into SVN from Github

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@16309 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 20.0 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 "http://ffmpeg.org/releases/ffmpeg-&ffmpeg-version;.tar.bz2">
8 <!ENTITY ffmpeg-download-ftp " ">
9 <!ENTITY ffmpeg-md5sum "f159c6d7eed8546b23e1a17325cbf1f8">
10 <!ENTITY ffmpeg-size "7.8 MB">
11 <!ENTITY ffmpeg-buildsize "135 MB (additional 1.0 GB to build and install Doxygen, PDF and Postscript documentation)">
12 <!ENTITY ffmpeg-time "3.7 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>
33 <application>FFmpeg</application> is a solution to record, convert and
34 stream audio and video. It is a very fast video and audio converter and it
35 can also acquire from a live audio/video source. Designed to be intuitive,
36 the command-line interface (<command>ffmpeg</command>) tries to figure out
37 all the parameters, when possible. <application>FFmpeg</application> can
38 also convert from any sample rate to any other, and resize video on the
39 fly with a high quality polyphase filter.
40 <application>FFmpeg</application> can use a Video4Linux compatible video
41 source and any Open Sound System audio source.
42 </para>
43
44 &lfs77_checked;
45
46 <bridgehead renderas="sect3">Package Information</bridgehead>
47 <itemizedlist spacing="compact">
48 <listitem>
49 <para>
50 Download (HTTP): <ulink url="&ffmpeg-download-http;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download (FTP): <ulink url="&ffmpeg-download-ftp;"/>
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download MD5 sum: &ffmpeg-md5sum;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Download size: &ffmpeg-size;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated disk space required: &ffmpeg-buildsize;
71 </para>
72 </listitem>
73 <listitem>
74 <para>
75 Estimated build time: &ffmpeg-time;
76 </para>
77 </listitem>
78 </itemizedlist>
79
80 <bridgehead renderas="sect3">FFmpeg Dependencies</bridgehead>
81
82 <bridgehead renderas="sect4">Recommended</bridgehead>
83 <para role="recommended">
84 <xref linkend="fdk-aac"/>,
85 <xref linkend="freetype2"/>,
86 <xref linkend="lame"/>,
87 <xref linkend="libass"/>,
88 <xref linkend="libtheora"/>,
89 <xref linkend="libvorbis"/>,
90 <xref linkend="libvpx"/>,
91 <xref linkend="opus"/>,
92 <xref linkend="x264"/>, and
93 <xref linkend="yasm"/>
94 </para>
95
96 <bridgehead renderas="sect4">Recommended for desktop use</bridgehead>
97 <para>
98 <xref linkend="alsa-lib"/>,
99 <xref linkend="libva"/> (with the corresponding driver package),
100 <xref linkend="libvdpau"/> (with the corresponding driver package), and
101 <xref linkend="sdl"/>
102 </para>
103
104 <bridgehead renderas="sect4">Optional</bridgehead>
105 <para role="optional">
106 <xref linkend="faac"/>,
107 <xref linkend="fribidi"/>,
108 <xref linkend="fontconfig"/>,
109 <xref linkend="libcdio"/> (to identify and play CDs),
110 <xref linkend="libwebp"/>,
111 <xref linkend="openjpeg"/>,
112 <xref linkend="openssl"/> or
113 <xref linkend="gnutls"/>,
114 <xref linkend="pulseaudio"/>,
115 <xref linkend="samba"/>,
116 <xref linkend="speex"/>,
117 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>) for PDF and PS documentation,
118 <xref linkend="v4l-utils"/>,
119 <xref linkend="xvid"/>,
120 <xref linkend="x-window-system"/>,
121 <ulink url="http://www.speech.cs.cmu.edu/flite/">Flite</ulink>,
122 <ulink url="https://files.dyne.org/frei0r/snapshots/">frei0r</ulink>,
123 <ulink url="http://www.quut.com/gsm/">GSM</ulink>,
124 <ulink url="http://www.ladspa.org/">LADSPA</ulink>,
125 <ulink url="http://tipok.org.ua/node/17">libaacplus</ulink>,
126 <ulink url="http://www.videolan.org/developers/libbluray.html">libbluray</ulink>,
127 <ulink url="http://caca.zoy.org/">libcaca</ulink>,
128 <ulink url="http://www.celt-codec.org/">libcelt</ulink>,
129 <ulink url="http://sourceforge.net/projects/libdc1394">libdc1394</ulink>,
130 <ulink url="https://www.videolan.org/developers/libdca.html">libdca</ulink>,
131 <ulink url="https://ieee1394.wiki.kernel.org/index.php/Libraries">libiec61883</ulink>,
132 <ulink url="https://github.com/dekkers/libilbc">libilbc</ulink>,
133 <ulink url="http://sourceforge.net/projects/modplug-xmms/">libmodplug</ulink>,
134 <ulink url="https://github.com/Distrotech/libnut">libnut</ulink> (Git checkout),
135 <ulink url="http://rtmpdump.mplayerhq.hu/">librtmp</ulink>,
136 <ulink url="http://www.libssh.org/">libssh</ulink>,
137 <ulink url="http://xavs.sourceforge.net/">libxavs</ulink> (SVN checkout),
138 <ulink url="http://kcat.strangesoft.net/openal-releases/">OpenAL</ulink>,
139 <ulink url="http://sourceforge.net/projects/opencore-amr">OpenCore AMR</ulink>,
140 <ulink url="http://opencv.org/">OpenCV</ulink>,
141 <ulink url="http://diracvideo.org/">Schroedinger</ulink>,
142 <ulink url="http://www.nongnu.org/texi2html">texi2html</ulink> (to build HTML documentation),
143 <ulink url="http://www.twolame.org/">TwoLAME</ulink>,
144 <ulink url="http://sourceforge.net/projects/opencore-amr/files/vo-aacenc">vo-aaenc</ulink>,
145 <ulink url="http://sourceforge.net/projects/opencore-amr/files/vo-amrwbenc">vo-amrwbenc</ulink>,
146 <ulink url="https://bitbucket.org/multicoreware/x265/">x265</ulink>, and
147 <ulink url="http://zapping.sourceforge.net/ZVBI/">ZVBI</ulink>
148 </para>
149
150 <para condition="html" role="usernotes">
151 User Notes: <ulink url="&blfs-wiki;/ffmpeg"/>
152 </para>
153 </sect2>
154
155 <sect2 role="installation">
156 <title>Installation of FFmpeg</title>
157
158 <para>
159 Install <application>FFmpeg</application> by running the following
160 commands:
161 </para>
162
163<screen><userinput>sed -i 's/-lflite"/-lflite -lasound"/' configure &amp;&amp;
164./configure --prefix=/usr \
165 --enable-gpl \
166 --enable-version3 \
167 --enable-nonfree \
168 --disable-static \
169 --enable-shared \
170 --disable-debug \
171 --enable-libass \
172 --enable-libfdk-aac \
173 --enable-libfreetype \
174 --enable-libmp3lame \
175 --enable-libopus \
176 --enable-libtheora \
177 --enable-libvorbis \
178 --enable-libvpx \
179 --enable-libx264 \
180 --enable-x11grab \
181 --docdir=/usr/share/doc/ffmpeg-&ffmpeg-version; &amp;&amp;
182make &amp;&amp;
183gcc tools/qt-faststart.c -o tools/qt-faststart</userinput></screen>
184
185 <para>
186 If you have <xref linkend="texlive"/> installed and want to build
187 PDF and Postscript documentation, issue the following commands:
188 </para>
189
190<screen><userinput>pushd doc &amp;&amp;
191for DOCNAME in $(basename -s .html *.html)
192do
193 texi2pdf -b $DOCNAME.texi &amp;&amp;
194 texi2dvi -b $DOCNAME.texi &amp;&amp;
195 dvips -o $DOCNAME.ps $DOCNAME.dvi
196done &amp;&amp;
197popd &amp;&amp;
198unset DOCNAME</userinput></screen>
199
200 <para>
201 If you have <xref linkend="doxygen"/> installed and want to build
202 the API documentation, issue: <command>doxygen doc/Doxyfile</command>.
203 </para>
204
205 <para>
206 To test the results, issue <command>make RUNNING_FATE= check</command>.
207 </para>
208
209 <para>
210 Now, as the <systemitem class="username">root</systemitem> user:
211 </para>
212
213<screen role="root"><userinput>make install &amp;&amp;
214install -v -m755 tools/qt-faststart /usr/bin &amp;&amp;
215install -v -m644 doc/*.txt /usr/share/doc/ffmpeg-&ffmpeg-version;</userinput></screen>
216
217 <para>
218 If the PDF and Postscript documentation was built, run the following
219 commands as the <systemitem class="username">root</systemitem> user
220 to install it:
221 </para>
222
223<screen role="root"><userinput>install -v -m644 doc/*.pdf /usr/share/doc/ffmpeg-&ffmpeg-version; &amp;&amp;
224install -v -m644 doc/*.ps /usr/share/doc/ffmpeg-&ffmpeg-version;</userinput></screen>
225
226 <para>
227 If you used <command>doxygen</command> to build the API documentation,
228 you can install it by running the following commands
229 as the <systemitem class="username">root</systemitem> user:
230 </para>
231
232<screen role="root"><userinput>install -v -dm755 /usr/share/doc/ffmpeg-&ffmpeg-version;/api &amp;&amp;
233cp -rv doc/doxy/html/* /usr/share/doc/ffmpeg-&ffmpeg-version;/api</userinput></screen>
234
235 </sect2>
236
237 <sect2 role="commands">
238 <title>Command Explanations</title>
239
240 <para>
241 <command>sed -i ... configure</command>: This command adds the
242 <application>ALSA</application> library to the
243 <application>Flite</application> <envar>LDFLAGS</envar> variable and
244 enables the discovery of <application>Flite</application>.
245 </para>
246
247 <para>
248 <option>--enable-libfreetype</option>: Enables
249 <application>Freetype</application> support.
250 </para>
251
252 <para>
253 <parameter>--enable-gpl</parameter>: Enables the use of GPL code and
254 permits support for postprocessing, swscale and many other features.
255 </para>
256
257 <para>
258 <parameter>--enable-version3</parameter>: Enables the use of (L)GPL
259 version 3 code.
260 </para>
261
262 <para>
263 <parameter>--enable-nonfree</parameter>: Enables the use of nonfree code.
264 Note that the resulting libraries and binaries will be unredistributable.
265 </para>
266
267 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
268 href="../../xincludes/static-libraries.xml"/>
269
270 <para>
271 <parameter>--enable-shared</parameter>: Enables building shared
272 libraries, otherwise only static libraries are built and installed.
273 </para>
274
275 <para>
276 <parameter>--disable-debug</parameter>: Disables building debugging
277 symbols into the programs and libraries.
278 </para>
279
280 <para>
281 <parameter>--enable-libass</parameter>: Enables ASS/SSA subtitle format
282 rendering via <filename class="libraryfile">libass</filename>.
283 </para>
284
285 <para>
286 <parameter>--enable-libfdk-aac</parameter>: Enables currently the
287 highest-quality AAC audio encoding via <filename
288 class="libraryfile">libfdk-aac</filename>.
289 </para>
290
291 <para>
292 <parameter>--enable-libmp3lame</parameter>: Enables MP3 audio encoding
293 via <filename class="libraryfile">libmp3lame</filename>.
294 </para>
295
296 <para>
297 <parameter>--enable-libvorbis --enable-libtheora</parameter>: Enables
298 Theora video encoding via <filename
299 class="libraryfile">libvorbis</filename> and <filename
300 class="libraryfile">libtheora</filename>.
301 </para>
302
303 <para>
304 <parameter>--enable-libvorbis --enable-libvpx</parameter>: Enables WebM
305 encoding via <filename class="libraryfile">libvorbis</filename> and
306 <filename class="libraryfile">libvpx</filename>.
307 </para>
308
309 <para>
310 <parameter>--enable-libx264</parameter>: Enables high-quality
311 H.264/MPEG-4 AVC encoding via <filename
312 class="libraryfile">libx264</filename>.
313 </para>
314
315 <para>
316 <parameter>--enable-x11grab</parameter>: Enables X11 grabbing.
317 </para>
318
319 <para>
320 <option>--enable-openssl</option> or <option>--enable-gnutls</option>:
321 Enables HTTPS protocol for network streams.
322 </para>
323
324 <para>
325 <command>gcc tools/qt-faststart.c -o tools/qt-faststart</command>: This
326 builds the <command>qt-faststart</command> program which can modify
327 QuickTime formatted movies (<filename class="extension">.mov</filename>
328 or <filename class="extension">.mp4</filename>) so that the header
329 information is located at the beginning of the file instead of the end.
330 This allows the movie file to begin playing before the entire file has
331 been downloaded.
332 </para>
333
334 <note>
335 <para>
336 Support for most of the dependency packages requires using options
337 passed to the <command>configure</command> script. View the output
338 from <command>./configure --help</command> for complete information
339 about enabling dependency packages.
340 </para>
341 </note>
342
343 </sect2>
344
345 <sect2 role="configuration">
346 <title>Configuring FFmpeg</title>
347
348 <sect3 id="ffmpeg-config">
349 <title>Config Files</title>
350
351 <para>
352 <filename>/etc/ffserver.conf</filename> and
353 <filename>~/.ffmpeg/ffserver-config</filename>
354 </para>
355
356 <indexterm zone="ffmpeg ffmpeg-config">
357 <primary
358 sortas="e-AA.ffmpeg-ffserver-config">~/.ffmpeg/ffserver-config</primary>
359 </indexterm>
360
361 <indexterm zone="ffmpeg ffmpeg-config">
362 <primary sortas="e-etc-ffserver.conf">/etc/ffserver.conf</primary>
363 </indexterm>
364
365 <para>
366 You'll find a sample <command>ffserver</command> configuration file at
367 <filename>doc/ffserver.conf</filename> in the source tree.
368 </para>
369
370 </sect3>
371
372 </sect2>
373
374 <sect2 role="content">
375 <title>Contents</title>
376
377 <segmentedlist>
378 <segtitle>Installed Programs</segtitle>
379 <segtitle>Installed Libraries</segtitle>
380 <segtitle>Installed Directories</segtitle>
381
382 <seglistitem>
383 <seg>
384 ffmpeg, ffplay, ffprobe, ffserver and
385 qt-faststart
386 </seg>
387 <seg>
388 libavcodec.so, libavdevice.so, libavfilter.so,
389 libavformat.so, libavutil.so, libpostproc.so,
390 libswresample and libswscale.so
391 </seg>
392 <seg>
393 /usr/include/{libavcodec,libavdevice,libavfilter,libavformat},
394 /usr/include/{libavutil,libpostproc,libswresample,libswscale},
395 /usr/share/doc/ffmpeg-&ffmpeg-version; and
396 /usr/share/ffmpeg
397 </seg>
398 </seglistitem>
399 </segmentedlist>
400
401 <variablelist>
402 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
403 <?dbfo list-presentation="list"?>
404 <?dbhtml list-presentation="table"?>
405
406 <varlistentry id="ffmpeg-prog">
407 <term><command>ffmpeg</command></term>
408 <listitem>
409 <para>
410 is a command-line tool to convert video files, network streams and
411 input from a TV card to several video formats.
412 </para>
413 <indexterm zone="ffmpeg ffmpeg-prog">
414 <primary sortas="b-ffmpeg">ffmpeg</primary>
415 </indexterm>
416 </listitem>
417 </varlistentry>
418
419 <varlistentry id="ffplay">
420 <term><command>ffplay</command></term>
421 <listitem>
422 <para>
423 is a very simple and portable media player using the
424 <filename>ffmpeg</filename> libraries and the SDL library.
425 </para>
426 <indexterm zone="ffmpeg ffplay">
427 <primary sortas="b-ffplay">ffplay</primary>
428 </indexterm>
429 </listitem>
430 </varlistentry>
431
432 <varlistentry id="ffprobe">
433 <term><command>ffprobe</command></term>
434 <listitem>
435 <para>
436 gathers information from multimedia streams and prints it in a human
437 and machine-readable fashion.
438 </para>
439 <indexterm zone="ffmpeg ffprobe">
440 <primary sortas="b-ffprobe">ffprobe</primary>
441 </indexterm>
442 </listitem>
443 </varlistentry>
444
445 <varlistentry id="ffserver">
446 <term><command>ffserver</command></term>
447 <listitem>
448 <para>
449 is a streaming server for everything that <command>ffmpeg</command>
450 could use as input (files, streams, TV card input, webcam, etc).
451 </para>
452 <indexterm zone="ffmpeg ffserver">
453 <primary sortas="b-ffserver">ffserver</primary>
454 </indexterm>
455 </listitem>
456 </varlistentry>
457
458 <varlistentry id="qt-faststart">
459 <term><command>qt-faststart</command></term>
460 <listitem>
461 <para>
462 moves the index file to the front of quicktime (mov/mp4) videos.
463 </para>
464 <indexterm zone="ffmpeg qt-faststart">
465 <primary sortas="b-qt-faststart">qt-faststart</primary>
466 </indexterm>
467 </listitem>
468 </varlistentry>
469
470 <varlistentry id="libavcodec">
471 <term><filename class="libraryfile">libavcodec.so</filename></term>
472 <listitem>
473 <para>
474 is a library containing the <application>FFmpeg</application> codecs
475 (both encoding and decoding).
476 </para>
477 <indexterm zone="ffmpeg libavcodec">
478 <primary sortas="c-libavcodec">libavcodec.so</primary>
479 </indexterm>
480 </listitem>
481 </varlistentry>
482
483 <varlistentry id="libavdevice">
484 <term><filename class="libraryfile">libavdevice.so</filename></term>
485 <listitem>
486 <para>
487 is the <application>FFmpeg</application> device handling library.
488 </para>
489 <indexterm zone="ffmpeg libavdevice">
490 <primary sortas="c-libavdevice">libavdevice.so</primary>
491 </indexterm>
492 </listitem>
493 </varlistentry>
494
495 <varlistentry id="libavfilter">
496 <term><filename class="libraryfile">libavfilter.so</filename></term>
497 <listitem>
498 <para>
499 is a library of filters that can alter video or audio between the
500 decoder and the encoder (or output).
501 </para>
502 <indexterm zone="ffmpeg libavfilter">
503 <primary sortas="c-libavfilter">libavfilter.so</primary>
504 </indexterm>
505 </listitem>
506 </varlistentry>
507
508 <varlistentry id="libavformat">
509 <term><filename class="libraryfile">libavformat.so</filename></term>
510 <listitem>
511 <para>
512 is a library containing the file formats handling (mux and demux
513 code for several formats) used by <command>ffplay</command> as well
514 as allowing the generation of audio or video streams.
515 </para>
516 <indexterm zone="ffmpeg libavformat">
517 <primary sortas="c-libavformat">libavformat.so</primary>
518 </indexterm>
519 </listitem>
520 </varlistentry>
521
522 <varlistentry id="libavutil">
523 <term><filename class="libraryfile">libavutil.so</filename></term>
524 <listitem>
525 <para>
526 is the <application>FFmpeg</application> utility library.
527 </para>
528 <indexterm zone="ffmpeg libavutil">
529 <primary sortas="c-libavutil">libavutil.so</primary>
530 </indexterm>
531 </listitem>
532 </varlistentry>
533
534 <varlistentry id="libpostproc">
535 <term><filename class="libraryfile">libpostproc.so</filename></term>
536 <listitem>
537 <para>
538 is the <application>FFmpeg</application> post processing library.
539 </para>
540 <indexterm zone="ffmpeg libpostproc">
541 <primary sortas="c-libpostproc">libpostproc.so</primary>
542 </indexterm>
543 </listitem>
544 </varlistentry>
545
546 <varlistentry id="libswresample">
547 <term><filename class="libraryfile">libswresample.so</filename></term>
548 <listitem>
549 <para>
550 is the <application>FFmpeg</application> audio rescaling library,
551 it contains functions for converting audio sample formats.
552 </para>
553 <indexterm zone="ffmpeg libswresample">
554 <primary sortas="c-libswresample">libswresample.so</primary>
555 </indexterm>
556 </listitem>
557 </varlistentry>
558
559 <varlistentry id="libswscale">
560 <term><filename class="libraryfile">libswscale.so</filename></term>
561 <listitem>
562 <para>
563 is the <application>FFmpeg</application> image rescaling library.
564 </para>
565 <indexterm zone="ffmpeg libswscale">
566 <primary sortas="c-libswscale">libswscale.so</primary>
567 </indexterm>
568 </listitem>
569 </varlistentry>
570
571 </variablelist>
572
573 </sect2>
574
575</sect1>
Note: See TracBrowser for help on using the repository browser.