mirror of
https://github.com/mpv-player/mpv
synced 2024-12-28 01:52:19 +00:00
eb8517440f
r22499: Improve MPlayerOSX building process: r22402: Explain how to select all DVB channels on a frequency. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22531 b3059339-0415-0410-9bf9-f77b7e298cf2
963 lines
46 KiB
XML
963 lines
46 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- synced with r22499 -->
|
||
<chapter id="ports" xreflabel="Портинг">
|
||
<title>Портинг</title>
|
||
|
||
<sect1 id="linux">
|
||
<title>Linux</title>
|
||
<para>
|
||
Основная платформа разработки — это 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> — это скачать его с
|
||
пакетных репозиториев
|
||
<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 —
|
||
родной 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
|
||
— первый в Вашем <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
|
||
|
||
$(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
|
||
</programlisting>
|
||
на:
|
||
<programlisting>
|
||
$(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
|
||
|
||
$(INSTALL) -m 644 codecs.conf $(CONFDIR)/
|
||
</programlisting>
|
||
И затем выполните (из корневого каталога MPlayer'а):
|
||
<screen>cp DOCS/mplayer.1 . ; cp etc/codecs.conf .</screen>
|
||
И затем просто соберите и установите 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><SCSI bus instance></replaceable>t<replaceable><SCSI target ID></replaceable>d<replaceable><LUN></replaceable> /dev/<replaceable><device></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">libdha/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><title></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>
|
||
|
||
|