Портинг Linux Основная платформа разработки — это Linux на x86, хотя MPlayer работает под многими другими портами Linux. Бинарные пакеты MPlayer'а доступны из нескольких источников. Тем не менее, ни один из этих пакетов не поддерживается. Сообщайте о проблемах их авторам, а не нам. Упаковка под Debian Чтобы создать Debian пакет, выполните следующие команды в каталоге с исходным кодом MPlayer'а: fakeroot debian/rules binary Затем, став root'ом Вы, как обычно, Вы можете установить .deb пакет: dpkg -i ../mplayer_version.deb Какое-то время Christian Marillat собирал неофициальные Debian пакеты с MPlayer'ом, MEncoder'ом и шрифтами, так что вы можете их скачать (apt-get'нуть) их с его сайта. RPM пакеты Dominik Mierzejewski собирает и поддерживает официальные Red Hat RPM пакеты MPlayer'а. Они доступны с его сайта. Mandrake RPM пакеты доступны с P.L.F.. SuSE включает искалеченную версию MPlayer'а в дистрибутив. Вы можете взять работающие RPM'ники с links2linux.de. ARM MPlayer работает на Linux PDAs с ARM процессором, например Sharp Zaurus, Compaq Ipaq. Простейший способ получить MPlayer — это скачать его с пакетных пастбищ[feeds] OpenZaurus. Если Вы хотите скомпилировать его самостоятельно, обратите внимание на каталоги MPlayer и libavcodec в корне сборки[buildroot] дистрибутива OpenZaurus. Там всегда найдутся свежий Makefile и патчи, используемые для сборки CVS MPlayer'а вместе с libavcodec. Если Вам нужен GUI, используйте xmms-embedded. *BSD MPlayer работает под FreeBSD, OpenBSD, NetBSD, BSD/OS и Darwin. Существуют портированные[ports]/пакеты сорцов[pkgsrcs]/fink/ и т. п. версии MPlayer'а, которые наверное проще использовать, чем просто исходный код. Чтобы собрать MPlayer, Вам понадобится GNU make (gmake — родной BSD make не будет работать) и свежая версия binutils. Если MPlayer ругается, что он не может найти /dev/cdrom или /dev/dvd, создайте соответствующую ссылку: ln -s /dev/Ваше_cdrom_устройство /dev/cdrom Чтобы использовать Win32 DLL'и с MPlayer'ом, Вам необходимо перекомпилировать ядро с "option USER_LDT" (если только у Вас не FreeBSD-CURRENT, где это включено по умолчанию). FreeBSD Если Ваш CPU поддерживает SSE, перекомпилируйте ядро с "options CPU_ENABLE_SSE" (необходимо FreeBSD-STABLE или патчи к ядру). OpenBSD В связи с ограничениями в различных версиях gas'а (переносы[relocation] и MMX), Вы должны будете компилировать в два шага: сначала убедитесь, что не родной as — первый в Вашем $PATH и выполните gmake -k , затем убедитесь, что будет использоваться родная версия и запустите gmake. Solaris MPlayer должен работать под Solaris 2.6 и более новыми версиями. На UltraSPARC'ах, MPlayer выгодно использует их расширение VIS (эквивалент MMX), но (в настоящий момент) только в libmpeg2, libvo и libavcodec, но не в mp3lib. Вы сможете просматривать VOB'ы на 400MHz CPU. Вам потребуется установленная mLib. Чтобы собрать программу, Вам потребуется GNU make (gmake, /opt/sfw/gmake), родной Solaris'овый make не будет работать. Типичная ошибка которую Вы будете получать при использовании Solaris'огово make, вместо GNU'шного: % /usr/ccs/bin/make make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen На Solaris SPARC, Вам потребуется GNU C/C++ Compiler; при этом не имеет значения, был ли GNU C/C++ компилятор сконфигурирован с или без GNU ассемблера. На Solaris x86, Вам потребуются GNU ассемблер и GNU C/C++ компилятор, сконфигурированный, чтобы использовать GNU ассемблер! На x86 платформах код MPlayer'а использует много MMX, SSE и 3DNOW! инструкций, которые Sun'овский ассемблер /usr/ccs/bin/as не может скомпилировать. Скрипт configure пытается обнаружить, какой ассемблер используется Вашей командой "gcc" (в том случае, если автоопределение не сработает, используйте опцию , чтобы сообщить скрипту configure, где можно обнаружить GNU "as" на Вашей системе). Сообщения об ошибках configure на Solaris x86 системах при использовании GCC без GNU ассемблера: % configure ... Checking assembler (/usr/ccs/bin/as) ... , failed Please upgrade(downgrade) binutils to 2.10.1... (Решение: Установите и используйте gcc, сконфигурированный с ) Типичная ошибка при сборке GNU C компилятором, который не использует GNU as: % 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 ... В связи с ошибками в Solaris 8, Вы не сможете проигрывать DVD диски, размером больше 4 Гб: Под Solaris 8 x86 драйвер sd(7D) содержит ошибку, проявляющуюся при доступе к дискам, размером > 4 Гб на устройствах с логическим размером блока != DEV_BSIZE (например CD-ROM и DVD диски). Из-за целочисленного 32битного переполнения, происходит доступ к дисковому адресу по модулю 4 Гб (). Проблема отсутствует в SPARC версиях Solaris 8. Похожая ошибка существует в коде файловой системы hsfs(7FS) (ISO9660), hsfs может не поддерживать разделы/диски больше 4 Гб, доступ к данным происходит по модулю 4 Гб (). Проблемы с hsfs могут быть исправлены установкой патча 109764-04 (sparc) / 109765-04 (x86). Под Solaris с UltraSPARC CPU, вы можете получить ускорение за счёт использования VIS инструкций этого процессора для некоторых поглощающих время операций. VIS ускорение может использоваться в MPlayer'е путём вызова функций в Sun'овской mediaLib. VIS-ускоренные операции из mediaLib используются для декодирования mpeg2 видео и преобразований цветовых пространств в драйверах видео вывода. Silicon Graphics / Irix Вы либо можете попробовать установить программу GNU install, и (если Вы не поместили её в Ваш глобальный путь), то укажите на её местонахождение: ./configure --install-path=PATH Или Вы можете использовать стандартную программу install, поставляемую вместе с IRIX 6.5, но в этом случае Вы должны будете вручную немножко подправить Makefile. Поменяйте следующие две строки: $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1 $(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf на: $(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/ $(INSTALL) -m 644 codecs.conf $(CONFDIR)/ И затем выполните (из корневого каталога MPlayer'а): cp DOCS/mplayer.1 . ; cp etc/codecs.conf . И затем просто соберите и установите MPlayer. QNX Работает. Вам нужно скачать и установить SDL для QNX. Затем запустите MPlayer с опциями и , и все будет работать быстро. Вывод будет ещё медленнее, чем под Linux, поскольку под QNX X'ы эмулируются, что ОЧЕНЬ медленно. Используйте SDL. Windows Да, MPlayer работает под Windows под Cygwin и MinGW. Пока ещё нет GUI, но версия командной строки почти функциональна. Мы всегда будем благодарны за патчи. Вы можете получить помощь и последнюю информацию на рассылке mplayer-cygwin. Лучшие результаты получаются при использовании родного DirectX видео вывода () и родного Windows waveout аудио драйвера (), поскольку OpenGL не работает, а на некоторых системах SDL искажает звук и видео или ломает систему. Вы можете заставить оставаться окно с фильмом наверху, указав . Если изображение искажено, попробуйте отключить аппаратное ускорение, указав . Скачайте файлы заголовков DirectX 7, чтобы скомпилировать видео драйвер DirectX. Вы можете использовать Win32 кодеки и Real Win32 кодеки (не Real Linux кодеки), если хотите. Поместите их куда-нибудь в пути или укажите configure опцию (или , но только под Cygwin). У нас были сообщения о том, что Real DLL'и должны быть доступны пользователю, запускающему MPlayer, для записи, но только на некоторых системах. Если у Вас проблемы с ними, попробуйте сделать их записываемыми. QuickTime DLL'и также работают, но Вы должны поместить их в системный Windows каталог (C:\Windows\system\ или что-то в этом духе). Консоль Cygwin/MinGW слегка медленная. Перенаправление вывода или использование опции улучшает производительность на некоторых системах. Прямое воспроизведение[Direct rendering] () также может помочь. Вы можете избежать мерцания OSD, включив опцией двойную буферизацию. Если воспроизведение прерывисто, попробуйте . Если какие-то из этих опций Вам помогут, стоит поместить их в конфигурационный файл. Прекомпилированные бинарные версии, собранные Сашей Зоммером [Sascha Sommer], доступны для скачивания с нашей страницы. Джой Пэрриш[Joey Parrish] собирал неофициальные Windows пакеты вместе с установочником. Cygwin Cygwin версий до 1.5.0 не включал inttypes.h. Поместите этот inttypes.h в /usr/include/, чтобы MPlayer мог скомпилироваться. Файлы заголовков DirectX надо распаковать в /usr/include/ или /usr/local/include/ . Вы можете найти инструкции и файлы для запуска SDL под Cygwin на сайте libsdl. Вы можете проигрывать VCD, проигрывая .DAT или .MPGфайлы, которые Windows показывает на VCD'шниках. Вот как это работает (подставьте букву Вашего CD-ROM'а): mplayer d:/mpegav/avseq01.dat mplayer /cygdrive/d/MPEG2/AVSEQ01.MPG DVD'шники тоже работают, укажите букву Вашего DVD-ROM'а опцией : mplayer dvd://<title> -dvd-device '\\.\d:' MinGW Прежде, установка версии MinGW, способной скомпилировать MPlayer, была слегка сложной, но сейчас все работает с самого начала. Просто установите MinGW 3.1.0 или более новый и укажите MSYS постустановщику, что MinGW установлен. Если Вы используете более раннюю, чем 3.1.0 версию MinGW, Вам нужно заменить /mingw/include/sys/types.h этим файлом: types.h. Распакуйте файлы заголовков DirectX в /mingw/include/. VCD'шники и DVD'шники работают почти как в Cygwin (подставьте букву Вашего CD-ROM'а/DVD-ROM'а): mplayer d:/mpegav/avseq01.dat mplayer /d/MPEG2/AVSEQ01.MPG mplayer dvd://<title> -dvd-device /d/