10967
|
1 <?xml version="1.0" encoding="koi8-r"?>
|
|
2 <!-- synced with 1.13 -->
|
|
3 <chapter id="ports" xreflabel="Портинг">
|
|
4 <title>Портинг</title>
|
|
5
|
|
6 <sect1 id="linux">
|
|
7 <title>Linux</title>
|
|
8 <para>
|
|
9 Основная платформа разработки — это Linux на x86, хотя
|
|
10 <application>MPlayer</application> работает под многими другими портами Linux.
|
|
11 Бинарные пакеты MPlayer'а доступны из нескольких источников. Тем не менее,
|
|
12 <emphasis role="bold">ни один из этих пакетов не поддерживается</emphasis>.
|
|
13 Сообщайте о проблемах их авторам, а не нам.
|
|
14 </para>
|
|
15
|
|
16 <sect2 id="debian">
|
|
17 <title>Упаковка под Debian</title>
|
|
18 <para>
|
|
19 Чтобы создать Debian пакет, выполните следующие команды в каталоге с исходным
|
|
20 кодом MPlayer'а:
|
|
21 <screen>fakeroot debian/rules binary</screen>
|
|
22 Затем, став root'ом Вы, как обычно, Вы можете установить <filename>.deb
|
|
23 </filename> пакет:
|
|
24 <screen>dpkg -i ../mplayer_<replaceable>version</replaceable>.deb</screen>
|
|
25 </para>
|
|
26
|
|
27 <para>
|
|
28 Какое-то время Christian Marillat собирал неофициальные Debian пакеты с
|
|
29 MPlayer'ом, MEncoder'ом и шрифтами, так что вы можете их скачать (apt-get'нуть)
|
|
30 их с его <ulink url="http://marillat.free.fr/">сайта</ulink>.
|
|
31 </para>
|
|
32 </sect2>
|
|
33
|
|
34 <sect2 id="rpm">
|
|
35 <title>RPM пакеты</title>
|
|
36 <para>
|
|
37 Dominik Mierzejewski собирает и поддерживает официальные Red Hat RPM пакеты
|
|
38 <application>MPlayer</application>'а. Они доступны с его
|
|
39 <ulink url="http://www.piorunek.pl/~dominik/linux/pkgs/mplayer/">сайта</ulink>.
|
|
40 </para>
|
|
41
|
|
42 <para>
|
|
43 Mandrake RPM пакеты доступны с <ulink url="http://plf.zarb.org/">P.L.F.</ulink>.
|
|
44 SuSE включает искалеченную версию MPlayer'а в дистрибутив. Вы можете взять
|
|
45 работающие RPM'ники с
|
|
46 <ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
|
|
47 </para>
|
|
48 </sect2>
|
|
49
|
|
50 <sect2 id="arm">
|
|
51 <title>ARM</title>
|
|
52 <para>
|
|
53 MPlayer работает на Linux PDAs с ARM процессором, например Sharp Zaurus, Compaq
|
|
54 Ipaq. Простейший способ получить MPlayer — это скачать его с
|
|
55 пакетных пастбищ[feeds]
|
|
56 <ulink url="http://www.openzaurus.org">OpenZaurus</ulink>. Если Вы хотите
|
|
57 скомпилировать его самостоятельно, обратите внимание на каталоги
|
|
58 <ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">MPlayer</ulink>
|
|
59 и
|
|
60 <ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>
|
|
61 в корне сборки[buildroot] дистрибутива OpenZaurus. Там всегда найдутся
|
|
62 свежий Makefile и патчи, используемые для сборки CVS MPlayer'а вместе с
|
|
63 libavcodec. Если Вам нужен GUI, используйте xmms-embedded.
|
|
64 </para>
|
|
65 </sect2>
|
|
66 </sect1>
|
|
67
|
|
68 <sect1 id="bsd">
|
|
69 <title>*BSD</title>
|
|
70 <para>
|
|
71 <application>MPlayer</application> работает под FreeBSD, OpenBSD, NetBSD,
|
|
72 BSD/OS и Darwin. Существуют портированные[ports]/пакеты сорцов[pkgsrcs]/fink/
|
|
73 и т. п. версии MPlayer'а, которые наверное проще использовать, чем просто
|
|
74 исходный код.
|
|
75 </para>
|
|
76
|
|
77 <para>
|
|
78 Чтобы собрать MPlayer, Вам понадобится GNU make (gmake — родной BSD make
|
|
79 не будет работать) и свежая версия binutils.
|
|
80 </para>
|
|
81
|
|
82 <para>
|
|
83 Если MPlayer ругается, что он не может найти <filename>/dev/cdrom</filename> или
|
|
84 <filename>/dev/dvd</filename>, создайте соответствующую ссылку:
|
|
85 <screen>ln -s /dev/<replaceable>Ваше_cdrom_устройство</replaceable> /dev/cdrom</screen>
|
|
86 </para>
|
|
87
|
|
88 <para>
|
|
89 Чтобы использовать Win32 DLL'и с MPlayer'ом, Вам необходимо перекомпилировать
|
|
90 ядро с "<envar>option USER_LDT</envar>" (если только у Вас не FreeBSD-CURRENT,
|
|
91 где это включено по умолчанию).
|
|
92 </para>
|
|
93
|
|
94
|
|
95 <sect2 id="freebsd">
|
|
96 <title>FreeBSD</title>
|
|
97 <para>
|
|
98 Если Ваш CPU поддерживает SSE, перекомпилируйте ядро с
|
|
99 "<envar>options CPU_ENABLE_SSE</envar>" (необходимо FreeBSD-STABLE
|
|
100 или патчи к ядру).
|
|
101 </para>
|
|
102 </sect2>
|
|
103
|
|
104 <sect2 id="openbsd">
|
|
105 <title>OpenBSD</title>
|
|
106 <para>
|
|
107 В связи с ограничениями в различных версиях gas'а (переносы[relocation] и MMX),
|
|
108 Вы должны будете компилировать в два шага: сначала убедитесь, что не родной as
|
|
109 — первый в Вашем <envar>$PATH</envar> и выполните <command>gmake -k
|
|
110 </command>, затем убедитесь, что будет использоваться родная версия и запустите
|
|
111 <command>gmake</command>.
|
|
112 </para>
|
|
113 </sect2>
|
|
114 </sect1>
|
|
115
|
|
116 <sect1 id="solaris">
|
|
117 <title>Solaris</title>
|
|
118 <para>
|
|
119 <application>MPlayer</application> должен работать под Solaris 2.6 и более
|
|
120 новыми версиями.
|
|
121 </para>
|
|
122
|
|
123 <para>
|
|
124 На <emphasis role="bold">UltraSPARC</emphasis>'ах, MPlayer выгодно использует их
|
|
125 расширение <emphasis role="bold">VIS</emphasis> (эквивалент MMX), но (в настоящий
|
|
126 момент) только в <emphasis>libmpeg2</emphasis>, <emphasis>libvo</emphasis> и
|
|
127 <emphasis>libavcodec</emphasis>, но не в mp3lib. Вы сможете просматривать VOB'ы
|
|
128 на 400MHz CPU. Вам потребуется установленная
|
|
129 <ulink url="http://www.sun.com/sparc/vis/mediaLib.html">mLib</ulink>.
|
|
130 </para>
|
|
131
|
|
132 <para>
|
|
133 Чтобы собрать программу, Вам потребуется GNU <application>make</application>
|
|
134 (<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), родной
|
|
135 Solaris'овый make не будет работать. Типичная ошибка которую Вы будете
|
|
136 получать при использовании Solaris'огово make, вместо GNU'шного:
|
|
137 <screen>
|
|
138 % /usr/ccs/bin/make
|
|
139 make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
|
|
140 </screen>
|
|
141 </para>
|
|
142
|
|
143 <para>
|
|
144 На Solaris SPARC, Вам потребуется GNU C/C++ Compiler; при этом не имеет
|
|
145 значения, был ли GNU C/C++ компилятор сконфигурирован с или без GNU ассемблера.
|
|
146 </para>
|
|
147
|
|
148 <para>
|
|
149 На Solaris x86, Вам потребуются GNU ассемблер и GNU C/C++ компилятор,
|
|
150 сконфигурированный, чтобы использовать GNU ассемблер! На x86 платформах
|
|
151 код MPlayer'а использует много MMX, SSE и 3DNOW! инструкций, которые
|
|
152 Sun'овский ассемблер <filename>/usr/ccs/bin/as</filename> не может
|
|
153 скомпилировать.
|
|
154 </para>
|
|
155
|
|
156 <para>Скрипт <filename>configure</filename> пытается обнаружить, какой ассемблер
|
|
157 используется Вашей командой "gcc" (в том случае, если автоопределение
|
|
158 не сработает, используйте опцию
|
|
159 <option>--as=/whereever/you/have/installed/gnu-as</option>, чтобы сообщить
|
|
160 скрипту <filename>configure</filename>, где можно обнаружить GNU "as" на Вашей
|
|
161 системе).
|
|
162 </para>
|
|
163
|
|
164 <para>
|
|
165 Сообщения об ошибках <filename>configure</filename> на Solaris x86 системах при
|
|
166 использовании GCC без GNU ассемблера:
|
|
167 <screen>
|
|
168 % configure
|
|
169 ...
|
|
170 Checking assembler (/usr/ccs/bin/as) ... , failed
|
|
171 Please upgrade(downgrade) binutils to 2.10.1...
|
|
172 </screen>
|
|
173 (Решение: Установите и используйте gcc, сконфигурированный с <option>--with-as=gas</option>)
|
|
174 </para>
|
|
175
|
|
176 <para>
|
|
177 Типичная ошибка при сборке GNU C компилятором, который не использует GNU as:
|
|
178 <screen>
|
|
179 % gmake
|
|
180 ...
|
|
181 gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
|
|
182 -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
|
|
183 Assembler: mplayer.c
|
|
184 "(stdin)", line 3567 : Illegal mnemonic
|
|
185 "(stdin)", line 3567 : Syntax error
|
|
186 ... more "Illegal mnemonic" and "Syntax error" errors ...
|
|
187 </screen>
|
|
188 </para>
|
|
189
|
|
190 <para>
|
|
191 В связи с ошибками в Solaris 8, Вы не сможете проигрывать DVD диски, размером
|
|
192 больше 4 Гб:
|
|
193 </para>
|
|
194
|
|
195 <itemizedlist>
|
|
196 <listitem><para>
|
|
197 Под Solaris 8 x86 драйвер sd(7D) содержит ошибку, проявляющуюся при доступе
|
|
198 к дискам, размером > 4 Гб на устройствах с логическим размером блока !=
|
|
199 DEV_BSIZE (например CD-ROM и DVD диски).
|
|
200 Из-за целочисленного 32битного переполнения, происходит доступ к дисковому адресу
|
|
201 по модулю 4 Гб
|
|
202 (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
|
|
203 Проблема отсутствует в SPARC версиях Solaris 8.
|
|
204 </para></listitem>
|
|
205
|
|
206 <listitem><para>
|
|
207 Похожая ошибка существует в коде файловой системы hsfs(7FS) (ISO9660),
|
|
208 hsfs может не поддерживать разделы/диски больше 4 Гб, доступ к данным
|
|
209 происходит по модулю 4 Гб
|
|
210 (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
|
|
211 Проблемы с hsfs могут быть исправлены установкой патча 109764-04 (sparc) /
|
|
212 109765-04 (x86).
|
|
213 </para></listitem>
|
|
214 </itemizedlist>
|
|
215
|
|
216 <para>
|
|
217 Под Solaris с UltraSPARC CPU, вы можете получить ускорение за счёт использования
|
|
218 VIS инструкций этого процессора для некоторых поглощающих время операций. VIS
|
|
219 ускорение может использоваться в MPlayer'е путём вызова функций в Sun'овской
|
|
220 <ulink url="http://www.sun.com/sparc/vis/mediaLib.html">mediaLib</ulink>.
|
|
221 </para>
|
|
222
|
|
223 <para>
|
|
224 VIS-ускоренные операции из mediaLib используются для декодирования mpeg2 видео
|
|
225 и преобразований цветовых пространств в драйверах видео вывода.
|
|
226 </para>
|
|
227 </sect1>
|
|
228
|
|
229 <sect1 id="sgi">
|
|
230 <title>Silicon Graphics / Irix</title>
|
|
231 <para>
|
|
232 Вы либо можете попробовать установить программу GNU install, и (если Вы
|
|
233 не поместили её в Ваш глобальный путь), то укажите на её местонахождение:
|
|
234 <screen>./configure --install-path=PATH</screen>
|
|
235 </para>
|
|
236
|
|
237 <para>
|
|
238 Или Вы можете использовать стандартную программу install, поставляемую вместе
|
|
239 с IRIX 6.5, но в этом случае Вы должны будете вручную немножко подправить
|
|
240 <filename>Makefile</filename>.
|
|
241 Поменяйте следующие две строки:
|
|
242 <programlisting>
|
|
243 $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
|
|
244
|
|
245 $(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
|
|
246 </programlisting>
|
|
247 на:
|
|
248 <programlisting>
|
|
249 $(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
|
|
250
|
|
251 $(INSTALL) -m 644 codecs.conf $(CONFDIR)/
|
|
252 </programlisting>
|
|
253 И затем выполните (из корневого каталога MPlayer'а):
|
|
254 <screen>cp DOCS/mplayer.1 . ; cp etc/codecs.conf .</screen>
|
|
255 И затем просто соберите и установите MPlayer.
|
|
256 </para>
|
|
257 </sect1>
|
|
258
|
|
259 <sect1 id="qnx">
|
|
260 <title>QNX</title>
|
|
261 <para>
|
|
262 Работает. Вам нужно скачать и установить SDL для QNX. Затем запустите
|
|
263 <application>MPlayer</application> с опциями <option>-vo sdl:photon</option>
|
|
264 и <option>-ao sdl:nto</option>, и все будет работать быстро.
|
|
265 </para>
|
|
266
|
|
267 <para>
|
|
268 Вывод <option>-vo x11</option> будет ещё медленнее, чем под Linux, поскольку под
|
|
269 QNX X'ы <emphasis>эмулируются</emphasis>, что ОЧЕНЬ медленно. Используйте SDL.
|
|
270 </para>
|
|
271 </sect1>
|
|
272
|
|
273 <sect1 id="windows">
|
|
274 <title>Windows</title>
|
|
275
|
|
276 <para>Да, MPlayer работает под Windows под
|
|
277 <ulink url="http://www.cygwin.com/">Cygwin</ulink> и
|
|
278 <ulink url="http://www.mingw.org/">MinGW</ulink>.
|
|
279 Пока ещё нет GUI, но версия командной строки почти функциональна. Мы всегда
|
|
280 будем благодарны за <ulink url="../../tech/patches.txt">патчи</ulink>.
|
|
281 Вы можете получить помощь и последнюю информацию на рассылке
|
|
282 <ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">mplayer-cygwin</ulink>.</para>
|
|
283
|
|
284 <para>Лучшие результаты получаются при использовании родного DirectX видео
|
|
285 вывода (<option>-vo directx</option>) и родного Windows waveout аудио драйвера
|
|
286 (<option>-ao win32</option>), поскольку OpenGL не работает, а на некоторых
|
|
287 системах SDL искажает звук и видео или ломает систему. Вы можете заставить
|
|
288 оставаться окно с фильмом наверху, указав <option>-vo directx:ontop</option>.
|
|
289 Если изображение искажено, попробуйте отключить аппаратное ускорение, указав
|
|
290 <option>-vo directx:noaccel</option>. Скачайте
|
|
291 <ulink url="http://www.videolan.org/vlc/dx7headers.tgz">файлы заголовков
|
|
292 DirectX 7</ulink>, чтобы скомпилировать видео драйвер DirectX.</para>
|
|
293
|
|
294 <para>Win32 кодеки, QuickTime DLL'и и Real Win32 кодеки (не Real Linux кодеки)
|
|
295 также работают. Поместите их куда-нибудь в пути или укажите <filename>
|
|
296 configure</filename> опцию <option>--with-codecsdir=c:/path/to/your/codecs
|
|
297 </option> (или <option>--with-codecsdir=/path/to/your/codecs</option>, но
|
|
298 только под Cygwin). У нас были сообщения о том, что Real DLL'и должны быть
|
|
299 доступны пользователю, запускающему MPlayer, для записи, но только на
|
|
300 некоторых системах. Если у Вас проблемы с ними, попробуйте сделать их
|
|
301 записываемыми.</para>
|
|
302
|
|
303 <para>Консоль Cygwin/MinGW слегка медленная. Перенаправление вывода или
|
|
304 использование опции <option>-quiet</option> улучшает производительность на
|
|
305 некоторых системах. Прямое воспроизведение[Direct rendering] (<option>-dr
|
|
306 </option>) также может помочь. Вы можете избежать мерцания OSD, включив
|
|
307 опцией <option>-double</option> двойную буферизацию. Если воспроизведение
|
|
308 прерывисто, попробуйте <option>-autosync 100</option>. Если какие-то из этих
|
|
309 опций Вам помогут, стоит поместить их в конфигурационный файл.</para>
|
|
310
|
|
311 <para>Прекомпилированные бинарные версии, собранные Сашей Зоммером
|
|
312 [Sascha Sommer], доступны для скачивания с
|
|
313 <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32-beta/">нашей
|
|
314 страницы</ulink>.
|
|
315 Джой Пэрриш[Joey Parrish] собирал
|
|
316 <ulink url="http://joey.nicewarrior.org/cygmp/">неофициальные Windows пакеты
|
|
317 </ulink> вместе с установочником.</para>
|
|
318
|
|
319 <sect2 id="cygwin">
|
|
320 <title>Cygwin</title>
|
|
321
|
|
322 <para>Cygwin версий до 1.5.0 не включал <filename>inttypes.h</filename>. Вы
|
|
323 должны скопировать или создать символическую ссылку на
|
|
324 <filename>etc/cygwin_inttypes.h</filename> из каталога с исходным кодом
|
|
325 MPlayer'а в <filename>/usr/include/inttypes.h</filename>, чтобы MPlayer
|
|
326 мог скомпилироваться.</para>
|
|
327
|
|
328 <para>Файлы заголовков DirectX надо распаковать в <filename class="directory">
|
|
329 /usr/include/</filename> или <filename class="directory">/usr/local/include/
|
|
330 </filename>.</para>
|
|
331
|
|
332 <para>Вы можете найти инструкции и файлы для запуска SDL под Cygwin на
|
|
333 <ulink url="http://www.libsdl.org/extras/win32/cygwin/">сайте libsdl</ulink>.</para>
|
|
334
|
|
335 <para>Вы можете проигрывать VCD, проигрывая <filename>.DAT</filename> или
|
|
336 <filename>.MPG</filename>файлы, которые Windows показывает на VCD'шниках.
|
|
337 Вот как это работает (подставьте букву Вашего CD-ROM'а):</para>
|
|
338
|
|
339 <screen>mplayer d:/mpegav/avseq01.dat</screen>
|
|
340
|
|
341 <screen>mplayer /cygdrive/d/MPEG2/AVSEQ01.MPG</screen>
|
|
342
|
11005
|
343 <para>DVD'шники тоже работают, укажите букву Вашего DVD-ROM'а опцией
|
|
344 <option>-dvd-device</option>:</para>
|
10967
|
345
|
|
346 <screen>mplayer dvd://<title> -dvd-device '\\.\d:'</screen>
|
|
347
|
|
348 </sect2>
|
|
349
|
|
350
|
|
351 <sect2 id="mingw">
|
|
352 <title>MinGW</title>
|
|
353
|
|
354 <para>Прежде, установка версии MinGW, способной скомпилировать MPlayer, была
|
|
355 слегка сложной, но сейчас все работает с самого начала. Просто установите
|
|
356 MinGW 3.1.0 или более новый и укажите MSYS постустановщику, что MinGW
|
|
357 установлен.</para>
|
|
358
|
|
359 <para>Если Вы используете более раннюю, чем 3.1.0 версию MinGW, Вам нужно
|
|
360 заменить <filename>/mingw/include/sys/types.h</filename> этим файлом:
|
|
361 <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32-beta/contrib/types.h"><filename>types.h</filename></ulink>.</para>
|
|
362
|
|
363 <para>Распакуйте файлы заголовков DirectX в <filename class="directory">/mingw/include/</filename>.</para>
|
|
364
|
|
365 <para>VCD'шники и DVD'шники работают почти как в Cygwin (подставьте букву Вашего
|
11005
|
366 CD-ROM'а/DVD-ROM'а):</para>
|
10967
|
367
|
|
368 <screen>mplayer d:/mpegav/avseq01.dat</screen>
|
|
369
|
|
370 <screen>mplayer /d/MPEG2/AVSEQ01.MPG</screen>
|
|
371
|
|
372 <screen>mplayer dvd://<title> -dvd-device /d/</screen>
|
|
373
|
|
374 </sect2>
|
|
375
|
|
376
|
|
377 </sect1>
|
|
378
|
|
379 </chapter>
|