Портинг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.
*BSDMPlayer работает под 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.
SolarisMPlayer должен работать под 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 кодеки, QuickTime DLL'и и Real Win32 кодеки (не Real Linux кодеки)
также работают. Поместите их куда-нибудь в пути или укажите
configure опцию (или , но
только под Cygwin). У нас были сообщения о том, что Real DLL'и должны быть
доступны пользователю, запускающему MPlayer, для записи, но только на
некоторых системах. Если у Вас проблемы с ними, попробуйте сделать их
записываемыми.Консоль Cygwin/MinGW слегка медленная. Перенаправление вывода или
использование опции улучшает производительность на
некоторых системах. Прямое воспроизведение[Direct rendering] () также может помочь. Вы можете избежать мерцания OSD, включив
опцией двойную буферизацию. Если воспроизведение
прерывисто, попробуйте . Если какие-то из этих
опций Вам помогут, стоит поместить их в конфигурационный файл.Прекомпилированные бинарные версии, собранные Сашей Зоммером
[Sascha Sommer], доступны для скачивания с
нашей
страницы.
Джой Пэрриш[Joey Parrish] собирал
неофициальные Windows пакеты
вместе с установочником.CygwinCygwin версий до 1.5.0 не включал inttypes.h. Вы
должны скопировать или создать символическую ссылку на
etc/cygwin_inttypes.h из каталога с исходным кодом
MPlayer'а в /usr/include/inttypes.h, чтобы MPlayer
мог скомпилироваться.Файлы заголовков DirectX надо распаковать в
/usr/include/ или /usr/local/include/
.Вы можете найти инструкции и файлы для запуска SDL под Cygwin на
сайте libsdl.Вы можете проигрывать VCD, проигрывая .DAT или
.MPGфайлы, которые Windows показывает на VCD'шниках.
Вот как это работает (подставьте букву Вашего CD-ROM'а):mplayer d:/mpegav/avseq01.datmplayer /cygdrive/d/MPEG2/AVSEQ01.MPGDVD'шники тоже работают, укажите букву Вашего 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.datmplayer /d/MPEG2/AVSEQ01.MPGmplayer dvd://<title> -dvd-device /d/