1<?xml version="1.0" encoding="utf-8"?>
2<!-- synced with r25771 -->
3<chapter id="ports" xreflabel="Портинг">
4<title>Портинг</title>
5
6<sect1 id="linux">
7<title>Linux</title>
8<para>
9Основная платформа разработки &mdash; это Linux на x86, хотя
10<application>MPlayer</application> работает под многими другими портами Linux.
11Бинарные пакеты <application>MPlayer</application>'а доступны из нескольких источников.
12Тем не менее,
13<emphasis role="bold">ни один из этих пакетов не поддерживается</emphasis>.
14Сообщайте о проблемах их авторам, а не нам.
15</para>
16
17<!-- ********** -->
18
19<sect2 id="debian">
20<title>Debian пакеты</title>
21<para>
22Чтобы создать Debian пакет, выполните следующие команды в каталоге с исходным
23кодом <application>MPlayer</application>'а:
24<screen>fakeroot debian/rules binary</screen>
25
26Если  вы хотите передать дополнительные опции configure, установите
27соответствующее значение переменной окружения <envar>DEB_BUILD_OPTIONS</envar>.
28В частности, если хотите поддержку GUI и OSD, укажите:
29
30<screen>DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary</screen>
31
32Вы также можете передать некоторые переменные в Makefile. Например, если
33желаете компилировать gcc 3.4 даже если это не основной компилятор:
34
35<screen>CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary</screen>
36
37Для очистки дерева исходных текстов воспользуйтесь командой:
38
39<screen>fakeroot debian/rules clean</screen>
40
41В качестве root'а Вы затем можете установить <filename>.deb
42</filename> пакет:
43<screen>dpkg -i ../mplayer_<replaceable>версия</replaceable>.deb</screen>
44</para>
45
46<para>
47Какое-то время Christian Marillat собирал неофициальные Debian пакеты с
48<application>MPlayer</application>, <application>MEncoder</application>
49и бинарными кодеками, так что вы можете их скачать (выполнить apt-get)
50с его <ulink url="http://www.debian-multimedia.org/">сайта</ulink>.
51</para>
52</sect2>
53
54<!-- ********** -->
55
56<sect2 id="rpm">
57<title>RPM пакеты</title>
58<para>
59Dominik Mierzejewski поддерживает официальные Fedora Core RPM пакеты
60<application>MPlayer</application>'а. Они доступны в
61<ulink url="http://rpm.livan.org/">репозитории Livna</ulink>.
62</para>
63
64<para>
65Mandrake/Mandriva RPM пакеты доступны с <ulink url="http://plf.zarb.org/">P.L.F.</ulink>.
66SuSE включала искалеченную версию <application>MPlayer</application>'а в дистрибутив.
67Из последних релизов они убрали эти пакеты. Вы можете взять
68работающие RPM с
69<ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
70</para>
71</sect2>
72
73<!-- ********** -->
74
75<sect2 id="arm">
76<title>ARM</title>
77<para>
78<application>MPlayer</application> работает на Linux PDA с ARM процессором,
79например Sharp Zaurus, Compaq Ipaq. Простейший способ получить <application>
80MPlayer</application> &mdash; это скачать его с
81пакетных репозиториев
82<ulink url="http://www.openzaurus.org">OpenZaurus</ulink>. Если Вы хотите
83скомпилировать его самостоятельно, обратите внимание на каталоги
84<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayer</ulink>
85и
86<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>
87в корне сборки дистрибутива OpenZaurus. Там всегда найдутся
88свежий Makefile и патчи, используемые для сборки SVN <application>MPlayer</application>'а вместе с
89<systemitem class="library">libavcodec</systemitem>.
90Если Вам нужен GUI, используйте встроенный в xmms
91</para>
92</sect2>
93</sect1>
94
95
96<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
97
98
99<sect1 id="bsd">
100<title>*BSD</title>
101<para>
102<application>MPlayer</application> работает на всех известных семействах BSD.
103Существуют портированные[ports]/пакеты сорцов[pkgsrcs]/fink/
104и т.п. версии <application>MPlayer</application>, которые, наверное, проще использовать,
105чем просто исходный код.
106</para>
107
108<para>
109Чтобы собрать <application>MPlayer</application>, Вам понадобится GNU make (gmake &mdash;
110родной BSD make не будет работать) и свежая версия binutils.
111</para>
112
113<para>
114Если <application>MPlayer</application> ругается, что он не может найти
115<filename>/dev/cdrom</filename> или
116<filename>/dev/dvd</filename>, создайте соответствующую ссылку:
117<screen>ln -s /dev/<replaceable>Ваше_cdrom_устройство</replaceable> /dev/cdrom</screen>
118</para>
119
120<para>
121Чтобы использовать Win32 DLL'и с <application>MPlayer</application>'ом, Вам необходимо
122перекомпилировать
123ядро с "<envar>option USER_LDT</envar>" (если только у Вас не FreeBSD-CURRENT,
124где это включено по умолчанию).
125</para>
126
127<!-- ********** -->
128
129<sect2 id="freebsd">
130<title>FreeBSD</title>
131<para>
132Если Ваш CPU поддерживает SSE, перекомпилируйте ядро с
133"<envar>options CPU_ENABLE_SSE</envar>" (необходимо FreeBSD-STABLE
134или патчи к ядру).
135</para>
136</sect2>
137
138<!-- ********** -->
139
140<sect2 id="openbsd">
141<title>OpenBSD</title>
142<para>
143В связи с ограничениями в различных версиях gas (конфликт настройки адресов и MMX),
144Вы должны будете компилировать в два шага: сначала убедитесь, что не родной as
145&mdash; первый в Вашем <envar>$PATH</envar> и выполните <command>gmake -k
146</command>, затем убедитесь, что будет использоваться родная версия и запустите
147<command>gmake</command>.
148</para>
149<para>
150Начиная с OpenBSD 3.4 подобный хак больше не нужен.
151</para>
152</sect2>
153
154<!-- ********** -->
155
156<sect2 id="darwin">
157<title>Darwin</title>
158<para>
159См. секцию <link linkend="macos">Mac OS</link>.
160</para>
161</sect2>
162</sect1>
163
164
165<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
166
167
168<sect1 id="unix">
169<title>Коммерческие Unix</title>
170
171<para>
172<application>MPlayer</application> был портирован на некоторые коммерческие варианты Unix.
173Поскольку окружения разработки этих систем отличаются от свободных Unix'ов,
174вам придется самостоятельно произвести некоторые действия, чтобы сборка заработала.
175</para>
176
177<sect2 id="solaris">
178<title>Solaris</title>
179
180<para>
181<application>MPlayer</application> должен работать под Solaris 2.6 и более
182новыми версиями. Для звука используйте звуковой драйвер SUN с
183опцией <option>-ao sun</option>.
184</para>
185
186<para>
187На <emphasis role="bold">UltraSPARC</emphasis>'ах, <application>MPlayer</application>
188использует преимущество их расширения <emphasis role="bold">VIS</emphasis>
189(эквивалент MMX), но (в настоящий момент) только в
190<systemitem class="library">libmpeg2</systemitem>,
191<systemitem class="library">libvo</systemitem>
192and <systemitem class="library">libavcodec</systemitem>, но не в
193<systemitem class="library">mp3lib</systemitem>. Вы сможете просматривать VOB'ы
194на 400MHz CPU. Вам потребуется установленная
195<ulink url="http://www.sun.com/sparc/vis/mediaLib.html"><systemitem class="library">mLib</systemitem></ulink>.
196</para>
197
198<para><emphasis role="bold">Предостережение:</emphasis></para>
199<itemizedlist>
200<listitem><para>
201  <emphasis role="bold">mediaLib</emphasis> в данный
202  момент отключена по умолчанию в
203  <application>MPlayer</application> из-за поломанности.
204  Пользователи SPARC, компилировавшие MPlayer с mediaLib
205  сообщали об изобилии зелёного оттенка в видео, кодируемом и
206  декодируемом libavcodec.
207  Если хотите, можете включить ее:
208  <screen>$ ./configure --enable-mlib</screen>
209  Вы делаете это на свой страх и риск, пользователи x86 не жолжны
210  <emphasis role="bold">никогда</emphasis> использовать mediaLib, поскольку
211  это очень сильно скажется на производительности MPlayer.
212</para></listitem>
213</itemizedlist>
214
215<para>
216Чтобы собрать программу, Вам потребуется GNU <application>make</application>
217(<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), родной
218Solaris make не будет работать. Типичная ошибка которую Вы будете
219получать при использовании Solaris make, вместо GNU make:
220<screen>
221% /usr/ccs/bin/make
222make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
223</screen>
224</para>
225
226<para>
227На Solaris SPARC, Вам потребуется GNU C/C++ Compiler; при этом не имеет
228значения, был ли GNU C/C++ компилятор сконфигурирован с или без GNU ассемблера.
229</para>
230
231<para>
232На Solaris x86, Вам потребуются GNU ассемблер и GNU C/C++ компилятор,
233сконфигурированный, чтобы использовать GNU ассемблер! На x86 платформах
234код <application>MPlayer</application>'а использует много MMX, SSE и 3DNOW!
235инструкций, которые Sun'овский ассемблер <filename>/usr/ccs/bin/as</filename>
236не может скомпилировать.
237</para>
238
239<para>
240Скрипт <filename>configure</filename> пытается обнаружить, какой ассемблер
241используется Вашей командой "gcc" (в том случае, если автоопределение
242не сработает, используйте опцию
243<option>--as=<replaceable>/там/где/у/Вас/установлен/gnu-as</replaceable></option>,
244чтобы сообщить скрипту <filename>configure</filename>, где можно обнаружить
245GNU "as" на Вашей системе).
246</para>
247
248<para>Решение общих проблем:</para>
249<itemizedlist>
250<listitem><para>
251  Сообщения об ошибках <filename>configure</filename> на Solaris x86 системах при
252  использовании GCC без GNU ассемблера:
253  <screen>
254% configure
255...
256Checking assembler (/usr/ccs/bin/as) ... , failed
257Please upgrade(downgrade) binutils to 2.10.1...<!--
258  --></screen>
259  (Решение: Установите и используйте gcc, сконфигурированный с
260  <option>--with-as=gas</option>)
261</para>
262
263<para>
264Типичная ошибка при сборке GNU C компилятором, который не использует GNU as:
265<screen>
266% gmake
267...
268gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
269    -fomit-frame-pointer  -I/usr/local/include   -o mplayer.o mplayer.c
270Assembler: mplayer.c
271"(stdin)", line 3567 : Illegal mnemonic
272"(stdin)", line 3567 : Syntax error
273... more "Illegal mnemonic" and "Syntax error" errors ...
274</screen>
275</para>
276</listitem>
277
278<listitem><para>
279  <application>MPlayer</application> может сообщить о нарушении сегментации при
280  кодировании и декодировании видео, использующего  win32codecs:
281  <screen>
282...
283Trying to force audio codec driver family acm...
284Opening audio decoder: [acm] Win32/ACM decoders
285sysi86(SI86DSCR): Invalid argument
286Couldn't install fs segment, expect segfault
287
288
289MPlayer interrupted by signal 11 in module: init_audio_codec
290...<!--
291  --></screen>
292  Это из-за изменений в sysi86() в Solaris 10 и пре-Solaris
293  Nevada b31 релизах. Исправлено в Solaris Nevada b32; тем не менее
294  Sun еще следует портировать исправление обратно на Solaris 10. Проект MPlayer
295  осведомил Sun об этой проблеме и патч в данный момент готовится для
296  Solaris 10. Больше информации об этой ошибке ищите
297  на:
298  <ulink url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>.
299</para></listitem>
300
301<listitem><para>
302В связи с ошибками в Solaris 8, Вы не сможете проигрывать DVD диски, размером
303больше 4 Гб:
304</para>
305
306<itemizedlist>
307<listitem><para>
308  Под Solaris 8 x86 драйвер sd(7D) содержит ошибку, проявляющуюся при доступе
309  к дискам, размером > 4 Гб на устройствах с логическим размером блока !=
310  DEV_BSIZE (например CD-ROM и DVD диски).
311  Из-за целочисленного 32-х битного переполнения, происходит доступ к дисковому адресу
312  по модулю 4 Гб
313  (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
314  Проблема отсутствует в SPARC версиях Solaris 8.
315</para></listitem>
316
317<listitem><para>
318  Похожая ошибка существует в коде файловой системы hsfs(7FS) (ISO9660),
319  hsfs может не поддерживать разделы/диски больше 4 Гб, доступ к данным
320  происходит по модулю 4 Гб
321  (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
322  Проблемы с hsfs могут быть исправлены установкой патча 109764-04 (sparc) /
323  109765-04 (x86).
324</para></listitem>
325</itemizedlist>
326</listitem>
327</itemizedlist>
328</sect2>
329
330<!-- ********** -->
331
332<sect2 id="hp-ux">
333<title>HP-UX</title>
334
335<para>
336Joe Page на своей домашней странице держит подробное
337<ulink url="http://users.rcn.com/joepage/mplayer_on_hpux11.htm">HOWTO</ulink>
338по <application>MPlayer</application> на HP-UX, написанное Martin Gansser.
339С этими инструкциями сборка должна работать "прямо из коробки".
340Следующая информация взята оттуда.
341</para>
342
343<para>
344Вам потребуется GCC 3.4.0 или полее поздней версии, GNU make версии 3.80
345или новее и SDL 1.2.7 или более новый. HP cc не может создать работоспособную
346программу, предыдущие версии GCC глючат. Для функционирования OpenGL
347необходимо установить Mesa, после чего должны заработать драйвера вывода видео
348gl и gl2, хотя, в зависимости от быстродействия CPU, скорость может быть ужасной.
349GNU esound является хорошей заменой довольно бедной звуковой системе HP-UX.
350</para>
351
352<para>
353Произведите сканирование шины SCSI
354на предмет наличия DVD устройства:
355
356<screen>
357# ioscan -fn
358
359Class          I            H/W   Path          Driver    S/W State    H/W Type        Description
360...
361ext_bus 1    8/16/5      c720  CLAIMED INTERFACE  Built-in SCSI
362target  3    8/16/5.2    tgt   CLAIMED DEVICE
363disk    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>
364                         /dev/dsk/c1t2d0 <emphasis role="bold">/dev/rdsk/c1t2d0</emphasis>
365target  4    8/16/5.7    tgt   CLAIMED DEVICE
366ctl     <emphasis role="bold">1</emphasis>    8/16/5.7.0  sctl  CLAIMED DEVICE     Initiator
367                         /dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
368...
369</screen>
370
371Вывод показывает, что по адресу 2 шины SCSI находится Pioneer DVD-ROM.
372Экземпляр карты для аппаратного пути 8/16 равен 1.
373</para>
374
375<para>
376Создайте ссылку от сырого устройства к DVD устройству.
377
378<screen>
379ln -s /dev/rdsk/c<replaceable>&lt;SCSI bus instance&gt;</replaceable>t<replaceable>&lt;SCSI target ID&gt;</replaceable>d<replaceable>&lt;LUN&gt;</replaceable> /dev/<replaceable>&lt;device&gt;</replaceable>
380</screen>
381Пример:
382<screen>ln -s /dev/rdsk/c1t2d0 /dev/dvd</screen>
383</para>
384
385<para>
386Далее следуют решения некоторых общих проблем:
387
388<itemizedlist>
389<listitem>
390  <para>
391  Крах при запуске с таким сообщением об ошибке:
392  <screen>
393/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl<!--
394  --></screen>
395  </para>
396  <para>
397  Это значит, что функция <systemitem>.finite().</systemitem> недоступна в стандартной
398  математической библиотеке HP-UX.
399  Вместо этого используйте <systemitem>.isfinite().</systemitem>.
400  Решение: Используйте последнюю версию Mesa из репозитория.
401  </para>
402</listitem>
403
404<listitem>
405  <para>
406  Крах при воспроизведении со следующей ошибкой:
407  <screen>
408/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0<!--
409  --></screen>
410  </para>
411  <para>
412  Решение: Используйте опцию extralibdir программы configure
413  <option>--extra-ldflags="/usr/lib -lrt"</option>
414  </para>
415</listitem>
416
417<listitem>
418  <para>
419  MPlayer вылетает с нарушением сегментации и сообщением вроде этого:
420  <screen>
421Pid 10166 received a SIGSEGV for stack growth failure.
422Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz.
423Segmentation fault<!--
424  --></screen>
425  </para>
426  <para>
427  Решение:
428  Ядро HP-UX по-умолчанию для каждого процесса имеет размер стека равный 8MB(?).
429  (11.0 и новые патчи для 10.20 позволяют вам увеличить <systemitem>maxssiz</systemitem>
430  вплоть до 350MB для 32-х битных программ). Вы должны расширить
431  <systemitem>maxssiz</systemitem>
432  и перекомпилировать ядро (и перезагрузиться). Чтобы сделать это, можно использовать SAM.
433  (Находясь в нем, проверьте параметр <systemitem>maxdsiz</systemitem> на предмет
434  максимального количества данных, которые могут использоваться программами.
435  64 Мб по умолчанию может хватить или не хватить в зависимости от Ваших приложений.)
436  </para>
437</listitem>
438</itemizedlist>
439</para>
440</sect2>
441
442<!-- ********** -->
443
444<sect2 id="aix">
445<title>AIX</title>
446<para>
447<application>MPlayer</application> успешно собирается на AIX 5.1,
4485.2, и 5.3, используя GCC 3.3 или новее. Сборка
449<application>MPlayer</application> не проверена на AIX 4.3.3 и более ранних.
450Крайне рекомендуется собирать
451<application>MPlayer</application> используя GCC 3.4 или старше, и, как минимум,
452GCC 4.0, если собираете на POWER5.
453</para>
454
455<para>
456Убедитесь, что используете GNU make
457(<filename>/opt/freeware/bin/gmake</filename>) для сборки
458<application>MPlayer</application>, поскольку столкнетесь с проблемами при
459использовании <filename>/usr/ccs/bin/make</filename>.
460</para>
461
462<para>
463
464По-прежнему ведется работа над кодом определения CPU.
465Проверены следующие архитектуры:
466</para>
467
468<itemizedlist>
469  <listitem><para>604e</para></listitem>
470  <listitem><para>POWER3</para></listitem>
471  <listitem><para>POWER4</para></listitem>
472</itemizedlist>
473
474<para>
475На следующих архитектурах не проверялось, но должно работать:
476<itemizedlist>
477  <listitem><para>POWER</para></listitem>
478  <listitem><para>POWER2</para></listitem>
479  <listitem><para>POWER5</para></listitem>
480</itemizedlist>
481</para>
482
483<para>
484Вывод звука через Ultimedia Services не поддерживается, т.к.
485Ultimedia была убрана из AIX 5.1; таким образом, остается единственный
486вариант: использовать драйвер AIX Open Sound system (OSS) от
4874Front Technologies с
488<ulink url="http://www.opensound.com/aix.html">http://www.opensound.com/aix.html</ulink>.
489Для некоммерческого использования 4Front Technologies
490распространяет драйвер OSS под AIX 5.1 бесплатно; несмотря на это,
491на текущий день нет драйверов вывода звука для AIX 5.2 или 5.3.
492drivers for AIX 5.2 or 5.3. Это означает, что сейчас
493<emphasis role="bold">AIX 5.2 и 5.3 несовместимы с выводом звука MPlayer.</emphasis>
494</para>
495
496<para>Решения для общих проблем:</para>
497
498<itemizedlist>
499<listitem>
500<para>
501  Если вы столкнулись с такой ошибкой <filename>configure</filename>:
502  <screen>
503$ ./configure
504...
505Checking for iconv program ... no
506No working iconv program found, use
507--charset=US-ASCII to continue anyway.
508Messages in the GTK-2 interface will be broken then.<!--
509  --></screen>
510  Это из-за того, что AIX использует нестандартные имена кодировок;
511  поэтому перекодировка сообщений в данный момент не работает.
512  Решение - использовать:
513  <screen>$ ./configure --charset=noconv</screen>
514  </para>
515</listitem>
516</itemizedlist>
517</sect2>
518
519
520<!-- ********** -->
521
522<sect2 id="qnx">
523<title>QNX</title>
524<para>
525Вам нужно скачать и установить SDL для QNX. Затем запустите
526<application>MPlayer</application> с опциями <option>-vo sdl:photon</option>
527и <option>-ao sdl:nto</option>, и все будет работать быстро.
528</para>
529
530<para>
531Вывод <option>-vo x11</option> будет ещё медленнее, чем под Linux, поскольку под
532QNX X'ы <emphasis>эмулируются</emphasis>, что ОЧЕНЬ медленно.
533</para>
534</sect2>
535</sect1>
536
537
538<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
539
540
541<sect1 id="windows">
542<title>Windows</title>
543
544<para>
545Да, <application>MPlayer</application> работает под Windows под
546<ulink url="http://www.cygwin.com/"><application>Cygwin</application></ulink> и
547<ulink url="http://www.mingw.org/"><application>MinGW</application></ulink>.
548Пока ещё нет официального GUI, но версия командной строки полностью функциональна.
549Обратитесь к списку рассылки
550<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">MPlayer-cygwin</ulink>
551за помощью и дополнительной информацией.
552Официальные бинарники под Windows могут быть найдены на
553<ulink url="http://www.mplayerhq.hu/design7/dload.html">странице загрузки</ulink>.
554Пакеты установки и простые GUI фронтенды доступны из внешних
555источников, мы собрали их в разделе Windows на
556<ulink url="http://www.mplayerhq.hu/design7/projects.html#windows">нашей
557странице проектов</ulink>.
558</para>
559
560<para>
561При нежелании использовать командную строку поможет простой трюк:
562поместите на рабочий стол ссылку, со следующим содержимым в секции execute:
563<screen><replaceable>c:\путь\к\</replaceable>mplayer.exe %1</screen>
564Это позволит <application>MPlayer</application> воспроизводить любой фильм,
565который вы перетащите на созданный ярлык. Добавьте <option>-fs</option>
566для полноэкранного режима.
567</para>
568
569<para>
570Лучшие результаты получаются при использовании родного DirectX видео
571вывода (<option>-vo directx</option>). Альтернативой является использование OpenGL или
572SDL, но производительность OpenGL сильно зависит от машины, а SDL на некоторых
573системах искажает видео или вылетает.
574Если изображение искажено, попробуйте отключить аппаратное ускорение, указав
575<option>-vo directx:noaccel</option>. Скачайте
576<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/win32/dx7headers.tgz">файлы заголовков
577DirectX 7</ulink>, чтобы скомпилировать видео драйвер DirectX. Кроме того,
578вам потребуется установленный DirectX 7, чтобы работал DirectX видеодрайвер.
579</para>
580
581<para>
582<link linkend="vidix">VIDIX</link> теперь доступен и под Windows, как
583<option>-vo winvidix</option>, хотя это ещё экспериментально и требует небольшой
584ручной установки. Скачайте
585<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> или
586<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (с поддержкой MTRR)</ulink>
587и скопируйте его в каталог
588<filename class="directory">vidix/dhahelperwin</filename> в Вашем дереве
589исходного кода <application>MPlayer</application>'а.
590Откройте консоль и перейдите в этот каталог. Теперь наберите
591<screen>gcc -o dhasetup.exe dhasetup.c</screen>
592и запустите
593<screen>dhasetup.exe install</screen>
594под Администратором. Теперь Вам нужно перезагрузить машину.
595</para>
596
597<para>
598Для получения наилучших результатов, <application>MPlayer</application>
599должен использовать пространство цветов, аппаратно поддерживаемое Вашей
600видеокартой. К сожалению, многие графические драйверы под Windows ошибочно
601сообщают, что некоторые пространства цветов поддерживаются аппаратно.
602Чтобы найти какие именно, попробуйте
603<screen>
604mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>colorspace</replaceable> <replaceable>movie</replaceable>
605</screen>,
606где <replaceable>colorspace</replaceable> может быть любым пространством
607цветов из вывода опции <option>-vf format=fmt=help</option>. Если Вы найдёте
608пространство цветов, которое Ваша карта особенно плохо поддерживает,
609опция <option>-vf noformat=<replaceable>colorspace</replaceable></option>
610помешает его использованию. Добавьте это в ваш конфигурационный файл, чтобы
611это пространство цветов больше никогда не использовалось.
612</para>
613
614<para>Существуют специальные пакеты кодеков для Windows, доступные на нашей
615  <ulink url="http://www.mplayerhq.hu/design7/dload.html">странице загрузки</ulink>,
616  позволяющие воспроизводить форматы, для которых пока нет родной поддержки.
617  Поместите их куда-нибудь в пути или укажите
618  <filename>configure</filename> опцию
619  <option>--codecsdir=<replaceable>c:/path/to/your/codecs</replaceable></option>
620  (или <option>--codecsdir=<replaceable>/path/to/your/codecs</replaceable></option>, но
621  только под <application>Cygwin</application>).
622  У нас были сообщения о том,
623  что Real DLL должны быть доступны пользователю, запускающему
624  <application>MPlayer</application>, для записи, но только на
625  некоторых системах (NT4). Если у Вас проблемы с ними, попробуйте сделать их
626  доступными на запись.
627</para>
628
629<para>
630Вы можете воспроизводить VCD, проигрывая <filename>.DAT</filename>
631или <filename>.MPG</filename> файлы, которые Windows показывает на VCD.
632Вот как это работает (указывайте букву диска Вашего CD-ROM):
633<screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>
634В качестве альтернативы вы можете напрямую воспроизводить VCD дорожки, указав:
635<screen>mplayer vcd://<replaceable>&lt;дорожка&gt;</replaceable> -cdrom-device <replaceable>d:</replaceable>
636</screen>
637DVDs также работают, укажите <option>-dvd-device</option> с буквой Вашего DVD-ROM:
638<screen>
639mplayer dvd://<replaceable>&lt;title&gt;</replaceable> -dvd-device <replaceable>d:</replaceable>:
640</screen>
641Консоль <application>Cygwin</application>/<application>MinGW</application>
642весьма медленная. Перенаправление вывода или
643использование опции <option>-quiet</option> улучшает производительность на
644некоторых системах. Прямой рендеринг (<option>-dr</option>)
645также может помочь.  Если воспроизведение
646прерывисто, попробуйте <option>-autosync 100</option>. Если какие-то из этих
647опций Вам помогут, стоит поместить их в конфигурационный файл.
648</para>
649
650<note>
651
652<para>Если у Вас Pentium 4 и Вы заметили крахи при использовании кодеков RealPlayer,
653  попробуйте отключить hyperthreading.
654</para>
655</note>
656
657<!-- ********** -->
658
659<sect2 id="cygwin">
660<title><application>Cygwin</application></title>
661
662<para>
663Для компиляции <application>MPlayer</application> требуется запустить
664<application>Cygwin</application> версии 1.5.0 или старше.
665</para>
666
667<para>
668Файлы заголовков DirectX надо распаковать в
669<filename class="directory">/usr/include/</filename> или
670<filename class="directory">/usr/local/include/</filename>.
671</para>
672
673<para>
674Вы можете найти инструкции и файлы для запуска SDL под
675<application>Cygwin</application> на
676<ulink url="http://www.libsdl.org/extras/win32/cygwin/">сайте libsdl</ulink>.
677</para>
678</sect2>
679
680<!-- ********** -->
681
682<sect2 id="mingw">
683<title><application>MinGW</application></title>
684
685<para>
686Прежде, установка версии <application>MinGW</application>,
687способной скомпилировать <application>MPlayer</application>, была
688сложновата, но сейчас все работает с самого начала. Просто установите
689<application>MinGW</application> 3.1.0 или более новый и MSYS 1.0.9 или старше и
690укажите постустановщику MSYS, что <application>MinGW</application>
691установлен.
692</para>
693
694<para>
695Распакуйте файлы заголовков DirectX в
696<filename class="directory">/mingw/include/</filename>.
697</para>
698
699<para>
700Для поддержки сжатых заголовкоав MOV необходима
701<ulink url="http://www.gzip.org/zlib/">zlib</ulink>, которую
702<application>MinGW</application> по умолчанию не предоставляет.
703Сконфигурируйте её, указав <option>--prefix=/mingw</option> и установите
704её до компиляции <application>MPlayer</application>'а.
705</para>
706
707<para>
708Полные инструкции по сборке <application>MPlayer</application> и необходимых
709библиотек могут быть найдены на странице
710<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/win32/MPlayer-MinGW-Howto.txt">MPlayer MinGW HOWTO</ulink>.
711</para>
712</sect2>
713</sect1>
714
715
716<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
717
718
719<sect1 id="macos">
720<title>Mac OS</title>
721
722<para>
723<application>MPlayer</application> не работает на Mac OS версий меньше 10,
724но компилируется "из коробки" на Mac OS X 10.2 и старше. Предпочитаемым компилятором
725является версия Apple GCC 3.x или более позднего. Вы можете получить начальное окружение
726для компиляции, установив Apple'овский
727<ulink url="http://developer.apple.com/tools/download/">Xcode</ulink>.
728Если у вас Mac OS X 10.3.9 или выше и QuickTime 7, можете использовать
729драйвер видео вывода <option>corevideo</option>.
730</para>
731
732<para>
733К сожалению, основное окружение не позволяет получить преимущество от всех
734приятных возможностей <application>MPlayer</application>. В частности,
735чтобы иметь включенную поддержку OSD, потребуются установленные в системе
736библиотеки <systemitem class="library">fontconfig</systemitem>
737и <systemitem class="library">freetype</systemitem>.
738В отличие от остальных Unix'ов, таких как Linux и клоны BSD, OS X
739не имеет поставляющейся с ОС систему управления пакетами.
740</para>
741
742<para>
743Есть как минимум два на выбор:
744<ulink url="http://fink.sourceforge.net/">Fink</ulink> и
745<ulink url="http://www.macports.org/">MacPorts</ulink>.
746Они оба предоставляют одинаковый сервис (т.е. огромное количество пакетов
747для установки, разрешение зависимостей, возможность простой
748установки/обновления/удаления пакетов и т.д.).
749Fink предлагает как предкомпилированные бинарные пакеты, так и сборку
750всего из исходников, в то время как MacPorts предлагает только собирать из
751исходных текстов.
752Автор данного руководства выбрал MacPorts исходя из того простого соображения,
753что его базовая установка легче.
754Последующие примеры будут основаны на MacPorts.
755</para>
756
757<para>
758В частности для компиляции <application>MPlayer</application> с поддержкой OSD:
759<screen>sudo port install pkgconfig</screen>
760Это установит <application>pkg-config</application>, который является системой
761управления флагами компиляции/сборки библиотек.
762Скрипт <systemitem>configure</systemitem> программы <application>MPlayer</application>
763использует его для правильного обнаружения библиотек.
764Тем же способом можно установить <application>fontconfig</application>:
765<screen>sudo port install fontconfig</screen>
766Затем можно продолжить, запустив <application>MPlayer</application>'овский
767<systemitem>configure</systemitem> скрипт (задайте переменные окружения
768<systemitem>PKG_CONFIG_PATH</systemitem> и <systemitem>PATH</systemitem> так,
769чтобы <systemitem>configure</systemitem> мог найти библиотеки, установленные
770при помощи MacPorts):
771<screen>
772PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure
773</screen>
774</para>
775
776<!-- ********** -->
777
778<sect2 id="osx_gui">
779<title>MPlayer OS X GUI</title>
780<para>
781Вы можете получить родной GUI для <application>MPlayer</application> вместе с
782предкомпилированными бинарниками <application>MPlayer</application> для Mac OS X
783из проекта
784<ulink url="http://mplayerosx.sf.net/">MPlayerOSX</ulink>, но предупреждаем:
785этот проект давно не развивается.
786</para>
787
788<para>
789К счастью, <application>MPlayerOSX</application> был подхвачен членом команды
790<application>MPlayer</application>. Предварительные релизы доступны с нашей
791<ulink url="http://mplayerhq.hu/dload.html">страницы загрузки</ulink>
792и скоро ожидается официальный релиз.
793</para>
794
795<para>
796Чтобы самостоятельно собрать <application>MPlayerOSX</application> из
797исходный текстов, вам потребуется
798<systemitem>mplayerosx</systemitem>,
799<systemitem>main</systemitem> и копию
800<systemitem>main</systemitem> SVN модуля, называющегося
801<systemitem>main_noaltivec</systemitem>.
802<systemitem>mplayerosx</systemitem> - это GUI frontend,
803<systemitem>main</systemitem> - это MPlayer, а
804<systemitem>main_noaltivec</systemitem> - это MPlayer собранный без поддержки AltiVec.
805</para>
806
807<para>
808Для извлечения модулей из SVN:
809
810<screen>
811svn checkout svn://svn.mplayerhq.hu/mplayerosx/trunk/ mplayerosx
812svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ main
813</screen>
814</para>
815
816<para>
817Чтобы собрать <application>MPlayerOSX</application> потребуется настроить что-то вроде этого:
818<screen>
819MPlayer_source_directory
820   |
821   |--->main           (MPlayer Subversion исходники)
822   |
823   |--->main_noaltivec (MPlayer Subversion исходники, сконфигурированные с --disable-altivec)
824   |
825   \--->mplayerosx     (MPlayer OS X Subversion исходники)
826</screen>
827Сначала надо собрать main и main_noaltivec.
828</para>
829
830<para>
831Для начала, чтобы добиться максимальной обратной совместимости, установите
832переменную окружения:
833<screen>export MACOSX_DEPLOYMENT_TARGET=10.3</screen>
834</para>
835
836<para>
837Затем сконфигурируйте:
838</para>
839
840<para>
841Если конфигурируете для G4 или более позднего CPU с поддержкой AltiVec,
842делайте так:
843<screen>
844./configure --disable-gl --disable-x11
845</screen>
846Если конфигурируете для машины c G3 без AltiVec, используйте:
847<screen>
848./configure --disable-gl --disable-x11 --disable-altivec
849</screen>
850Вам может потребоваться отредактировать <filename>config.mak</filename> и изменить
851<systemitem>-mcpu</systemitem> и <systemitem>-mtune</systemitem>
852с <systemitem>74XX</systemitem> на <systemitem>G3</systemitem>.
853</para>
854
855<para>
856Продолжайте с
857<screen>make</screen>
858после чего идите в каталог mplayerosx и там наберите:
859<screen>make dist</screen>
860Это создаст сжатый архив <systemitem>.dmg</systemitem> с котовым к использованию
861бинарником.
862</para>
863
864<para>
865Также можно использовать проект <application>Xcode</application> 2.1;
866более старый <application>Xcode</application> 1.x больше не работает.
867</para>
868</sect2>
869</sect1>
870</chapter>
871