mirror of https://github.com/mpv-player/mpv
380 lines
14 KiB
XML
380 lines
14 KiB
XML
<?xml version="1.0" encoding="koi8-r"?>
|
||
<!-- synced with 1.14 -->
|
||
<chapter id="ports" xreflabel="Портинг">
|
||
<title>Портинг</title>
|
||
|
||
<sect1 id="linux">
|
||
<title>Linux</title>
|
||
<para>
|
||
Основная платформа разработки — это 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 — это скачать его с
|
||
пакетных пастбищ[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 — родной 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'ом, Вам необходимо перекомпилировать
|
||
ядро с "<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'а (переносы[relocation] и MMX),
|
||
Вы должны будете компилировать в два шага: сначала убедитесь, что не родной as
|
||
— первый в Вашем <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> пытается обнаружить, какой ассемблер
|
||
используется Вашей командой "gcc" (в том случае, если автоопределение
|
||
не сработает, используйте опцию
|
||
<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://<title> -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://<title> -dvd-device /d/</screen>
|
||
|
||
</sect2>
|
||
|
||
|
||
</sect1>
|
||
|
||
</chapter>
|