source: multimedia/videoutils/ffmpeg.xml@ 7ab0cf0d

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 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 7ab0cf0d was 7ab0cf0d, checked in by Randy McMurchy <randy@…>, 19 years ago

Added a GCC-4 patch to the FFmpeg instructions

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

  • Property mode set to 100644
File size: 9.7 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY ffmpeg-download-http "http://prdownloads.sourceforge.net/ffmpeg/ffmpeg-&ffmpeg-version;.tar.gz">
8 <!ENTITY ffmpeg-download-ftp " ">
9 <!ENTITY ffmpeg-md5sum "ea5587e3c66d50b1503b82ac4179c303">
10 <!ENTITY ffmpeg-size "1.6 MB">
11 <!ENTITY ffmpeg-buildsize "50 MB">
12 <!ENTITY ffmpeg-time "0.9 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.</para>
41
42 <bridgehead renderas="sect3">Package Information</bridgehead>
43 <itemizedlist spacing="compact">
44 <listitem>
45 <para>Download (HTTP): <ulink url="&ffmpeg-download-http;"/></para>
46 </listitem>
47 <listitem>
48 <para>Download (FTP): <ulink url="&ffmpeg-download-ftp;"/></para>
49 </listitem>
50 <listitem>
51 <para>Download MD5 sum: &ffmpeg-md5sum;</para>
52 </listitem>
53 <listitem>
54 <para>Download size: &ffmpeg-size;</para>
55 </listitem>
56 <listitem>
57 <para>Estimated disk space required: &ffmpeg-buildsize;</para>
58 </listitem>
59 <listitem>
60 <para>Estimated build time: &ffmpeg-time;</para>
61 </listitem>
62 </itemizedlist>
63
64 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
65 <itemizedlist spacing="compact">
66 <listitem>
67 <para>Required patch: <ulink
68 url="&patch-root;/ffmpeg-&ffmpeg-version;-gcc4-1.patch"/></para>
69 </listitem>
70 </itemizedlist>
71
72 <bridgehead renderas="sect3">FFmpeg Dependencies</bridgehead>
73
74 <bridgehead renderas="sect4">Optional</bridgehead>
75 <para><xref linkend="libvorbis"/>,
76 <xref linkend="lame"/>,
77 <xref linkend="imlib2"/>,
78 X (<xref linkend="xfree86"/> or <xref linkend="xorg"/>),
79 <xref linkend="sdl"/>,
80 <xref linkend="freetype2"/>,
81 <xref linkend="mplayer"/> (for the shared post-processing library),
82 <ulink url="http://sourceforge.net/projects/faac">FAAC</ulink>,
83 <ulink url="http://sourceforge.net/projects/faac">FAAD2</ulink> and
84 <xref linkend="tex"/> (to build HTML documentation)</para>
85
86 </sect2>
87
88 <sect2 role="installation">
89 <title>Installation of FFmpeg</title>
90
91 <para>Install <application>FFmpeg</application> by running the following
92 commands:</para>
93
94 <note>
95 <para>Review the <filename>doc/optimization.txt</filename> file in the
96 source tree for information about optimizing the build.</para>
97 </note>
98
99<screen><userinput>patch -Np1 -i ../ffmpeg-&ffmpeg-version;-gcc4-1.patch &amp;&amp;
100sed -i -e "s/static uint64/const uint64/" \
101 libavcodec/liba52/resample_mmx.c &amp;&amp;
102./configure --prefix=/usr --enable-shared \
103 --enable-pthreads --disable-ffplay &amp;&amp;
104make</userinput></screen>
105
106 <para>If you have <application>TeX</application> installed, the man pages
107 and documentation were built during the <command>make</command> process.
108 Skip to the <systemitem class="username">root</systemitem> user installation
109 steps. If you do not have <application>TeX</application> installed, use the
110 following command to build the man pages:</para>
111
112<screen><userinput>make -C doc {ffmpeg,ffserver,ffplay}.1</userinput></screen>
113
114 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
115
116<screen role="root"><userinput>make install</userinput></screen>
117
118 <para>If you have <application>TeX</application> installed (which caused
119 the HTML documentation to be built earlier), install the documentation by
120 issuing the following commands as the <systemitem
121 class="username">root</systemitem> user:</para>
122
123<screen role="root"><userinput>install -v -m755 -d /usr/share/doc/ffmpeg-&ffmpeg-version; &amp;&amp;
124install -v -m644 doc/*.html /usr/share/doc/ffmpeg-&ffmpeg-version;</userinput></screen>
125
126 </sect2>
127
128 <sect2 role="commands">
129 <title>Command Explanations</title>
130
131 <para><command>sed -i -e "s/static uint64/const uint64/"
132 libavcodec/liba52/resample_mmx.c</command>: This command fixes an issue
133 on machines with MMX capability and use <application>GCC</application>-3.4.x
134 to compile in A52 support using the <option>--enable-a52</option> parameter
135 passed to the <command>configure</command> script.</para>
136
137 <para><parameter>--enable-shared</parameter>: This switch is needed to
138 build the <filename class="libraryfile">libavcodec</filename> and
139 <filename class="libraryfile">libavformat</filename> shared
140 libraries.</para>
141
142 <para><parameter>--enable-pthreads</parameter>: This switch enables the
143 build to link against the Posix threads library.</para>
144
145 <para><parameter>--disable-ffplay</parameter>: Only installs the server part.
146 <command>ffplay</command> requires <application>X</application> for
147 building. Remove this option if <application>X</application> is
148 installed.</para>
149
150 <para><option>--enable-<replaceable>[codec]</replaceable></option>: Review
151 the available options and codecs using the
152 <command>./configure --help</command> command.</para>
153
154 </sect2>
155
156 <sect2 role="configuration">
157 <title>Configuring FFmpeg</title>
158
159 <sect3 id="ffmpeg-config">
160 <title>Config Files</title>
161
162 <para><filename>/etc/ffserver.conf</filename> and
163 <filename>~/.ffmpeg/ffserver-config</filename></para>
164
165 <indexterm zone="ffmpeg ffmpeg-config">
166 <primary sortas="e-AA.ffmpeg-ffserver-config">~/.ffmpeg/ffserver-config</primary>
167 </indexterm>
168
169 <indexterm zone="ffmpeg ffmpeg-config">
170 <primary sortas="e-etc-ffserver.conf">/etc/ffserver.conf</primary>
171 </indexterm>
172
173 <para>You'll find a sample ffserver configuration file at
174 <ulink url="http://ffmpeg.sourceforge.net/sample.html"/> (also
175 <filename>doc/ffserver.conf</filename> in the source tree).</para>
176
177 </sect3>
178
179 </sect2>
180
181 <sect2 role="content">
182 <title>Contents</title>
183
184 <segmentedlist>
185 <segtitle>Installed Programs</segtitle>
186 <segtitle>Installed Libraries</segtitle>
187 <segtitle>Installed Directories</segtitle>
188
189 <seglistitem>
190 <seg>ffmpeg, ffserver, and optionally, ffplay</seg>
191 <seg>libavcodec.so, libavformat.so, and video hook modules</seg>
192 <seg>/usr/include/ffmpeg, /usr/lib/vhook, and
193 /usr/share/doc/ffmpeg-&ffmpeg-version;</seg>
194 </seglistitem>
195 </segmentedlist>
196
197 <variablelist>
198 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
199 <?dbfo list-presentation="list"?>
200 <?dbhtml list-presentation="table"?>
201
202 <varlistentry id="ffmpeg-prog">
203 <term><command>ffmpeg</command></term>
204 <listitem>
205 <para>is a command-line tool to convert video files, network streams
206 and input from a TV card to several video formats.</para>
207 <indexterm zone="ffmpeg ffmpeg-prog">
208 <primary sortas="b-ffmpeg">ffmpeg</primary>
209 </indexterm>
210 </listitem>
211 </varlistentry>
212
213 <varlistentry id="ffplay">
214 <term><command>ffplay</command></term>
215 <listitem>
216 <para>is a very simple and portable media player using the
217 <filename>ffmpeg</filename> libraries and the SDL library.</para>
218 <indexterm zone="ffmpeg ffplay">
219 <primary sortas="b-ffplay">ffplay</primary>
220 </indexterm>
221 </listitem>
222 </varlistentry>
223
224 <varlistentry id="ffserver">
225 <term><command>ffserver</command></term>
226 <listitem>
227 <para>is a streaming server for everything that <command>ffmpeg</command>
228 could use as input (files, streams, TV card input, webcam, etc.).</para>
229 <indexterm zone="ffmpeg ffserver">
230 <primary sortas="b-ffserver">ffserver</primary>
231 </indexterm>
232 </listitem>
233 </varlistentry>
234
235 <varlistentry id="libavcodec">
236 <term><filename class='libraryfile'>libavcodec.so</filename></term>
237 <listitem>
238 <para>is a library containing the <application>FFmpeg</application>
239 codecs (both encoding and decoding).</para>
240 <indexterm zone="ffmpeg libavcodec">
241 <primary sortas="c-libavcodec">libavcodec.so</primary>
242 </indexterm>
243 </listitem>
244 </varlistentry>
245
246 <varlistentry id="libavformat">
247 <term><filename class='libraryfile'>libavformat.so</filename></term>
248 <listitem>
249 <para>is a library containing the file formats handling (mux and demux code
250 for several formats) used by <command>ffplay</command> as well as
251 allowing the generation of audio or video streams.</para>
252 <indexterm zone="ffmpeg libavformat">
253 <primary sortas="c-libavformat">libavformat.so</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257
258 </variablelist>
259
260 </sect2>
261
262</sect1>
263
Note: See TracBrowser for help on using the repository browser.