Mercurial > mplayer.hg
view DOCS/xml/ru/ports.xml @ 11167:cff5d0ca3275
sync
author | nicolas |
---|---|
date | Sat, 18 Oct 2003 14:50:25 +0000 |
parents | 2ff29f50f35c |
children | 252fb0cf331a |
line wrap: on
line source
<?xml version="1.0" encoding="koi8-r"?> <!-- synced with 1.15 --> <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>