# Установка

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

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

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

## Требуемые программы:

- binutils - рекомендуемая версия - это 2.11.x.

- gcc - рекомендуемые версии: 2.95 и 3.4+. Известно, что 2.96 и 3.0.x генерируют испорченный код. С 3.1 и 3.2 были проблемы, с 3.3. тоже были небольшие проблемы. На PowerPC используйте 4.x+.

- XOrg/XFree86 - рекомендуемая версия - 4.3 или более поздняя. Убедитесь, что также установлен пакет разработки, иначе это не будет работать. Вам необязательно иметь X, некоторые драйверы вывода видео работают и без него.

- make - рекомендуемая версия - 3.79.x или более поздняя. Для сборки XML документации требуется 3.80.

- FreeType - версия 2.0.9 или более поздняя требуется для OSD и субтитров.

- ALSA - необязательно, для поддержки вывода звука через ALSA Требуется минимум 0.9.0rc4.

- libjpeg - необходима для опционального драйвера вывода видео JPEG.

- libpng - необходима для опционального драйвера вывода видео PNG.

- directfb - необязательно, версия 0.9.13 или более поздняя требуется для драйвера вывода видео directfb.

- lame - рекомендуется 3.90 или новее, необходимо для кодирования MP3 аудио c MEncoder,

- zlib - рекомендуется, необходима для сжатых MOV заголовков и поддержки PNG.

- LIVE555 Streaming Media - необязательно, необходимо для некоторых RTSP/RTP потоков.

- cdparanoia - необязательно, для поддержки CDDA

- libxmms - необязательно, для поддержки входных плагинов XMMS. Требуется минимум 1.2.7.

- libsmb - необязательно, для поддержки сетевого протокола SMB.

## Возможности:

- Решите, нужен ли Вам GUI. Если да, прочитайте до компиляции секцию GUI.

- Если Вы хотите установить MEncoder (наш великолепный многоцелевой кодировщик), читайте секцию MEncoder.

- Если у Вас есть V4L совместимый TV тюнер, и Вы хотите смотреть/захватывать и кодировать MPlayer'ом фильмы, читайте секцию TV вход.

- Если у вас есть V4L совместимый Radio тюнер, и вы хотите слушать/записывать MPlayer'ом радиопередачи, читайте секцию Радио.

- Существует изящное OSD Меню готовое для использования. Проверьте секцию OSD Меню.

Теперь соберите MPlayer:

    ./configure
    make
    make install

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

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

Пользователи Debian могут сами создать .deb пакеты, это очень просто. Просто запустите

    fakeroot debian/rules binary

в корневом каталоге MPlayer'а. Более подробные инструкции см. в разделе Создание Debian пакетов.

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

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

## Как насчёт GUI?

Для GUI требуется GTK+ 2 (он не целиком GTK'шный, но панельки - да). Шкуры хранятся в PNG формате, поэтому GTK, libpng (и их части для разработчиков, обычно они называются gtk-dev и libpng-dev) должны быть установлены. Вы можете собрать GUI, указав `--enable-gui` в `./configure`. Затем, чтобы использовать GUI, Вы должны запускать `gmplayer`.

Поскольку MPlayer не содержит ни одной шкуры, Вы должны скачать их, если Вы хотите использовать GUI. См. download page[страницу закачек]. Они должны быть извлечены в системный каталог (`$PREFIX/share/mplayer/skins`), или в `$HOME/.mplayer/skins`. По умолчанию, MPlayer ищет каталог `default` в этих каталогах, но вы можете использовать опцию `-skin newskin`, или директиву конфигурационного файла `skin=newskin`, чтобы использовать шкуру из каталога `*/skins/newskin`.

## Шрифты и OSD

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

### TrueType шрифты

Есть два способа заставить работать TrueType шрифты. Первый - указать опцию `-font`, чтобы указать путь к TrueType шрифту из команднов строки. Эта опция будет хорошим кандидатом на помещение в файл конфигурации (для подробностей смотрите страницу man руководства). Второй - создание символической ссылки с именем `subfont.ttf` на выбранный файл шрифта. Либо

    ln -s /path/to/sample_font.ttf ~/.mplayer/subfont.ttf

индивидуально для каждого пользователя, либо одну общесистемную

    ln -s /path/to/sample_font.ttf $PREFIX/share/mplayer/subfont.ttf

Если MPlayer был скомпилирован с поддержкой fontconfig, эти методы не будут работать, вместо этого, опция `-font` ожидает fontconfig название шрифта, и по умолчанию это шрифт sans-serif. Пример:

    mplayer -font 'Bitstream Vera Sans' anime.mkv

Чтобы получить список шрифтов, известных fontconfig, используйте `fc-list`

### Растровые шрифты

Если по каким-то причинам вам необходимо использовать растровый шрифт, скачайте набор таковых с нашего сайта. Вы можете выбирать между различными ISO шрифтами и набором шрифтов созданных пользователями в различных кодировках.

Распакуйте скачанный файл в `~/.mplayer` или `$PREFIX/share/mplayer`. После этого переименуйте каталог или создайте символическую ссылку на него с именем `font`, например:

    ln -s ~/.mplayer/arial-24 ~/.mplayer/font

    ln -s $PREFIX/mplayer/arial-24 $PREFIX/mplayer/font

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

### OSD меню

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

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

#### Установка

1. скомпилируйте MPlayer, указав `./configure` параметр `--enable-menu`

2. убедитесь, что у Вас установлен OSD шрифт

3. скопируйте `etc/menu.conf` в Ваш каталог `.mplayer`

4. скопируйте `etc/input.conf` в Ваш каталог `.mplayer`, или в системный конфигурационный каталог MPlayer'а (по умолчанию: `/usr/local/etc/mplayer`)

5. проверьте и отредактируйте `input.conf`, чтобы включить кнопки перемещения по меню (это здесь описано).

6. запустите MPlayer как в следующем примере:

       mplayer -menu file.avi

7. нажмите любую меню-кнопку, которую Вы определили

## Codec installation

### Xvid

Xvid свободный, MPEG-4 ASP совместимый видео кодек, особенностями которого являются двухпроходное кодирование и полная поддержка MPEG-4 ASP. Имейте в виду, что Xvid не нужен для декодирования Xvid-кодированного видео. libavcodec используется по-умолчанию, т.к. обеспечивает более высокую скорость.

#### Установка Xvid

Как и большинство ПО с открытым исходным кодом, он доступен как в виде официальных релизов, так и в виде CVS версии. Как правило, CVS версия достаточно стабильна для использования, т.к. в большинстве случаев ее особенностью является отсутствие ошибок, присутствующих в релизах. Далее описывается как заставить работать Xvid CVS с MEncoder:

1.     cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login

2.     cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore

3.     cd xvidcore/build/generic

4.     ./bootstrap.sh

5.     ./configure

   Вам может потребоваться добавить некоторые опции (посмотрите вывод `./configure --help`).

6.     make && make install

7. Перекомпилируйте MPlayer.

### x264

x264 is a library for creating H.264 video. MPlayer sources are updated whenever an x264 API change occurs, so it is always suggested to use MPlayer from Subversion.

If you have a GIT client installed, the latest x264 sources can be gotten with this command:

    git clone git://git.videolan.org/x264.git

Then build and install in the standard way:

    ./configure && make && make install

Now rerun `./configure` for MPlayer to pick up x264 support.

### AMR кодеки

Речевой кодек Adaptive Multi-Rate используется в мобильных телефонах третьего поколения (3G).

Исходная реализация доступна с The 3rd Generation Partnership Project (бесплатна для личного использования). Чтобы включить поддержку, скачайте и установите библиотеки поддержки для AMR-NB и AMR-WB, следуя инструкциям на указанной странице.

## RTC

У MPlayer'а есть три метода синхронизации.

- Чтобы использовать старый метод синхронизации, Вам ничего не надо делать. Он использует usleep(), чтобы подстроить A/V синхронизацию, с точностью +/- 10ms. Однако, иногда требуется даже большая точность синхронизации.

- Новый таймер использует RTC (Real Time Clock[часы истинного времени]) для этой задачи потому, что это таймер точностью 1ms. Он включается опцией `-rtc`, но требует правильно настроенного ядра. Если Вы работаете с ядром 2.4.19pre8 или более поздним, Вы можете настроить максимальную частоту RTC для обычных пользователей через файловую систему /proc. Используйте одну из этих двух команд, чтобы сделать RTC доступным для обычных пользователей:

      echo 1024 > /proc/sys/dev/rtc/max-user-freq

      sysctl dev/rtc/max-user-freq=1024

  Можно сделать эти изменения постоянными, добавив последнюю в `/etc/sysctl.conf`.

  Вы увидите эффективность нового кода таймера по строке состояния. Функции управления потребляемой мощностью[power management] у некоторых ноутбуковских BIOS'ов со speedstep-CPU плохо взаимодействуют с RTC. Аудио и видео могут десинхронизироваться. Вероятно, если Вы вставите штекер внешнего питания до включения ноутбука, то это поможет. В некоторых аппаратных комбинациях (подтверждено при использовании не-DMA DVD драйва с материнской платой ALi1541) использование RTC таймера приводит к "прыгающему"[skippy] проигрыванию. В этом случае рекомендуется использовать третий метод.

- Третий код таймера включается опцией `-softsleep`. У него эффективность RTC, но он не использует RTC. С другой стороны, он сильнее использует CPU.