mpv/DOCS/xml/ru/ports.xml

380 lines
14 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="koi8-r"?>
<!-- synced with 1.14 -->
<chapter id="ports" xreflabel="Портинг">
<title>Портинг</title>
<sect1 id="linux">
<title>Linux</title>
<para>
Основная платформа разработки &mdash; это Linux на x86, хотя
<application>MPlayer</application> работает под многими другими портами Linux.
Бинарные пакеты MPlayer'а доступны из нескольких источников. Тем не менее,
<emphasis role="bold">ни один из этих пакетов не поддерживается</emphasis>.
Сообщайте о проблемах их авторам, а не нам.
</para>
<sect2 id="debian">
<title>Упаковка под Debian</title>
<para>
Чтобы создать Debian пакет, выполните следующие команды в каталоге с исходным
кодом MPlayer'а:
<screen>fakeroot debian/rules binary</screen>
Затем, став root'ом Вы, как обычно, Вы можете установить <filename>.deb
</filename> пакет:
<screen>dpkg -i ../mplayer_<replaceable>version</replaceable>.deb</screen>
</para>
<para>
Какое-то время Christian Marillat собирал неофициальные Debian пакеты с
MPlayer'ом, MEncoder'ом и шрифтами, так что вы можете их скачать (apt-get'нуть)
их с его <ulink url="http://marillat.free.fr/">сайта</ulink>.
</para>
</sect2>
<sect2 id="rpm">
<title>RPM пакеты</title>
<para>
Dominik Mierzejewski собирает и поддерживает официальные Red Hat RPM пакеты
<application>MPlayer</application>'а. Они доступны с его
<ulink url="http://www.piorunek.pl/~dominik/linux/pkgs/mplayer/">сайта</ulink>.
</para>
<para>
Mandrake RPM пакеты доступны с <ulink url="http://plf.zarb.org/">P.L.F.</ulink>.
SuSE включает искалеченную версию MPlayer'а в дистрибутив. Вы можете взять
работающие RPM'ники с
<ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
</para>
</sect2>
<sect2 id="arm">
<title>ARM</title>
<para>
MPlayer работает на Linux PDAs с ARM процессором, например Sharp Zaurus, Compaq
Ipaq. Простейший способ получить MPlayer &mdash; это скачать его с
пакетных пастбищ[feeds]
<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>
в корне сборки[buildroot] дистрибутива OpenZaurus. Там всегда найдутся
свежий Makefile и патчи, используемые для сборки CVS MPlayer'а вместе с
libavcodec. Если Вам нужен GUI, используйте xmms-embedded.
</para>
</sect2>
</sect1>
<sect1 id="bsd">
<title>*BSD</title>
<para>
<application>MPlayer</application> работает под FreeBSD, OpenBSD, NetBSD,
BSD/OS и Darwin. Существуют портированные[ports]/пакеты сорцов[pkgsrcs]/fink/
и т. п. версии MPlayer'а, которые наверное проще использовать, чем просто
исходный код.
</para>
<para>
Чтобы собрать MPlayer, Вам понадобится GNU make (gmake &mdash; родной BSD make
не будет работать) и свежая версия binutils.
</para>
<para>
Если MPlayer ругается, что он не может найти <filename>/dev/cdrom</filename> или
<filename>/dev/dvd</filename>, создайте соответствующую ссылку:
<screen>ln -s /dev/<replaceable>Ваше_cdrom_устройство</replaceable> /dev/cdrom</screen>
</para>
<para>
Чтобы использовать Win32 DLL'и с MPlayer'ом, Вам необходимо перекомпилировать
ядро с &quot;<envar>option USER_LDT</envar>&quot; (если только у Вас не FreeBSD-CURRENT,
где это включено по умолчанию).
</para>
<sect2 id="freebsd">
<title>FreeBSD</title>
<para>
Если Ваш CPU поддерживает SSE, перекомпилируйте ядро с
&quot;<envar>options CPU_ENABLE_SSE</envar>&quot; (необходимо FreeBSD-STABLE
или патчи к ядру).
</para>
</sect2>
<sect2 id="openbsd">
<title>OpenBSD</title>
<para>
В связи с ограничениями в различных версиях gas'а (переносы[relocation] и MMX),
Вы должны будете компилировать в два шага: сначала убедитесь, что не родной as
&mdash; первый в Вашем <envar>$PATH</envar> и выполните <command>gmake -k
</command>, затем убедитесь, что будет использоваться родная версия и запустите
<command>gmake</command>.
</para>
</sect2>
</sect1>
<sect1 id="solaris">
<title>Solaris</title>
<para>
<application>MPlayer</application> должен работать под Solaris 2.6 и более
новыми версиями.
</para>
<para>
На <emphasis role="bold">UltraSPARC</emphasis>'ах, MPlayer выгодно использует их
расширение <emphasis role="bold">VIS</emphasis> (эквивалент MMX), но (в настоящий
момент) только в <emphasis>libmpeg2</emphasis>, <emphasis>libvo</emphasis> и
<emphasis>libavcodec</emphasis>, но не в mp3lib. Вы сможете просматривать VOB'ы
на 400MHz CPU. Вам потребуется установленная
<ulink url="http://www.sun.com/sparc/vis/mediaLib.html">mLib</ulink>.
</para>
<para>
Чтобы собрать программу, Вам потребуется GNU <application>make</application>
(<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), родной
Solaris'овый make не будет работать. Типичная ошибка которую Вы будете
получать при использовании Solaris'огово make, вместо GNU'шного:
<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 платформах
код MPlayer'а использует много MMX, SSE и 3DNOW! инструкций, которые
Sun'овский ассемблер <filename>/usr/ccs/bin/as</filename> не может
скомпилировать.
</para>
<para>Скрипт <filename>configure</filename> пытается обнаружить, какой ассемблер
используется Вашей командой &quot;gcc&quot; (в том случае, если автоопределение
не сработает, используйте опцию
<option>--as=/whereever/you/have/installed/gnu-as</option>, чтобы сообщить
скрипту <filename>configure</filename>, где можно обнаружить GNU "as" на Вашей
системе).
</para>
<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>
<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>
<para>
Под Solaris с UltraSPARC CPU, вы можете получить ускорение за счёт использования
VIS инструкций этого процессора для некоторых поглощающих время операций. VIS
ускорение может использоваться в MPlayer'е путём вызова функций в Sun'овской
<ulink url="http://www.sun.com/sparc/vis/mediaLib.html">mediaLib</ulink>.
</para>
<para>
VIS-ускоренные операции из mediaLib используются для декодирования mpeg2 видео
и преобразований цветовых пространств в драйверах видео вывода.
</para>
</sect1>
<sect1 id="sgi">
<title>Silicon Graphics / Irix</title>
<para>
Вы либо можете попробовать установить программу GNU install, и (если Вы
не поместили её в Ваш глобальный путь), то укажите на её местонахождение:
<screen>./configure --install-path=PATH</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>
</sect1>
<sect1 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>, что ОЧЕНЬ медленно. Используйте SDL.
</para>
</sect1>
<sect1 id="windows">
<title>Windows</title>
<para>Да, MPlayer работает под Windows под
<ulink url="http://www.cygwin.com/">Cygwin</ulink> и
<ulink url="http://www.mingw.org/">MinGW</ulink>.
Пока ещё нет GUI, но версия командной строки почти функциональна. Мы всегда
будем благодарны за <ulink url="../../tech/patches.txt">патчи</ulink>.
Вы можете получить помощь и последнюю информацию на рассылке
<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">mplayer-cygwin</ulink>.</para>
<para>Лучшие результаты получаются при использовании родного DirectX видео
вывода (<option>-vo directx</option>) и родного Windows waveout аудио драйвера
(<option>-ao win32</option>), поскольку OpenGL не работает, а на некоторых
системах SDL искажает звук и видео или ломает систему. Вы можете заставить
оставаться окно с фильмом наверху, указав <option>-vo directx:ontop</option>.
Если изображение искажено, попробуйте отключить аппаратное ускорение, указав
<option>-vo directx:noaccel</option>. Скачайте
<ulink url="http://www.videolan.org/vlc/dx7headers.tgz">файлы заголовков
DirectX 7</ulink>, чтобы скомпилировать видео драйвер DirectX.</para>
<para>Win32 кодеки, QuickTime DLL'и и Real Win32 кодеки (не Real Linux кодеки)
также работают. Поместите их куда-нибудь в пути или укажите <filename>
configure</filename> опцию <option>--with-codecsdir=c:/path/to/your/codecs
</option> (или <option>--with-codecsdir=/path/to/your/codecs</option>, но
только под Cygwin). У нас были сообщения о том, что Real DLL'и должны быть
доступны пользователю, запускающему MPlayer, для записи, но только на
некоторых системах. Если у Вас проблемы с ними, попробуйте сделать их
записываемыми.</para>
<para>Консоль Cygwin/MinGW слегка медленная. Перенаправление вывода или
использование опции <option>-quiet</option> улучшает производительность на
некоторых системах. Прямое воспроизведение[Direct rendering] (<option>-dr
</option>) также может помочь. Вы можете избежать мерцания OSD, включив
опцией <option>-double</option> двойную буферизацию. Если воспроизведение
прерывисто, попробуйте <option>-autosync 100</option>. Если какие-то из этих
опций Вам помогут, стоит поместить их в конфигурационный файл.</para>
<para>Прекомпилированные бинарные версии, собранные Сашей Зоммером
[Sascha Sommer], доступны для скачивания с
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32-beta/">нашей
страницы</ulink>.
Джой Пэрриш[Joey Parrish] собирал
<ulink url="http://joey.nicewarrior.org/cygmp/">неофициальные Windows пакеты
</ulink> вместе с установочником.</para>
<sect2 id="cygwin">
<title>Cygwin</title>
<para>Cygwin версий до 1.5.0 не включал <filename>inttypes.h</filename>. Вы
должны скопировать или создать символическую ссылку на
<filename>etc/cygwin_inttypes.h</filename> из каталога с исходным кодом
MPlayer'а в <filename>/usr/include/inttypes.h</filename>, чтобы MPlayer
мог скомпилироваться.</para>
<para>Файлы заголовков DirectX надо распаковать в <filename class="directory">
/usr/include/</filename> или <filename class="directory">/usr/local/include/
</filename>.</para>
<para>Вы можете найти инструкции и файлы для запуска SDL под Cygwin на
<ulink url="http://www.libsdl.org/extras/win32/cygwin/">сайте libsdl</ulink>.</para>
<para>Вы можете проигрывать VCD, проигрывая <filename>.DAT</filename> или
<filename>.MPG</filename>файлы, которые Windows показывает на VCD'шниках.
Вот как это работает (подставьте букву Вашего CD-ROM'а):</para>
<screen>mplayer d:/mpegav/avseq01.dat</screen>
<screen>mplayer /cygdrive/d/MPEG2/AVSEQ01.MPG</screen>
<para>DVD'шники тоже работают, укажите букву Вашего DVD-ROM'а опцией
<option>-dvd-device</option>:</para>
<screen>mplayer dvd://&lt;title&gt; -dvd-device '\\.\d:'</screen>
</sect2>
<sect2 id="mingw">
<title>MinGW</title>
<para>Прежде, установка версии MinGW, способной скомпилировать MPlayer, была
слегка сложной, но сейчас все работает с самого начала. Просто установите
MinGW 3.1.0 или более новый и укажите MSYS постустановщику, что MinGW
установлен.</para>
<para>Если Вы используете более раннюю, чем 3.1.0 версию MinGW, Вам нужно
заменить <filename>/mingw/include/sys/types.h</filename> этим файлом:
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32-beta/contrib/types.h"><filename>types.h</filename></ulink>.</para>
<para>Распакуйте файлы заголовков DirectX в <filename class="directory">/mingw/include/</filename>.</para>
<para>VCD'шники и DVD'шники работают почти как в Cygwin (подставьте букву Вашего
CD-ROM'а/DVD-ROM'а):</para>
<screen>mplayer d:/mpegav/avseq01.dat</screen>
<screen>mplayer /d/MPEG2/AVSEQ01.MPG</screen>
<screen>mplayer dvd://&lt;title&gt; -dvd-device /d/</screen>
</sect2>
</sect1>
</chapter>