mirror of https://github.com/mpv-player/mpv
413 lines
15 KiB
XML
413 lines
15 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<chapter id="install">
|
|
<title>Installation</title>
|
|
|
|
<para>
|
|
A quick installation guide can be found in the <filename>README</filename>
|
|
file. Please read it first and then come back here for the rest of the gory
|
|
details.
|
|
</para>
|
|
|
|
<para>
|
|
In this section you will be guided through the compilation and configuration
|
|
process of <application>MPlayer</application>. It's not easy, but it won't
|
|
necessarily be hard. If you experience a behavior different from this
|
|
description, please search through this documentation and you'll find your
|
|
answers.
|
|
</para>
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="softreq">
|
|
<title>Software requirements</title>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<emphasis role="bold">binutils</emphasis> - recommended version is
|
|
<emphasis role="bold">2.11.x</emphasis>.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">gcc</emphasis> - recommended versions are 2.95
|
|
and 3.4+. 2.96 and 3.0.x are known to generate faulty code, 3.1 and
|
|
3.2 also had problems, 3.3 some minor ones. On PowerPC, use 4.x.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">Xorg/XFree86</emphasis> - recommended version is
|
|
4.3 or later. Make sure the
|
|
<emphasis role="bold">development packages</emphasis> are installed,
|
|
too, otherwise it won't work.
|
|
You don't absolutely need X, some video output drivers work without it.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">make</emphasis> - recommended version is
|
|
3.79.x or later. To build the XML documentation you need 3.80.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">FreeType</emphasis> - optional,
|
|
required to have a font for the OSD and subtitles. At least 2.0.9 is required.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">libjpeg</emphasis> - optional JPEG en/decoder,
|
|
required for the JPEG video output driver and decoding MJPEG video
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">libpng</emphasis> - optional (M)PNG en/decoder,
|
|
required for the GUI and the PNG video output driver
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">lame</emphasis> - 3.90 or later is recommended,
|
|
necessary for encoding MP3 audio with <application>MEncoder</application>.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">zlib</emphasis> - recommended, necessary for compressed
|
|
MOV header and PNG support
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold"><ulink url="http://www.live555.com/mplayer/">LIVE555 Streaming Media</ulink></emphasis>
|
|
- optional, needed for some RTSP/RTP streams
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">directfb</emphasis> - optional, use 0.9.13 or later.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">cdparanoia</emphasis> - optional, for CDDA support
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">libxmms</emphasis> - optional, for XMMS input plugin
|
|
support. At least 1.2.7 is required.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">libsmb</emphasis> - optional, for smb networking support
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">ALSA</emphasis> - optional, for ALSA audio output
|
|
support. At least 0.9.0rc4 is required.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect1>
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="features">
|
|
<title>Features</title>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
Decide if you need GUI. If you do, see the <link linkend="gui">GUI</link>
|
|
section before compiling.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
If you want to install <application>MEncoder</application> (our great
|
|
all-purpose encoder), see the
|
|
<link linkend="mencoder"><application>MEncoder</application></link> section.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
If you have a V4L compatible <emphasis role="bold">TV tuner</emphasis> card,
|
|
and wish to watch/grab and encode movies with
|
|
<application>MPlayer</application>,
|
|
read the <link linkend="tv-input">TV input</link> section.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
If you have a V4L compatible <emphasis role="bold">radio tuner</emphasis>
|
|
card, and wish to listen and capture sound with
|
|
<application>MPlayer</application>,
|
|
read the <link linkend="radio">radio</link> section.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
There is a neat <emphasis role="bold">OSD Menu</emphasis> support ready to be
|
|
used. Check the <link linkend="subosd">OSD menu</link> section.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>
|
|
Then build <application>MPlayer</application>:
|
|
<screen>
|
|
./configure
|
|
make
|
|
make install
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
At this point, <application>MPlayer</application> is ready to use. The
|
|
directory <filename class="directory">$PREFIX/share/mplayer</filename>
|
|
contains the <filename>codecs.conf</filename> file, which is used to tell
|
|
the program all the codecs and their capabilities. This file is needed only
|
|
when you want to change its properties, as the main binary contains an internal
|
|
copy of it. Check if you have
|
|
<filename>codecs.conf</filename> in your home directory
|
|
(<filename>~/.mplayer/codecs.conf</filename>) left from old
|
|
<application>MPlayer</application> versions, and remove it.
|
|
</para>
|
|
|
|
<para>
|
|
Note that if you have a <filename>codecs.conf</filename> in
|
|
<filename>~/.mplayer/</filename>, the builtin and system
|
|
<filename>codecs.conf</filename> will be ignored completely.
|
|
Do not do this unless you want to fiddle with <application>MPlayer</application>
|
|
internals as this can can cause many problems. If you want to change the codecs
|
|
search order, use the <option>-vc</option>, <option>-ac</option>,
|
|
<option>-vfm</option>, or <option>-afm</option> options either on the command
|
|
line or in your config file (see the manual page).
|
|
</para>
|
|
|
|
<para>
|
|
Debian users can build a .deb package for themselves, it's very simple.
|
|
Just exec
|
|
<screen>fakeroot debian/rules binary</screen>
|
|
in <application>MPlayer</application>'s root directory. See
|
|
<link linkend="debian">Debian packaging</link> for detailed instructions.
|
|
</para>
|
|
|
|
<para>
|
|
<emphasis role="bold">Always browse the output of</emphasis>
|
|
<filename>./configure</filename>, and the
|
|
<filename>configure.log</filename> file, they contain information about
|
|
what will be built, and what will not. You may also want to view
|
|
<filename>config.h</filename> and <filename>config.mak</filename> files.
|
|
If you have some libraries installed, but not detected by
|
|
<filename>./configure</filename>, then check if you also have the proper
|
|
header files (usually the -dev packages) and their version matches. The
|
|
<filename>configure.log</filename> file usually tells you what is missing.
|
|
</para>
|
|
|
|
<para>
|
|
Though not mandatory, the fonts should be installed in order to gain OSD,
|
|
and subtitle functionality. The recommended method is installing a TTF
|
|
font file and telling <application>MPlayer</application> to use it.
|
|
See the <link linkend="subosd">Subtitles and OSD</link> section for details.
|
|
</para>
|
|
</sect1>
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="gui">
|
|
<title>What about the GUI?</title>
|
|
|
|
<para>
|
|
The GUI needs GTK 1.2.x or GTK 2.0 (it isn't fully GTK, but the panels are).
|
|
The skins are stored in PNG format, so GTK,
|
|
<systemitem class="library">libpng</systemitem> (and their devel stuff, usually
|
|
called <systemitem class="library">gtk-dev</systemitem>
|
|
and <systemitem class="library">libpng-dev</systemitem>) has to be installed.
|
|
You can build it by specifying <option>--enable-gui</option> during
|
|
<filename>./configure</filename>. Then, to turn on GUI mode, you have to
|
|
execute the <command>gmplayer</command> binary.
|
|
</para>
|
|
|
|
<para>
|
|
As <application>MPlayer</application> doesn't have a skin included, you
|
|
have to download them if you want to use the GUI. See the <ulink
|
|
url="http://www.mplayerhq.hu/dload.html">download page</ulink>.
|
|
They should be extracted to the usual system-wide directory (<filename
|
|
class="directory">$PREFIX/share/mplayer/skins</filename>), or to <filename
|
|
class="directory">$HOME/.mplayer/skins</filename>.
|
|
<application>MPlayer</application> by default looks in these directories
|
|
for a directory named <filename class="directory">default</filename>, but
|
|
you can use the <option>-skin <replaceable>newskin</replaceable></option>
|
|
option, or the <literal>skin=newskin</literal> config file directive to use
|
|
the skin in <filename class="directory">*/skins/newskin</filename>
|
|
directory.
|
|
</para>
|
|
</sect1>
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="fonts-osd">
|
|
<title>Fonts and OSD</title>
|
|
|
|
<para>
|
|
You need to tell <application>MPlayer</application> which font to use to
|
|
enjoy OSD and subtitles. Any TrueType font or special bitmap fonts will
|
|
work. However, TrueType fonts are recommended as they look far better,
|
|
can be properly scaled to the movie size and cope better with different
|
|
encodings.
|
|
</para>
|
|
|
|
<!-- ********** -->
|
|
|
|
<sect2 id="truetype-fonts">
|
|
<title>TrueType fonts</title>
|
|
|
|
<para>
|
|
There are two ways to get TrueType fonts to work. The first is to pass
|
|
the <option>-font</option> option to specify a TrueType font file on
|
|
the command line. This option will be a good candidate to put in your
|
|
configuration file (see the manual page for details).
|
|
The second is to create a symlink called <filename>subfont.ttf</filename>
|
|
to the font file of your choice. Either
|
|
<screen>
|
|
ln -s <replaceable>/path/to/sample_font.ttf</replaceable> ~/.mplayer/subfont.ttf
|
|
</screen>
|
|
for each user individually or a system-wide one:
|
|
<screen>
|
|
ln -s <replaceable>/path/to/sample_font.ttf</replaceable> $PREFIX/share/mplayer/subfont.ttf
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
If <application>MPlayer</application> was compiled with
|
|
<systemitem class="library">fontconfig</systemitem> support, the above methods
|
|
won't work, instead <option>-font</option> expects a
|
|
<systemitem class="library">fontconfig</systemitem> font name
|
|
and defaults to the sans-serif font. Example:
|
|
<screen>
|
|
mplayer -font <replaceable>'Bitstream Vera Sans'</replaceable> <replaceable>anime.mkv</replaceable>
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
To get a list of fonts known to
|
|
<systemitem class="library">fontconfig</systemitem>,
|
|
use <command>fc-list</command>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<!-- ********** -->
|
|
|
|
<sect2 id="bitmap-fonts">
|
|
<title>bitmap fonts</title>
|
|
|
|
<para>
|
|
If for some reason you wish or need to employ bitmap fonts, download a set
|
|
from our homepage. You can choose between various
|
|
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/fonts/">ISO fonts</ulink>
|
|
and some sets of fonts
|
|
<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/fonts/">contributed by users</ulink>
|
|
in various encodings.
|
|
</para>
|
|
|
|
<para>
|
|
Uncompress the file you downloaded to
|
|
<filename class="directory">~/.mplayer</filename> or
|
|
<filename class="directory">$PREFIX/share/mplayer</filename>.
|
|
Then rename or symlink one of the extracted directories to
|
|
<filename class="directory">font</filename>, for example:
|
|
<screen>
|
|
ln -s <replaceable>~/.mplayer/arial-24</replaceable> ~/.mplayer/font
|
|
</screen>
|
|
<screen>
|
|
ln -s <replaceable>$PREFIX/share/mplayer/arial-24</replaceable> $PREFIX/share/mplayer/font
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Fonts should have an appropriate <filename>font.desc</filename> file
|
|
which maps unicode font positions to the actual code page of the
|
|
subtitle text. Another solution is to have UTF-8-encoded subtitles
|
|
and use the <option>-utf8</option> option or give the subtitles
|
|
file the same name as your video file with a <filename>.utf</filename>
|
|
extension and have it in the same directory as the video file.
|
|
</para>
|
|
</sect2>
|
|
|
|
<!-- ********** -->
|
|
|
|
<sect2 id="osdmenu">
|
|
<title>OSD menu</title>
|
|
|
|
<para>
|
|
<application>MPlayer</application> has a completely user definiable
|
|
OSD Menu interface.
|
|
</para>
|
|
|
|
<note><para>
|
|
the Preferences menu is currently UNIMPLEMENTED!
|
|
</para></note>
|
|
|
|
<orderedlist>
|
|
<title>Installation</title>
|
|
<listitem><para>
|
|
compile <application>MPlayer</application> by passing the
|
|
<option>--enable-menu</option> to <filename>./configure</filename>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
make sure you have an OSD font installed
|
|
</para></listitem>
|
|
<listitem><para>
|
|
copy <filename>etc/menu.conf</filename> to your
|
|
<filename class="directory">.mplayer</filename> directory
|
|
</para></listitem>
|
|
<listitem><para>
|
|
copy <filename>etc/input.conf</filename> to your
|
|
<filename class="directory">.mplayer</filename> directory, or to the
|
|
system-wide <application>MPlayer</application> config dir (default:
|
|
<filename class="directory">/usr/local/etc/mplayer</filename>)
|
|
</para></listitem>
|
|
<listitem><para>
|
|
check and edit <filename>input.conf</filename> to enable menu movement keys
|
|
(it is described there).
|
|
</para></listitem>
|
|
<listitem><para>
|
|
start <application>MPlayer</application> by the following example:
|
|
<screen>mplayer -menu <replaceable>file.avi</replaceable></screen>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
push any menu key you defined
|
|
</para></listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="rtc">
|
|
<title>RTC</title>
|
|
|
|
<para>
|
|
There are three timing methods in <application>MPlayer</application>.
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<emphasis role="bold">To use the old method</emphasis>, you don't have to do
|
|
anything. It uses <systemitem>usleep()</systemitem> to tune
|
|
A/V sync, with +/- 10ms accuracy. However sometimes the sync has to be
|
|
tuned even finer.
|
|
</para></listitem>
|
|
<listitem>
|
|
<para>
|
|
<emphasis role="bold">The new timer</emphasis> code uses the RTC (RealTime
|
|
Clock) for this task, because it has precise 1ms timers.
|
|
The <option>-rtc</option> option enables it,
|
|
but a properly set up kernel is required.
|
|
If you are running kernel 2.4.19pre8 or later you can adjust the maximum RTC
|
|
frequency for normal users through the <systemitem class="systemname">/proc
|
|
</systemitem> filesystem. Use one of the following two commands to
|
|
enable RTC for normal users:
|
|
<screen>echo 1024 > /proc/sys/dev/rtc/max-user-freq</screen>
|
|
<screen>sysctl dev/rtc/max-user-freq=1024</screen>
|
|
You can make this setting permanent by adding the latter to
|
|
<filename>/etc/sysctl.conf</filename>.
|
|
</para>
|
|
<para>
|
|
You can see the new timer's efficiency in the status line.
|
|
The power management functions of some notebook BIOSes with speedstep CPUs
|
|
interact badly with RTC. Audio and video may get out of sync. Plugging the
|
|
external power connector in before you power up your notebook seems to help.
|
|
In some hardware combinations (confirmed during usage of non-DMA DVD drive
|
|
on an ALi1541 board) usage of the RTC timer causes skippy playback. It's
|
|
recommended to use the third method in these cases.
|
|
</para>
|
|
</listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">The third timer code</emphasis> is turned on with the
|
|
<option>-softsleep</option> option. It has the efficiency of the RTC, but it
|
|
doesn't use RTC. On the other hand, it requires more CPU.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</sect1>
|
|
|
|
</chapter>
|