view DOCS/xml/ru/install.xml @ 32173:2a28dda68bbc

swscale: factorize plane copying code out of 2 functions
author ramiro
date Thu, 16 Sep 2010 01:07:55 +0000
parents 92d75e703bc0
children 6a199704d53f
line wrap: on
line source

<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r24087 -->
<chapter id="install">
<title>Установка</title>

<para>
В файле <filename>README</filename> вы сможете найти короткое руководство
по установке. Пожалуйста, сначала прочтите его, а затем вернитесь к оставшимся
неясными деталям.
</para>

<para>
В этой главе я постараюсь провести Вас через процесс компиляции и конфигурации
<application>MPlayer</application>'а. Это не просто, но это не обязательно будет сложно. Если Вы заметите
какие-то отклонения, от того, что я объясняю, пожалуйста, поищите в этой
документации и Вы найдёте ответ. Если Вы увидите ссылку, пожалуйста, проследуйте
по ней и внимательно прочитайте её содержимое. Это займёт некоторое время,
но это ДЕЙСТВИТЕЛЬНО того стоит
</para>

<para>
Вам нужна современная система. Под Linux'ом рекомендуются ядра 2.4.x.
</para>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="softreq">
<title>Требуемые программы:</title>

<itemizedlist>
<listitem><para>
  <emphasis role="bold">binutils</emphasis> - рекомендуемая версия - это
  <emphasis role="bold">2.11.x</emphasis>.
</para></listitem>
<listitem><para>
  <emphasis role="bold">gcc</emphasis> - рекомендуемые версии:
  2.95 и 3.4+.  Известно, что 2.96 и 3.0.x генерируют испорченный код.
  С 3.1 и 3.2 были проблемы, с 3.3. тоже были небольшие проблемы. На PowerPC используйте 4.x+.
</para></listitem>
<listitem><para>
  <emphasis role="bold">XOrg/XFree86</emphasis> - рекомендуемая версия -
  4.3 или более поздняя.  Убедитесь, что также установлен
  <emphasis role="bold">пакет разработки</emphasis>, иначе это не будет работать.
  Вам необязательно иметь X, некоторые драйверы вывода видео работают и без него.
</para></listitem>
<listitem><para>
  <emphasis role="bold">make</emphasis> - рекомендуемая версия - 3.79.x или
  более поздняя. Для сборки XML документации требуется 3.80.
</para></listitem>
<listitem><para>
  <emphasis role="bold">FreeType</emphasis> - версия 2.0.9 или более поздняя
  требуется для OSD и субтитров.
</para></listitem>
<listitem><para>
  <emphasis role="bold">ALSA</emphasis> - необязательно, для поддержки вывода звука через ALSA
  Требуется минимум  0.9.0rc4.
</para></listitem>
<listitem><para>
  <emphasis role="bold">libjpeg</emphasis> - необходима для опционального
  драйвера вывода видео JPEG.
</para></listitem>
<listitem><para>
  <emphasis role="bold">libpng</emphasis> - необходима для опционального
  драйвера вывода видео PNG.
</para></listitem>
<listitem><para>
  <emphasis role="bold">directfb</emphasis> - необязательно, версия 0.9.13 или
  более поздняя требуется для драйвера вывода видео directfb.
</para></listitem>
<listitem><para>
  <emphasis role="bold">lame</emphasis> - рекомендуется 3.90 или новее,
  необходимо для кодирования MP3 аудио c <application>MEncoder</application>,
</para></listitem>
<listitem><para>
  <emphasis role="bold">zlib</emphasis> - рекомендуется, необходима для сжатых
  MOV заголовков и поддержки PNG.
</para></listitem>
<listitem><para>
  <emphasis role="bold"><ulink url="http://www.live555.com/mplayer/">LIVE555 Streaming Media</ulink></emphasis>
- необязательно, необходимо для некоторых RTSP/RTP потоков.
</para></listitem>
<listitem><para>
  <emphasis role="bold">cdparanoia</emphasis> - необязательно, для поддержки CDDA
</para></listitem>
<listitem><para>
  <emphasis role="bold">libxmms</emphasis> - необязательно, для поддержки входных плагинов XMMS.
Требуется минимум 1.2.7.
</para></listitem>
<listitem><para>
  <emphasis role="bold">libsmb</emphasis> - необязательно, для поддержки
  сетевого протокола SMB.
</para></listitem>
</itemizedlist>
</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="features">
<title>Возможности:</title>

<itemizedlist>
<listitem><para>
  Решите, нужен ли Вам GUI. Если да, прочитайте до компиляции
  секцию <link linkend="gui">GUI</link>.
</para></listitem>
<listitem><para>
  Если Вы хотите установить <application>MEncoder</application> (наш великолепный многоцелевой кодировщик),
читайте <link linkend="mencoder">секцию <application>MEncoder</application></link>.
</para></listitem>
<listitem><para>
  Если у Вас есть V4L совместимый <emphasis role="bold">TV тюнер</emphasis>, и Вы хотите
  смотреть/захватывать и кодировать MPlayer'ом фильмы, читайте секцию
  <link linkend="tv-input">TV вход</link>.
</para></listitem>
<listitem><para>
  Если у вас есть V4L совместимый <emphasis role="bold">Radio тюнер</emphasis>,
  и вы хотите слушать/записывать MPlayer'ом радиопередачи, читайте секцию
  <link linkend="radio">Радио</link>.
</para></listitem>
<listitem><para>
  Существует изящное <emphasis role="bold">OSD Меню</emphasis> готовое для использования.
  Проверьте секцию <link linkend="subosd">OSD Меню</link>.
</para></listitem>
</itemizedlist>

<para>
Теперь соберите <application>MPlayer</application>:
<screen>
./configure
make
make install
</screen>
</para>

<para>
В этот момент, <application>MPlayer</application> готов к использованию.
Проверьте, не содержится ли файл <filename>codecs.conf</filename> в Вашем домашнем каталоге
(<filename>~/.mplayer/codecs.conf</filename>) оставленный от предыдущих версий MPlayer'а,
и удалите его.
</para>

<para>
Обратите внимание на то, что если у Вас в <filename>~/.mplayer/</filename> есть
файл <filename>codecs.conf</filename>, то встроенный и системный файлы
<filename>codecs.conf</filename> будут полностью игнорированы. Не делайте
этого, если только Вы не собираетесь развлекаться со внутренностями <application>MPlayer</application>'а,
поскольку это может вызвать множество проблем. Если Вы хотите поменять порядок
подбора кодеков, используйте опции <option>-vc</option>, <option>-ac</option>,
<option>-vfm</option>, и <option>-afm</option> либо в командной строке, либо
в Вашем конфигурационном файле (см. страницу руководства).
</para>


<para>
Пользователи Debian могут сами создать .deb пакеты, это очень
просто. Просто запустите <screen>fakeroot debian/rules binary</screen> в корневом
каталоге <application>MPlayer'а</application>. Более подробные инструкции см.
в разделе <link linkend="debian">Создание Debian пакетов</link>.
</para>


<para>
<emphasis role="bold">Всегда просматривайте вывод</emphasis> <filename>./configure</filename>, и файл
<filename>config.log</filename>, они содержат информацию о том, что будет собрано,
а что нет. Возможно Вы захотите просмотреть файлы <filename>config.h</filename> и
<filename>config.mak</filename>.
Если у Вас стоят какие-то библиотеки, которые не определяются
<filename>./configure</filename>, проверьте, что у Вас установлены соответствующие
заголовки[header files] (обычно это -dev пакеты) и их версии совпадают. Файл
<filename>config.log</filename> Обычно сообщит Вам, чего не хватает для сборки.
</para>


<para>
Хотя это не обязательно, но чтобы получить функционирующие OSD и субтитры,
должны быть установлены шрифты. Рекомендуемый метод - установка TTF шрифта и
указание <application>MPlyer</application>'у использовать его. Подробности, см. в  секции
<link linkend="subosd">Субтитры и OSD</link>.
</para>

</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="gui">
<title>Как насчёт GUI?</title>

<para>
Для GUI требуется GTK 1.2.x или GTK 2.0 (он не целиком GTK'шный, но панельки - да). Шкуры
хранятся в PNG формате, поэтому GTK, <systemitem class="library">libpng</systemitem>
(и их части для разработчиков, обычно они называются
<systemitem class="library">gtk-dev</systemitem> и
<systemitem class="library">libpng-dev</systemitem>) должны быть установлены.
Вы можете собрать GUI, указав <option>--enable-gui</option> в <option>./configure</option>.
Затем, чтобы использовать GUI, Вы должны запускать <command>gmplayer</command>.
</para>

<para>
Поскольку <application>MPlayer</application> не содержит ни одной шкуры, Вы должны скачать
их, если Вы хотите использовать GUI. См.
<ulink url="http://www.mplayerhq.hu/dload.html">download page[страницу
закачек]</ulink>. Они должны быть извлечены в системный каталог
(<filename class="directory">$PREFIX/share/mplayer/skins</filename>), или в
<filename class="directory">$HOME/.mplayer/skins</filename>. По умолчанию, MPlayer ищет
каталог <filename class="directory">default</filename>
в этих каталогах, но вы можете использовать опцию <option>-skin <replaceable>newskin</replaceable></option>,
или директиву конфигурационного файла <option>skin=newskin</option>, чтобы использовать
шкуру из каталога <filename class="directory">*/skins/newskin</filename>.
</para>
</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="fonts-osd">
<title>Шрифты и OSD</title>

<para>
Чтобы насладиться OSD и субтитрами, надо указать <application>MPlayer</application> какой
шрифт использовать. Подойдет любой TrueType или специальный растровый шрифт. Тем не менее,
рекомендуется использовать TrueType шрифты, поскольку они лучше выглядят, корректно
масштабируются до размера фильма, у лучше справляются с различными кодировками.
</para>

<!-- ********** -->

<sect2 id="truetype-fonts">
<title>TrueType шрифты</title>

<para>
Есть два способа заставить работать TrueType шрифты. Первый - указать опцию <option>-font</option>,
чтобы указать путь к TrueType шрифту из команднов строки. Эта опция будет хорошим кандидатом на
помещение в файл конфигурации (для подробностей смотрите страницу man руководства).
Второй - создание символической ссылки с именем <filename>subfont.ttf</filename> на выбранный
файл шрифта. Либо
<screen>
ln -s <replaceable>/path/to/sample_font.ttf</replaceable> ~/.mplayer/subfont.ttf
</screen>
индивидуально для каждого пользователя, либо одну общесистемную
<screen>
ln -s <replaceable>/path/to/sample_font.ttf</replaceable> $PREFIX/share/mplayer/subfont.ttf
</screen>
</para>

<para>
Если <application>MPlayer</application> был скомпилирован с поддержкой
<systemitem class="library">fontconfig</systemitem>, эти методы не будут работать,
вместо этого, опция <option>-font</option> ожидает
<systemitem class="library">fontconfig</systemitem> название шрифта,
 и по умолчанию это шрифт sans-serif. Пример:
<screen>
mplayer -font <replaceable>'Bitstream Vera Sans'</replaceable> <replaceable>anime.mkv</replaceable>
</screen>
</para>
<para>
Чтобы получить список шрифтов, известных
<systemitem class="library">fontconfig</systemitem>,
используйте <command>fc-list</command>
</para>
</sect2>

<!-- ********** -->

<sect2 id="bitmap-fonts">
<title>Растровые шрифты</title>
<para>
Если по каким-то причинам вам необходимо использовать растровый шрифт, скачайте набор таковых с
нашего сайта. Вы можете выбирать между различными
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/fonts/">ISO шрифтами</ulink> и
набором шрифтов
<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/fonts/">созданных пользователями</ulink>
в различных кодировках.
</para>

<para>
Распакуйте скачанный файл в <filename class="directory">~/.mplayer</filename> или
<filename class="directory">$PREFIX/share/mplayer</filename>.
После этого переименуйте каталог или создайте символическую ссылку на него с именем
<filename class="directory">font</filename>, например:
<screen>
ln -s <replaceable>~/.mplayer/arial-24</replaceable> ~/.mplayer/font
</screen>
<screen>
ln -s <replaceable>$PREFIX/mplayer/arial-24</replaceable> $PREFIX/mplayer/font
</screen>
</para>

<para>
Шрифты должны иметь соответствующий им <filename>font.desc</filename> файл, отображающий
позиции юникод шрифта в кодовую страницу текста субтитров. Другое решение - иметь субтитры,
кодированные в UTF-8 и использовать опцию <option>-utf8</option> или просто дать файлу
с субтитрами такое же, как у видео файла, имя с расширением <filename>.utf</filename>,
положив его в один каталог с фильмом.
</para>
</sect2>

<!-- ********** -->

<sect2 id="osdmenu">
<title>OSD меню</title>

<para>
У <application>MPlayer</application>'а существует целиком определяемый пользователем интерфейс OSD меню.
</para>

<note><para>
меню Preferences[Настройки] в настоящий момент НЕ НАПИСАНО!
</para></note>

<orderedlist>
<title>Установка</title>
<listitem><para>
  скомпилируйте <application>MPlayer</application>, указав
  <filename>./configure</filename> параметр <option>--enable-menu</option>
</para></listitem>
<listitem><para>
  убедитесь, что у Вас установлен OSD шрифт
</para></listitem>
<listitem><para>
  скопируйте <filename>etc/menu.conf</filename> в Ваш каталог <filename
  class="directory">.mplayer</filename>
</para></listitem>
<listitem><para>
  скопируйте <filename>etc/input.conf</filename> в Ваш каталог
  <filename class="directory">.mplayer</filename>, или в системный конфигурационный
  каталог <application>MPlayer</application>'а (по умолчанию:
  <filename class="directory">/usr/local/etc/mplayer</filename>)
</para></listitem>
<listitem><para>
  проверьте и отредактируйте <filename>input.conf</filename>, чтобы включить
  кнопки перемещения по меню (это здесь описано).
</para></listitem>
<listitem><para>
  запустите <application>MPlayer</application> как в следующем примере:
  <screen>mplayer -menu <replaceable>file.avi</replaceable></screen>
</para></listitem>
<listitem><para>
  нажмите любую меню-кнопку, которую Вы определили
</para></listitem>
</orderedlist>
</sect2>
</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="codec-installation">
<title>Codec installation</title>

<!-- ********** -->

<sect2 id="xvid">
<title>Xvid</title>

<para>
<ulink url="http://www.xvid.org">Xvid</ulink> свободный, MPEG-4 ASP совместимый
видео кодек, особенностями которого являются двухпроходное кодирование и
полная поддержка MPEG-4 ASP.
Имейте в виду, что Xvid не нужен для декодирования Xvid-кодированного видео.
<systemitem class="library">libavcodec</systemitem> используется по-умолчанию,
т.к. обеспечивает более высокую скорость.
</para>

<procedure>
<title>Установка <systemitem class="library">Xvid</systemitem></title>

<para>
  Как и большинство ПО с открытым исходным кодом, он доступен как в виде
  <ulink url="http://www.xvid.org/downloads.html">официальных релизов</ulink>,
  так и в виде CVS версии.
  Как правило, CVS версия достаточно стабильна для использования, т.к. в большинстве
  случаев ее особенностью является отсутствие ошибок, присутствующих в релизах.
  Далее описывается как заставить  работать
  <systemitem class="library">Xvid</systemitem> CVS с <application>MEncoder</application>:
</para>
<step><para>
  <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</screen>
</para></step>
<step><para>
  <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</screen>
</para></step>
<step><para>
  <screen>cd xvidcore/build/generic</screen>
</para></step>
<step><para>
  <screen>./bootstrap.sh</screen>
</para></step>
<step><para>
  <screen>./configure</screen>
  Вам может потребоваться добавить некоторые опции (посмотрите вывод
  <command>./configure --help</command>).
</para></step>
<step><para>
  <screen>make &amp;&amp; make install</screen>
</para></step>
<step><para>
  Перекомпилируйте <application>MPlayer</application>.
</para></step>
</procedure>
</sect2>

<!-- ********** -->

<sect2 id="x264">
<title><systemitem class="library">x264</systemitem></title>

<para>
<ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink>
is a library for creating H.264 video.
<application>MPlayer</application> sources are updated whenever
an <systemitem class="library">x264</systemitem> API change
occurs, so it is always suggested to use
<application>MPlayer</application> from Subversion.
</para>

<para>
If you have a GIT client installed, the latest x264
sources can be gotten with this command:
<screen>git clone git://git.videolan.org/x264.git</screen>

Then build and install in the standard way:
<screen>./configure &amp;&amp; make &amp;&amp; make install</screen>

Now rerun <filename>./configure</filename> for
<application>MPlayer</application> to pick up
<systemitem class="library">x264</systemitem> support.
</para>
</sect2>

<!-- ********** -->

<sect2 id="aac">
<title>AAC кодек</title>
<para>
AAC (Advanced Audio Coding) - это кодек, иногда обнаруживаемый в MOV и MP4
файлах. Декодер с открытым исходным кодом, называемый FAAD, доступен с
<ulink url="http://www.audiocoding.com"/>.
<application>MPlayer</application> включает в себя CVS версию libfaad 2.1 beta, поэтому
Вам ничего не нужно дополнительно скачивать.
</para>

<para>
Если Вы используете gcc 3.2, который не может скомпилировать встроенный FAAD,
или просто хотите использовать внешнюю библиотеку, скачаете её с
<ulink url="http://www.audiocoding.com/download.php">страницы загрузок</ulink>
и укажите <filename>./configure</filename> <option>--enable-faad-external</option>.
Вам не нужен весь faad2, чтобы декодировать AAC файлы, достаточно libfaad.
Вот как Вы можете её собрать:
<screen>
cd faad2/
sh bootstrap
./configure
cd libfaad
make
make install
</screen>
Бинарники отсутствуют на audiocoding.com, но вы можете скачать (apt-get) Debian
пакеты с <ulink url="http://marillat.free.fr">домашней страницы Christian Marillat</ulink>,
Mandrake RPM'ники с <ulink url="http://plf.zarb.org">P.L.F</ulink> и RedHat RPM'ники
с <ulink url="http://rpm.livna.org/">Livna</ulink>.
</para>
</sect2>

<!-- ********** -->

<sect2 id="amr">
<title>AMR кодеки</title>
<para>
Речевой кодек Adaptive Multi-Rate используется в мобильных телефонах третьего поколения (3G).

Исходная реализация доступна с
<ulink url="http://www.3gpp.org">The 3rd Generation Partnership Project</ulink>
(бесплатна для личного использования).
Чтобы включить поддержку, скачайте и установите библиотеки поддержки для
<ulink url="http://www.penguin.cz/~utx/amr">AMR-NB и AMR-WB</ulink>, следуя
инструкциям на указанной странице.
</para>
</sect2>

</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="rtc">
<title>RTC</title>
<para>
У <application>MPlayer</application>'а есть три метода синхронизации.

<itemizedlist>
<listitem><para>
  <emphasis role="bold">Чтобы использовать старый метод синхронизации</emphasis>,
  Вам ничего не надо делать. Он использует <systemitem>usleep()</systemitem>,
  чтобы подстроить A/V синхронизацию, с точностью +/- 10ms. Однако, иногда
  требуется даже большая точность синхронизации.
</para></listitem>
<listitem>
  <para>
  <emphasis role="bold">Новый таймер</emphasis> использует RTC (Real Time
  Clock[часы истинного времени]) для этой задачи потому, что это таймер
  точностью 1ms. Он включается опцией <option>-rtc</option>, но требует
  правильно настроенного ядра.
  Если Вы работаете с ядром 2.4.19pre8 или более поздним, Вы можете настроить
  максимальную частоту RTC для обычных пользователей через файловую систему
  <systemitem class="systemname">/proc</systemitem>.
  Используйте одну из этих двух команд, чтобы сделать RTC доступным для обычных
  пользователей:
  <screen>echo 1024 &gt; /proc/sys/dev/rtc/max-user-freq</screen>
  <screen>sysctl dev/rtc/max-user-freq=1024</screen>
  Можно сделать эти изменения постоянными, добавив последнюю в
  <filename>/etc/sysctl.conf</filename>.
  </para>
  <para>
  Вы увидите эффективность нового кода таймера по строке состояния.
  Функции управления потребляемой мощностью[power management] у некоторых
  ноутбуковских BIOS'ов со speedstep-CPU плохо взаимодействуют с RTC. Аудио и
  видео могут десинхронизироваться. Вероятно, если Вы вставите штекер внешнего
  питания до включения ноутбука, то это поможет. В некоторых аппаратных
  комбинациях (подтверждено при использовании не-DMA DVD драйва с материнской
  платой ALi1541) использование RTC таймера приводит к "прыгающему"[skippy]
  проигрыванию. В этом случае рекомендуется использовать третий метод.
  </para>
</listitem>
<listitem><para>
  <emphasis role="bold">Третий код таймера</emphasis> включается опцией
  <option>-softsleep</option>. У него эффективность RTC, но он не использует
  RTC. С другой стороны, он сильнее использует CPU.
</para></listitem>
</itemizedlist>
</para>
</sect1>
</chapter>