Mercurial > mplayer.hg
view DOCS/xml/ru/ports.xml @ 29692:235868858ee7
Avoid a memleak if realloc fails in grow_array.
author | reimar |
---|---|
date | Wed, 30 Sep 2009 07:33:05 +0000 |
parents | 0f1b5b68af32 |
children | 32725ca88fed |
line wrap: on
line source
<?xml version="1.0" encoding="utf-8"?> <!-- synced with r25771 --> <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="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> <!-- ********** --> <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> </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/contrib/win32/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> под Администратором. Теперь Вам нужно перезагрузить машину. </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> В качестве альтернативы вы можете напрямую воспроизводить VCD дорожки, указав: <screen>mplayer vcd://<replaceable><дорожка></replaceable> -cdrom-device <replaceable>d:</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>Если у Вас 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://www.mplayerhq.hu/MPlayer/contrib/win32/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>corevideo</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> </chapter>