mpv/DOCS/xml/ru/ports.xml

958 lines
45 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r23271 -->
<chapter id="ports" xreflabel="Портинг">
<title>Портинг</title>
<sect1 id="linux">
<title>Linux</title>
<para>
Основная платформа разработки &mdash; это Linux на x86, хотя
<application>MPlayer</application> работает под многими другими портами Linux.
Бинарные пакеты <application>MPlayer</application>'а доступны из нескольких источников.
Тем не менее,
<emphasis role="bold">ни один из этих пакетов не поддерживается</emphasis>.
Сообщайте о проблемах их авторам, а не нам.
</para>
<!-- ********** -->
<sect2 id="debian">
<title>Debian пакеты</title>
<para>
Чтобы создать Debian пакет, выполните следующие команды в каталоге с исходным
кодом <application>MPlayer</application>'а:
<screen>fakeroot debian/rules binary</screen>
Если вы хотите передать дополнительные опции configure, установите
соответствующее значение переменной окружения <envar>DEB_BUILD_OPTIONS</envar>.
В частности, если хотите поддержку GUI и OSD, укажите:
<screen>DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary</screen>
Вы также можете передать некоторые переменные в Makefile. Например, если
желаете компилировать gcc 3.4 даже если это не основной компилятор:
<screen>CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary</screen>
Для очистки дерева исходных текстов воспользуйтесь командой:
<screen>fakeroot debian/rules clean</screen>
В качестве root'а Вы затем можете установить <filename>.deb
</filename> пакет:
<screen>dpkg -i ../mplayer_<replaceable>версия</replaceable>.deb</screen>
</para>
<para>
Какое-то время Christian Marillat собирал неофициальные Debian пакеты с
<application>MPlayer</application>, <application>MEncoder</application>
и бинарными кодеками, так что вы можете их скачать (выполнить apt-get)
с его <ulink url="http://www.debian-multimedia.org/">сайта</ulink>.
</para>
</sect2>
<!-- ********** -->
<sect2 id="rpm">
<title>RPM пакеты</title>
<para>
Dominik Mierzejewski поддерживает официальные Fedora Core RPM пакеты
<application>MPlayer</application>'а. Они доступны в
<ulink url="http://rpm.livan.org/">репозитории Livna</ulink>.
</para>
<para>
Mandrake/Mandriva RPM пакеты доступны с <ulink url="http://plf.zarb.org/">P.L.F.</ulink>.
SuSE включала искалеченную версию <application>MPlayer</application>'а в дистрибутив.
Из последних релизов они убрали эти пакеты. Вы можете взять
работающие RPM с
<ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
</para>
</sect2>
<!-- ********** -->
<sect2 id="arm">
<title>ARM</title>
<para>
<application>MPlayer</application> работает на Linux PDA с ARM процессором,
например Sharp Zaurus, Compaq Ipaq. Простейший способ получить <application>
MPlayer</application> &mdash; это скачать его с
пакетных репозиториев
<ulink url="http://www.openzaurus.org">OpenZaurus</ulink>. Если Вы хотите
скомпилировать его самостоятельно, обратите внимание на каталоги
<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayer</ulink>
и
<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>
в корне сборки дистрибутива OpenZaurus. Там всегда найдутся
свежий Makefile и патчи, используемые для сборки SVN <application>MPlayer</application>'а вместе с
<systemitem class="library">libavcodec</systemitem>.
Если Вам нужен GUI, используйте встроенный в xmms
</para>
</sect2>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="bsd">
<title>*BSD</title>
<para>
<application>MPlayer</application> работает на всех известных семействах BSD.
Существуют портированные[ports]/пакеты сорцов[pkgsrcs]/fink/
и т.п. версии <application>MPlayer</application>, которые, наверное, проще использовать,
чем просто исходный код.
</para>
<para>
Чтобы собрать <application>MPlayer</application>, Вам понадобится GNU make (gmake &mdash;
родной BSD make не будет работать) и свежая версия binutils.
</para>
<para>
Если <application>MPlayer</application> ругается, что он не может найти
<filename>/dev/cdrom</filename> или
<filename>/dev/dvd</filename>, создайте соответствующую ссылку:
<screen>ln -s /dev/<replaceable>Ваше_cdrom_устройство</replaceable> /dev/cdrom</screen>
</para>
<para>
Чтобы использовать Win32 DLL'и с <application>MPlayer</application>'ом, Вам необходимо
перекомпилировать
ядро с "<envar>option USER_LDT</envar>" (если только у Вас не FreeBSD-CURRENT,
где это включено по умолчанию).
</para>
<!-- ********** -->
<sect2 id="freebsd">
<title>FreeBSD</title>
<para>
Если Ваш CPU поддерживает SSE, перекомпилируйте ядро с
"<envar>options CPU_ENABLE_SSE</envar>" (необходимо FreeBSD-STABLE
или патчи к ядру).
</para>
</sect2>
<!-- ********** -->
<sect2 id="openbsd">
<title>OpenBSD</title>
<para>
В связи с ограничениями в различных версиях gas (конфликт настройки адресов и MMX),
Вы должны будете компилировать в два шага: сначала убедитесь, что не родной as
&mdash; первый в Вашем <envar>$PATH</envar> и выполните <command>gmake -k
</command>, затем убедитесь, что будет использоваться родная версия и запустите
<command>gmake</command>.
</para>
<para>
Начиная с OpenBSD 3.4 подобный хак больше не нужен.
</para>
</sect2>
<!-- ********** -->
<sect2 id="darwin">
<title>Darwin</title>
<para>
См. секцию <link linkend="macos">Mac OS</link>.
</para>
</sect2>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="unix">
<title>Коммерческие Unix</title>
<para>
<application>MPlayer</application> был портирован на некоторые коммерческие варианты Unix.
Поскольку окружения разработки этих систем отличаются от свободных Unix'ов,
вам придется самостоятельно произвести некоторые действия, чтобы сборка заработала.
</para>
<sect2 id="solaris">
<title>Solaris</title>
<para>
<application>MPlayer</application> должен работать под Solaris 2.6 и более
новыми версиями. Для звука используйте звуковой драйвер SUN с
опцией <option>-ao sun</option>.
</para>
<para>
На <emphasis role="bold">UltraSPARC</emphasis>'ах, <application>MPlayer</application>
использует преимущество их расширения <emphasis role="bold">VIS</emphasis>
(эквивалент MMX), но (в настоящий момент) только в
<systemitem class="library">libmpeg2</systemitem>,
<systemitem class="library">libvo</systemitem>
and <systemitem class="library">libavcodec</systemitem>, но не в
<systemitem class="library">mp3lib</systemitem>. Вы сможете просматривать VOB'ы
на 400MHz CPU. Вам потребуется установленная
<ulink url="http://www.sun.com/sparc/vis/mediaLib.html"><systemitem class="library">mLib</systemitem></ulink>.
</para>
<para><emphasis role="bold">Предостережение:</emphasis></para>
<itemizedlist>
<listitem><para>
<emphasis role="bold">mediaLib</emphasis> в данный
момент отключена по умолчанию в
<application>MPlayer</application> из-за поломанности.
Пользователи SPARC, компилировавшие MPlayer с mediaLib
сообщали об изобилии зелёного оттенка в видео, кодируемом и
декодируемом libavcodec.
Если хотите, можете включить ее:
<screen>$ ./configure --enable-mlib</screen>
Вы делаете это на свой страх и риск, пользователи x86 не жолжны
<emphasis role="bold">никогда</emphasis> использовать mediaLib, поскольку
это очень сильно скажется на производительности MPlayer.
</para></listitem>
</itemizedlist>
<para>
Чтобы собрать программу, Вам потребуется GNU <application>make</application>
(<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), родной
Solaris make не будет работать. Типичная ошибка которую Вы будете
получать при использовании Solaris make, вместо GNU make:
<screen>
% /usr/ccs/bin/make
make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
</screen>
</para>
<para>
На Solaris SPARC, Вам потребуется GNU C/C++ Compiler; при этом не имеет
значения, был ли GNU C/C++ компилятор сконфигурирован с или без GNU ассемблера.
</para>
<para>
На Solaris x86, Вам потребуются GNU ассемблер и GNU C/C++ компилятор,
сконфигурированный, чтобы использовать GNU ассемблер! На x86 платформах
код <application>MPlayer</application>'а использует много MMX, SSE и 3DNOW!
инструкций, которые Sun'овский ассемблер <filename>/usr/ccs/bin/as</filename>
не может скомпилировать.
</para>
<para>
Скрипт <filename>configure</filename> пытается обнаружить, какой ассемблер
используется Вашей командой "gcc" (в том случае, если автоопределение
не сработает, используйте опцию
<option>--as=<replaceable>/там/где/у/Вас/установлен/gnu-as</replaceable></option>,
чтобы сообщить скрипту <filename>configure</filename>, где можно обнаружить
GNU "as" на Вашей системе).
</para>
<para>Решение общих проблем:</para>
<itemizedlist>
<listitem><para>
Сообщения об ошибках <filename>configure</filename> на Solaris x86 системах при
использовании GCC без GNU ассемблера:
<screen>
% configure
...
Checking assembler (/usr/ccs/bin/as) ... , failed
Please upgrade(downgrade) binutils to 2.10.1...<!--
--></screen>
(Решение: Установите и используйте gcc, сконфигурированный с
<option>--with-as=gas</option>)
</para>
<para>
Типичная ошибка при сборке GNU C компилятором, который не использует GNU as:
<screen>
% gmake
...
gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
-fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
Assembler: mplayer.c
"(stdin)", line 3567 : Illegal mnemonic
"(stdin)", line 3567 : Syntax error
... more "Illegal mnemonic" and "Syntax error" errors ...
</screen>
</para>
</listitem>
<listitem><para>
<application>MPlayer</application> может сообщить о нарушении сегментации при
кодировании и декодировании видео, использующего win32codecs:
<screen>
...
Trying to force audio codec driver family acm...
Opening audio decoder: [acm] Win32/ACM decoders
sysi86(SI86DSCR): Invalid argument
Couldn't install fs segment, expect segfault
MPlayer interrupted by signal 11 in module: init_audio_codec
...<!--
--></screen>
Это из-за изменений в sysi86() в Solaris 10 и пре-Solaris
Nevada b31 релизах. Исправлено в Solaris Nevada b32; тем не менее
Sun еще следует портировать исправление обратно на Solaris 10. Проект MPlayer
осведомил Sun об этой проблеме и патч в данный момент готовится для
Solaris 10. Больше информации об этой ошибке ищите
на:
<ulink url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>.
</para></listitem>
<listitem><para>
В связи с ошибками в Solaris 8, Вы не сможете проигрывать DVD диски, размером
больше 4 Гб:
</para>
<itemizedlist>
<listitem><para>
Под Solaris 8 x86 драйвер sd(7D) содержит ошибку, проявляющуюся при доступе
к дискам, размером > 4 Гб на устройствах с логическим размером блока !=
DEV_BSIZE (например CD-ROM и DVD диски).
Из-за целочисленного 32-х битного переполнения, происходит доступ к дисковому адресу
по модулю 4 Гб
(<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
Проблема отсутствует в SPARC версиях Solaris 8.
</para></listitem>
<listitem><para>
Похожая ошибка существует в коде файловой системы hsfs(7FS) (ISO9660),
hsfs может не поддерживать разделы/диски больше 4 Гб, доступ к данным
происходит по модулю 4 Гб
(<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
Проблемы с hsfs могут быть исправлены установкой патча 109764-04 (sparc) /
109765-04 (x86).
</para></listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</sect2>
<!-- ********** -->
<sect2 id="irix">
<title>IRIX</title>
<para>
Вы либо можете попробовать установить программу GNU install, и (если Вы
не поместили её в Ваш глобальный путь), укажите на её местонахождение:
<screen>
./configure --with-install=<replaceable>/путь/к/и/имя/установки</replaceable>
</screen>
</para>
<para>
Либо Вы можете использовать стандартную программу install, поставляемую вместе
с IRIX 6.5, но в этом случае Вы должны будете вручную немножко подправить
<filename>Makefile</filename>.
Поменяйте следующую строку:
<programlisting>
$(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
</programlisting>
на:
<programlisting>
$(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
</programlisting>
И затем просто соберите и установите MPlayer.
</para>
</sect2>
<!-- ********** -->
<sect2 id="hp-ux">
<title>HP-UX</title>
<para>
Joe Page на своей домашней странице держит подробное
<ulink url="http://users.rcn.com/joepage/mplayer_on_hpux11.htm">HOWTO</ulink>
по <application>MPlayer</application> на HP-UX, написанное Martin Gansser.
С этими инструкциями сборка должна работать "прямо из коробки".
Следующая информация взята оттуда.
</para>
<para>
Вам потребуется GCC 3.4.0 или полее поздней версии, GNU make версии 3.80
или новее и SDL 1.2.7 или более новый. HP cc не может создать работоспособную
программу, предыдущие версии GCC глючат. Для функционирования OpenGL
необходимо установить Mesa, после чего должны заработать драйвера вывода видео
gl и gl2, хотя, в зависимости от быстродействия CPU, скорость может быть ужасной.
GNU esound является хорошей заменой довольно бедной звуковой системе HP-UX.
</para>
<para>
Произведите сканирование шины SCSI
на предмет наличия DVD устройства:
<screen>
# ioscan -fn
Class I H/W Path Driver S/W State H/W Type Description
...
ext_bus 1 8/16/5 c720 CLAIMED INTERFACE Built-in SCSI
target 3 8/16/5.2 tgt CLAIMED DEVICE
disk 4 8/16/5.<emphasis role="bold">2</emphasis>.<emphasis role="bold">0</emphasis> sdisk CLAIMED DEVICE <emphasis role="bold">PIONEER DVD-ROM DVD-305</emphasis>
/dev/dsk/c1t2d0 <emphasis role="bold">/dev/rdsk/c1t2d0</emphasis>
target 4 8/16/5.7 tgt CLAIMED DEVICE
ctl <emphasis role="bold">1</emphasis> 8/16/5.7.0 sctl CLAIMED DEVICE Initiator
/dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
...
</screen>
Вывод показывает, что по адресу 2 шины SCSI находится Pioneer DVD-ROM.
Экземпляр карты для аппаратного пути 8/16 равен 1.
</para>
<para>
Создайте ссылку от сырого устройства к DVD устройству.
<screen>
ln -s /dev/rdsk/c<replaceable>&lt;SCSI bus instance&gt;</replaceable>t<replaceable>&lt;SCSI target ID&gt;</replaceable>d<replaceable>&lt;LUN&gt;</replaceable> /dev/<replaceable>&lt;device&gt;</replaceable>
</screen>
Пример:
<screen>ln -s /dev/rdsk/c1t2d0 /dev/dvd</screen>
</para>
<para>
Далее следуют решения некоторых общих проблем:
<itemizedlist>
<listitem>
<para>
Крах при запуске с таким сообщением об ошибке:
<screen>
/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl<!--
--></screen>
</para>
<para>
Это значит, что функция <systemitem>.finite().</systemitem> недоступна в стандартной
математической библиотеке HP-UX.
Вместо этого используйте <systemitem>.isfinite().</systemitem>.
Решение: Используйте последнюю версию Mesa из репозитория.
</para>
</listitem>
<listitem>
<para>
Крах при воспроизведении со следующей ошибкой:
<screen>
/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0<!--
--></screen>
</para>
<para>
Решение: Используйте опцию extralibdir программы configure
<option>--with-extralibdir="/usr/lib -lrt"</option>
</para>
</listitem>
<listitem>
<para>
MPlayer вылетает с нарушением сегментации и сообщением вроде этого:
<screen>
Pid 10166 received a SIGSEGV for stack growth failure.
Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz.
Segmentation fault<!--
--></screen>
</para>
<para>
Решение:
Ядро HP-UX по-умолчанию для каждого процесса имеет размер стека равный 8MB(?).
(11.0 и новые патчи для 10.20 позволяют вам увеличить <systemitem>maxssiz</systemitem>
вплоть до 350MB для 32-х битных программ). Вы должны расширить
<systemitem>maxssiz</systemitem>
и перекомпилировать ядро (и перезагрузиться). Чтобы сделать это, можно использовать SAM.
(Находясь в нем, проверьте параметр <systemitem>maxdsiz</systemitem> на предмет
максимального количества данных, которые могут использоваться программами.
64 Мб по умолчанию может хватить или не хватить в зависимости от Ваших приложений.)
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
<!-- ********** -->
<sect2 id="aix">
<title>AIX</title>
<para>
<application>MPlayer</application> успешно собирается на AIX 5.1,
5.2, и 5.3, используя GCC 3.3 или новее. Сборка
<application>MPlayer</application> не проверена на AIX 4.3.3 и более ранних.
Крайне рекомендуется собирать
<application>MPlayer</application> используя GCC 3.4 или старше, и, как минимум,
GCC 4.0, если собираете на POWER5.
</para>
<para>
Убедитесь, что используете GNU make
(<filename>/opt/freeware/bin/gmake</filename>) для сборки
<application>MPlayer</application>, поскольку столкнетесь с проблемами при
использовании <filename>/usr/ccs/bin/make</filename>.
</para>
<para>
По-прежнему ведется работа над кодом определения CPU.
Проверены следующие архитектуры:
</para>
<itemizedlist>
<listitem><para>604e</para></listitem>
<listitem><para>POWER3</para></listitem>
<listitem><para>POWER4</para></listitem>
</itemizedlist>
<para>
На следующих архитектурах не проверялось, но должно работать:
<itemizedlist>
<listitem><para>POWER</para></listitem>
<listitem><para>POWER2</para></listitem>
<listitem><para>POWER5</para></listitem>
</itemizedlist>
</para>
<para>
Вывод звука через Ultimedia Services не поддерживается, т.к.
Ultimedia была убрана из AIX 5.1; таким образом, остается единственный
вариант: использовать драйвер AIX Open Sound system (OSS) от
4Front Technologies с
<ulink url="http://www.opensound.com/aix.html">http://www.opensound.com/aix.html</ulink>.
Для некоммерческого использования 4Front Technologies
распространяет драйвер OSS под AIX 5.1 бесплатно; несмотря на это,
на текущий день нет драйверов вывода звука для AIX 5.2 или 5.3.
drivers for AIX 5.2 or 5.3. Это означает, что сейчас
<emphasis role="bold">AIX 5.2 и 5.3 несовместимы с выводом звука MPlayer.</emphasis>
</para>
<para>Решения для общих проблем:</para>
<itemizedlist>
<listitem>
<para>
Если вы столкнулись с такой ошибкой <filename>configure</filename>:
<screen>
$ ./configure
...
Checking for iconv program ... no
No working iconv program found, use
--charset=US-ASCII to continue anyway.
Messages in the GTK-2 interface will be broken then.<!--
--></screen>
Это из-за того, что AIX использует нестандартные имена кодировок;
поэтому перекодировка сообщений в данный момент не работает.
Решение - использовать:
<screen>$ ./configure --charset=noconv</screen>
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="windows">
<title>Windows</title>
<para>
Да, <application>MPlayer</application> работает под Windows под
<ulink url="http://www.cygwin.com/"><application>Cygwin</application></ulink> и
<ulink url="http://www.mingw.org/"><application>MinGW</application></ulink>.
Пока ещё нет официального GUI, но версия командной строки полностью функциональна.
Обратитесь к списку рассылки
<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">MPlayer-cygwin</ulink>
за помощью и дополнительной информацией.
Официальные бинарники под Windows могут быть найдены на
<ulink url="http://www.mplayerhq.hu/design7/dload.html">странице загрузки</ulink>.
Пакеты установки и простые GUI фронтенды доступны из внешних
источников, мы собрали их в разделе Windows на
<ulink url="http://www.mplayerhq.hu/design7/projects.html#windows">нашей
странице проектов</ulink>.
</para>
<para>
При нежелании использовать командную строку поможет простой трюк:
поместите на рабочий стол ссылку, со следующим содержимым в секции execute:
<screen><replaceable>c:\путь\к\</replaceable>mplayer.exe %1</screen>
Это позволит <application>MPlayer</application> воспроизводить любой фильм,
который вы перетащите на созданный ярлык. Добавьте <option>-fs</option>
для полноэкранного режима.
</para>
<para>
Лучшие результаты получаются при использовании родного DirectX видео
вывода (<option>-vo directx</option>). Альтернативой является использование OpenGL или
SDL, но производительность OpenGL сильно зависит от машины, а SDL на некоторых
системах искажает видео или вылетает.
Если изображение искажено, попробуйте отключить аппаратное ускорение, указав
<option>-vo directx:noaccel</option>. Скачайте
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/dx7headers.tgz">файлы заголовков
DirectX 7</ulink>, чтобы скомпилировать видео драйвер DirectX. Кроме того,
вам потребуется установленный DirectX 7, чтобы работал DirectX видеодрайвер.
</para>
<para>
<link linkend="vidix">VIDIX</link> теперь доступен и под Windows, как
<option>-vo winvidix</option>, хотя это ещё экспериментально и требует небольшой
ручной установки. Скачайте
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> или
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (с поддержкой MTRR)</ulink>
и скопируйте его в каталог
<filename class="directory">vidix/dhahelperwin</filename> в Вашем дереве
исходного кода <application>MPlayer</application>'а.
Откройте консоль и перейдите в этот каталог. Теперь наберите
<screen>gcc -o dhasetup.exe dhasetup.c</screen>
и запустите
<screen>dhasetup.exe install</screen>
под Администратором. Теперь Вам нужно перезагрузить машину.
Когда всё будет закончено, скопируйте файлы
<systemitem class="library">.so</systemitem> из каталога
<filename class="directory">vidix/drivers</filename> в каталог
<filename class="directory">mplayer/vidix</filename> относительно вашего
<filename>mplayer.exe</filename>.
</para>
<para>
Для получения наилучших результатов, <application>MPlayer</application>
должен использовать пространство цветов, аппаратно поддерживаемое Вашей
видеокартой. К сожалению, многие графические драйверы под Windows ошибочно
сообщают, что некоторые пространства цветов поддерживаются аппаратно.
Чтобы найти какие именно, попробуйте
<screen>
mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>colorspace</replaceable> <replaceable>movie</replaceable>
</screen>,
где <replaceable>colorspace</replaceable> может быть любым пространством
цветов из вывода опции <option>-vf format=fmt=help</option>. Если Вы найдёте
пространство цветов, которое Ваша карта особенно плохо поддерживает,
опция <option>-vf noformat=<replaceable>colorspace</replaceable></option>
помешает его использованию. Добавьте это в ваш конфигурационный файл, чтобы
это пространство цветов больше никогда не использовалось.
</para>
<para>Существуют специальные пакеты кодеков для Windows, доступные на нашей
<ulink url="http://www.mplayerhq.hu/design7/dload.html">странице загрузки</ulink>,
позволяющие воспроизводить форматы, для которых пока нет родной поддержки.
Поместите их куда-нибудь в пути или укажите
<filename>configure</filename> опцию
<option>--codecsdir=<replaceable>c:/path/to/your/codecs</replaceable></option>
(или <option>--codecsdir=<replaceable>/path/to/your/codecs</replaceable></option>, но
только под <application>Cygwin</application>).
У нас были сообщения о том,
что Real DLL должны быть доступны пользователю, запускающему
<application>MPlayer</application>, для записи, но только на
некоторых системах (NT4). Если у Вас проблемы с ними, попробуйте сделать их
доступными на запись.
</para>
<para>
Вы можете воспроизводить VCD, проигрывая <filename>.DAT</filename>
или <filename>.MPG</filename> файлы, которые Windows показывает на VCD.
Вот как это работает (указывайте букву диска Вашего CD-ROM):
<screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>
DVDs также работают, укажите <option>-dvd-device</option> с буквой Вашего DVD-ROM:
<screen>
mplayer dvd://<replaceable>&lt;title&gt;</replaceable> -dvd-device <replaceable>d</replaceable>:
</screen>
Консоль <application>Cygwin</application>/<application>MinGW</application>
весьма медленная. Перенаправление вывода или
использование опции <option>-quiet</option> улучшает производительность на
некоторых системах. Прямой рендеринг (<option>-dr</option>)
также может помочь. Если воспроизведение
прерывисто, попробуйте <option>-autosync 100</option>. Если какие-то из этих
опций Вам помогут, стоит поместить их в конфигурационный файл.
</para>
<note>
<para>
Под Windows автоматическое определение CPU отключает поддержку SSE,
по причине повторяющихся, трудно отслеживаемых крахов, связанных с SSE.
Если вы желаете иметь поддержку SSE под Windows, придется отключить
автоопределение CPU.
</para>
<para>Если у Вас Pentium 4 и Вы заметили крахи при использовании кодеков RealPlayer,
попробуйте отключить hyperthreading.
</para>
</note>
<!-- ********** -->
<sect2 id="cygwin">
<title><application>Cygwin</application></title>
<para>
Для компиляции <application>MPlayer</application> требуется запустить
<application>Cygwin</application> версии 1.5.0 или старше.
</para>
<para>
Файлы заголовков DirectX надо распаковать в
<filename class="directory">/usr/include/</filename> или
<filename class="directory">/usr/local/include/</filename>.
</para>
<para>
Вы можете найти инструкции и файлы для запуска SDL под
<application>Cygwin</application> на
<ulink url="http://www.libsdl.org/extras/win32/cygwin/">сайте libsdl</ulink>.
</para>
</sect2>
<!-- ********** -->
<sect2 id="mingw">
<title><application>MinGW</application></title>
<para>
Прежде, установка версии <application>MinGW</application>,
способной скомпилировать <application>MPlayer</application>, была
сложновата, но сейчас все работает с самого начала. Просто установите
<application>MinGW</application> 3.1.0 или более новый и MSYS 1.0.9 или старше и
укажите постустановщику MSYS, что <application>MinGW</application>
установлен.
</para>
<para>
Распакуйте файлы заголовков DirectX в
<filename class="directory">/mingw/include/</filename>.
</para>
<para>
Для поддержки сжатых заголовкоав MOV необходима
<ulink url="http://www.gzip.org/zlib/">zlib</ulink>, которую
<application>MinGW</application> по умолчанию не предоставляет.
Сконфигурируйте её, указав <option>--prefix=/mingw</option> и установите
её до компиляции <application>MPlayer</application>'а.
</para>
<para>
Полные инструкции по сборке <application>MPlayer</application> и необходимых
библиотек могут быть найдены на странице
<ulink url="http://mplayerhq.hu/MPlayer/releases/win32/contrib/MPlayer-MinGW-Howto.txt">MPlayer MinGW HOWTO</ulink>.
</para>
</sect2>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="macos">
<title>Mac OS</title>
<para>
<application>MPlayer</application> не работает на Mac OS версий меньше 10,
но компилируется "из коробки" на Mac OS X 10.2 и старше. Предпочитаемым компилятором
является версия Apple GCC 3.x или более позднего. Вы можете получить начальное окружение
для компиляции, установив Apple'овский
<ulink url="http://developer.apple.com/tools/download/">Xcode</ulink>.
Если у вас Mac OS X 10.3.9 или выше и QuickTime 7, можете использовать
драйвер видео вывода <option>macosx</option>.
</para>
<para>
К сожалению, основное окружение не позволяет получить преимущество от всех
приятных возможностей <application>MPlayer</application>. В частности,
чтобы иметь включенную поддержку OSD, потребуются установленные в системе
библиотеки <systemitem class="library">fontconfig</systemitem>
и <systemitem class="library">freetype</systemitem>.
В отличие от остальных Unix'ов, таких как Linux и клоны BSD, OS X
не имеет поставляющейся с ОС систему управления пакетами.
</para>
<para>
Есть как минимум два на выбор:
<ulink url="http://fink.sourceforge.net/">Fink</ulink> и
<ulink url="http://www.macports.org/">MacPorts</ulink>.
Они оба предоставляют одинаковый сервис (т.е. огромное количество пакетов
для установки, разрешение зависимостей, возможность простой
установки/обновления/удаления пакетов и т.д.).
Fink предлагает как предкомпилированные бинарные пакеты, так и сборку
всего из исходников, в то время как MacPorts предлагает только собирать из
исходных текстов.
Автор данного руководства выбрал MacPorts исходя из того простого соображения,
что его базовая установка легче.
Последующие примеры будут основаны на MacPorts.
</para>
<para>
В частности для компиляции <application>MPlayer</application> с поддержкой OSD:
<screen>sudo port install pkgconfig</screen>
Это установит <application>pkg-config</application>, который является системой
управления флагами компиляции/сборки библиотек.
Скрипт <systemitem>configure</systemitem> программы <application>MPlayer</application>
использует его для правильного обнаружения библиотек.
Тем же способом можно установить <application>fontconfig</application>:
<screen>sudo port install fontconfig</screen>
Затем можно продолжить, запустив <application>MPlayer</application>'овский
<systemitem>configure</systemitem> скрипт (задайте переменные окружения
<systemitem>PKG_CONFIG_PATH</systemitem> и <systemitem>PATH</systemitem> так,
чтобы <systemitem>configure</systemitem> мог найти библиотеки, установленные
при помощи MacPorts):
<screen>
PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure
</screen>
</para>
<!-- ********** -->
<sect2 id="osx_gui">
<title>MPlayer OS X GUI</title>
<para>
Вы можете получить родной GUI для <application>MPlayer</application> вместе с
предкомпилированными бинарниками <application>MPlayer</application> для Mac OS X
из проекта
<ulink url="http://mplayerosx.sf.net/">MPlayerOSX</ulink>, но предупреждаем:
этот проект давно не развивается.
</para>
<para>
К счастью, <application>MPlayerOSX</application> был подхвачен членом команды
<application>MPlayer</application>. Предварительные релизы доступны с нашей
<ulink url="http://mplayerhq.hu/dload.html">страницы загрузки</ulink>
и скоро ожидается официальный релиз.
</para>
<para>
Чтобы самостоятельно собрать <application>MPlayerOSX</application> из
исходный текстов, вам потребуется
<systemitem>mplayerosx</systemitem>,
<systemitem>main</systemitem> и копию
<systemitem>main</systemitem> SVN модуля, называющегося
<systemitem>main_noaltivec</systemitem>.
<systemitem>mplayerosx</systemitem> - это GUI frontend,
<systemitem>main</systemitem> - это MPlayer, а
<systemitem>main_noaltivec</systemitem> - это MPlayer собранный без поддержки AltiVec.
</para>
<para>
Для извлечения модулей из SVN:
<screen>
svn checkout svn://svn.mplayerhq.hu/mplayerosx/trunk/ mplayerosx
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ main
</screen>
</para>
<para>
Чтобы собрать <application>MPlayerOSX</application> потребуется настроить что-то вроде этого:
<screen>
MPlayer_source_directory
|
|--->main (MPlayer Subversion исходники)
|
|--->main_noaltivec (MPlayer Subversion исходники, сконфигурированные с --disable-altivec)
|
\--->mplayerosx (MPlayer OS X Subversion исходники)
</screen>
Сначала надо собрать main и main_noaltivec.
</para>
<para>
Для начала, чтобы добиться максимальной обратной совместимости, установите
переменную окружения:
<screen>export MACOSX_DEPLOYMENT_TARGET=10.3</screen>
</para>
<para>
Затем сконфигурируйте:
</para>
<para>
Если конфигурируете для G4 или более позднего CPU с поддержкой AltiVec,
делайте так:
<screen>
./configure --disable-gl --disable-x11
</screen>
Если конфигурируете для машины c G3 без AltiVec, используйте:
<screen>
./configure --disable-gl --disable-x11 --disable-altivec
</screen>
Вам может потребоваться отредактировать <filename>config.mak</filename> и изменить
<systemitem>-mcpu</systemitem> и <systemitem>-mtune</systemitem>
с <systemitem>74XX</systemitem> на <systemitem>G3</systemitem>.
</para>
<para>
Продолжайте с
<screen>make</screen>
после чего идите в каталог mplayerosx и там наберите:
<screen>make dist</screen>
Это создаст сжатый архив <systemitem>.dmg</systemitem> с котовым к использованию
бинарником.
</para>
<para>
Также можно использовать проект <application>Xcode</application> 2.1;
более старый <application>Xcode</application> 1.x больше не работает.
</para>
</sect2>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="exotic_platforms">
<title>Exotic Platforms</title>
<para>
<application>MPlayer</application> работает на некоторых экзотических платформах, но
большинство платформно-специфичных изменений для этих систем не были внесены обратно
в основное дерево исходных кодов. За инструкциями по сборке придется обратиться к
документации, специфичной для системы.
</para>
<!-- ********** -->
<sect2 id="qnx">
<title>QNX</title>
<para>
Вам нужно скачать и установить SDL для QNX. Затем запустите
<application>MPlayer</application> с опциями <option>-vo sdl:photon</option>
и <option>-ao sdl:nto</option>, и все будет работать быстро.
</para>
<para>
Вывод <option>-vo x11</option> будет ещё медленнее, чем под Linux, поскольку под
QNX X'ы <emphasis>эмулируются</emphasis>, что ОЧЕНЬ медленно.
</para>
</sect2>
<!-- ********** -->
<sect2 id="amiga">
<title>Amiga/MorphOS (GeekGadgets)</title>
<para>
Люди с <ulink url="http://www.amigasoft.net">www.amigasoft.net</ulink>
сделали пакеты текущих <application>MPlayer</application> и
<application>MEncoder</application>.
</para>
<para>
Nicholas Det at Genesi сделал большой и значительный порт <application>MPlayer
</application>'а под MorphOS. К сожалению, он основан на серии 0.90.
</para>
<para>
Получите их с <ulink url="http://www.morphzone.org/">MorphZone</ulink>:
<itemizedlist>
<listitem><para>
<ulink url="http://www.morphzone.org/modules/mydownloads/singlefile.php?lid=90">
<application>MPlayer</application> 0.91 бинарник</ulink>
</para></listitem>
<listitem><para>
<ulink url="http://www.morphzone.org/modules/mydownloads/singlefile.php?lid=91">
<application>MPlayer</application> 0.91 исходный код</ulink>
</para></listitem>
<listitem><para>
<ulink url="http://www.morphzone.org/modules/mydownloads/singlefile.php?lid=92">
<application>MEncoder</application> 1.0pre3 бинарник</ulink>
</para></listitem>
</itemizedlist>
</para>
</sect2>
</sect1>
</chapter>