PortyLinux
Główną platformą rozwojową jest Linux x86, chociaż
MPlayer pracuje również na wielu innych portach
tego systemu. Pakiety binarne są dostępne z kilku źródeł, jednakże
żaden z nich nie jest przez nas obsługiwany.
Zgłaszaj problemy do ich opiekunów, a nie do nas.
Pakiety Debiana
Aby zbudować pakiet dla Debiana, wywołaj poniższą komendę w katalogu ze źródłami
MPlayera:
fakeroot debian/rules binary
Jeśli chcesz przekazać własne opcje do skryptu configure, możesz ustawić zmienną
środowiskową DEB_BUILD_OPTIONS. Na przykład, jeśli chcesz
obsługi menu i GUI, wyglądało by to tak:
DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary
Możesz przekazać również niektóre zmienne do Makefile. Na przykład, jeśli chcesz
kompilować przy pomocy gcc 3.4, nawet jeśli nie jest to domyślny kompilator:
CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary
Aby wyczyściś katalog ze źródłami wykonaj poniższa komendę:
fakeroot debian/rules clean
Jako superużytkownik możesz zainstalować pakiet .deb tak, jak zwykle:
dpkg -i ../mplayer_wersja.deb
Christian Marillat buduje dla Debiana nieoficjalne paczki
MPlayera, MEncodera
i naszych czcionek bitmapowych już przez jakiś czas, możesz je pobrać (apt-get)
z jego strony domowej.
Pakiety RPM
Dominik Mierzejewski tworzy i opiekuje się oficjalnymi pakietami
MPlayera dla Red Hata. Są one dostępne na jego
stronie domowej.
RPMy dla Mandrake są dostępne na P.L.F..
SuSE zawierał okrojoną wersję MPlayera w dystrybucji.
Usunęli ją w swoich najnowszych wydaniach. W pełni funkcjonalne
pakiety możesz pobrać z
links2linux.de.
ARMMPlayer działa również na PDA z procesorami ARM
działających pod kontrolą Linuksa, np. Sharp Zaurus, Compaq iPAQ.
Najprostszym sposobem, żeby uzyskać MPlayera,
jest pobranie go z odpowiedniego źródła pakietów (stable, testing, unstable)
z witryny OpenZaurus. Jeżeli chcesz
go skompilować samodzielnie, powinieneś przyjrzeć się katalogom
mplayera
i biblioteki
libavcodec
w głównym katalogu źródłowym OpenZaurusa. Zawierają one najświeższe łatki
i pliki Makefile, służące do samodzielnej kompilacji
MPlayera z libavcodec.
Jeżeli potrzebujesz interfejsu GUI, możesz użyć xmms-embedded.
*BSDMPlayer działa na FreeBSD, OpenBSD, NetBSD,
BSD/OS i Darwinie. Dostępne są wersje portów/pkgsrc/fink/itp., które
prawdopodobnie są łatwiejsze w instalacji, niż kompilacja ze źródeł.
Do zbudowania MPlayera będziesz potrzebował
GNU make (gmake - rdzenne make BSD nie zadziała) i najnowszej wersji binutils.
Jeżeli MPlayer nie może znaleźć
/dev/cdrom lub /dev/dvd,
stwórz odpowiednie dowiązanie symboliczne:
ln -s /dev/twoje_urządzenie_cdrom /dev/cdrom
Aby używać bibliotek Win32 z MPlayerem, będziesz
potrzebował przekompilować jądro z opcją "USER_LDT"
(chyba, że używasz FreeBSD-CURRENT, tam jest domyślnie włączona).
FreeBSD
Jeżeli Twój procesor ma rozszerzenie SSE, przekompiluj jądro z opcją
"CPU_ENABLE_SSE" (wymagany FreeBSD-STABLE lub łaty na jądro).
OpenBSDZe względu na ograniczenia w różnych wersjach gas (GNU assemblera - przyp. tłumacza)
(dotyczące relokacji i MMX), będziesz musiał przeprowadzić kompilację w dwóch krokach:
Po pierwsze, upewnij się, że wersja nierdzenna występuje w zmiennej $PATH
i wykonaj gmake -k, a następnie upewnij się, że używana jest wersja rdzenna
i wykonaj gmake.
Powyższa metoda nie jest już potrzebna w OpenBSD 3.4.
Darwin
Zobacz rozdział Mac OS.
Sun SolarisMPlayer powinien działać na Solarisie 2.6 lub nowszym.
Na UltraSPARCach,
MPlayer korzysta z rozszerzenia
VIS (odpowiednik MMX), obecnie tylko w
libmpeg2,
libavo i
libavcodec,
ale nie w mp3lib. Możesz oglądać plik VOB na
procesorze z taktowaniem 400MHz. Będziesz potrzebował do tego biblioteki
mLib.
Aby zbudować pakiet, będziesz potrzebował GNU make
(gmake, /opt/sfw/gmake), rdzenne make
Solarisa nie zadziała. Typowy błąd jaki otrzymujesz, budując tym drugim zamiast GNU
make, to:
% /usr/ccs/bin/make
make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
W Solarisie przeznaczonym dla SPARC, potrzebujesz kompilatora GNU C/C++; nie ma
znaczenia, czy jest on skonfigurowany z, czy bez GNU assemblera.
Na Solarisie x86, potrzebujesz GNU assemblera i kompilatora GNU C/C++,
skonfigurowanego do używania GNU assemblera! Kod
MPlayera, na platformie x86, w znaczący sposób korzysta
z instrukcji MMX, SSE i 3DNOW!, które nie mogą być skompilowane przy pomocy
assemblera Sun /usr/ccs/bin/as.
Skrypt configure stara się określić, jaki assembler
wywoływany jest przez komendę "gcc" (jeżeli próba zakończy się fiaskiem,
użyj opcji ,
żeby określić gdzie skrypt configure może znaleźć GNU "as" w Twoim
systemie).
Błąd jaki wyświetli configure na Solarisie x86, używającym GCC
bez GNU assemblera:
% configure
...
Checking assembler (/usr/ccs/bin/as) ... , failed
Please upgrade(downgrade) binutils to 2.10.1...
(Rozwiązanie: Zainstaluj i używaj gcc skonfigurowanego z opcją )
Typowy błąd, jaki otrzymasz przy próbie budowy kompilatorem GNU C, który nie używa 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 ...
Ze względu na błędy występujące w Solarisie 8, możesz nie być w stanie odtwarzać płyt DVD
o pojemności większej niż 4 GB:
Sterownik sd(7D) dla Solarisa 8 x86 ma błąd ujawniający się przy próbie dostępu do
bloku dyskowego >4GB urządzenia korzystającego z logicznego rozmiaru bloku !=DEV_BSIZE
(np. nośnik CD-ROM i DVD). Ze względu na przepełnienie 32bitowych liczb całkowitych,
odczytywany jest adres dysku modulo 4GB
().
Ten problem nie występuje na Solarisie 8 przeznaczonym dla procesorów SPARC.
Podobny błąd występuje w kodzie systemu plików hsfs(7FS) (znanym jako ISO9660),
hsfs może nie obsługiwać partycji/dysków większych niż 4GB, wszystkie dane są
odczytywane z bloku modulo 4GB
().
Problem może być rozwiązany przy pomocy łatki 109764-04 (sparc) / 109765-04 (x86).
Silicon Graphics Irix
Możesz albo spróbować zainstalować program GNU install i (jeżeli nie
umieściłeś go w globalnej ścieżce) wskazać go przez:
./configure --with-install=
/ścieżka/i/nazwa/programu/instalacyjnego
Albo użyć domyślnego programu instalacyjnego dostarczonego z IRIX 6.5, w tym
wypadku należy ręcznie zmodyfikować plik Makefile w
kilku miejscach. Zmień poniższe dwie linijki:
$(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
$(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
na:
$(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
$(INSTALL) -m 644 codecs.conf $(CONFDIR)/
A potem wykonaj (w katalogu źródłowym MPlayera):
cp DOCS/mplayer.1 . ; cp etc/codecs.conf .
i dalej skompiluj i zainstaluj.
HP-UX
Joe Page umieścił na swojej stronie domowej
dokument
HOWTO stworzony przez Martina Gansser'a dotyczący MPlayera
na HP-UX. Korzystając z zawartych tam intrukcji program powinien się skompilować bez
najmniejszych problemów. Poniższe informacje są zaczerpnięte z tego opracowania.
Do budowy będziesz potrzebował GCC 3.4.0, GNU make 3.80, i SDL 1.2.7 lub ich
nowszych wersji. Kompilator HP cc nie wyprodukuje działającego programu,
a wcześniejsze wersje GCC są pełne błędów.
Aby moć skorzystać z OpenGL, musisz zainstalować biblioteki Mesa, wtedy
sterowniki wyjścia video gl i gl2 powinny działać. Ich wydajność może być
tragiczna, jednak zależne jest to od mocy obliczeniowej procesora. Dobrym
zamiennikiem, raczej kiepskiego, systemu dźwiękowego HP-UX jest GNU esound.
Stwórz urządzenie DVD, przeskanuj magistralę SCSI komendą:
# 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.2.0 sdisk CLAIMED DEVICE PIONEER DVD-ROM DVD-305
/dev/dsk/c1t2d0 /dev/rdsk/c1t2d0
target 4 8/16/5.7 tgt CLAIMED DEVICE
ctl 1 8/16/5.7.0 sctl CLAIMED DEVICE Initiator
/dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
...
Z rezultatów działania komendy możemy odczytać, że na adresie 2 SCSI znajduje
się Pioneer DVD-ROM. Instancja karty dla ścieżki sprzętowej 8/16 to 1.
Stwórz dowiązanie surowego urządzenia do urządzenia DVD.
# ln -s /dev/rdsk/c<instancja magistrali SCSI>t<ID docelowego SCSI>d<LUN> /dev/<urządzenie>
Przykład:
# ln -s /dev/rdsk/c1t2d0 /dev/dvd
Poniżej znajdują się rozwiązania kilku najczęstszych problemów:
Wysypanie się programu przy uruchamianiu z komunikatem błędu:
/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl
Oznacza to, że funkcja .finite(). jest niedostępna
w standardowej bibliotece math HP-UX.
Zamiast niej dostępna jest .isfinite()..
Rozwiązanie: Skorzystaj z najnowszego pliku składowego Mesa.
Wysypanie się programu przy odtwarzaniu z komunikatem:
/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0
Rozwiązanie: Skorzystaj z opcji extralibdir skryptu configure
MPlayer powoduje błąd naruszenia ochrony pamięci (segfault) z komunikatem:
Pid 10166 received a SIGSEGV for stack growth failure.
Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz.
Segmentation fault
Rozwiazanie:
Jądro HP-UX ma domyślnie zdefiniowany rozmiar stosu przeznaczonego na każdy
proces i jest to 8MB(?).(11.0 i nowsze łatki 10.20 pozwalają Ci zwiększyć
parametr maxssiz do 350MB dla 32-bitowych programów).
Musisz rozszerzyć maxssiz i przekompilować jądro
(i uruchomić ponownie komputer). Możesz wykorzystać do tego celu SAM. (Kiedy
w nim będziesz, sprawdź wartość maxdsiz. Określa ona
maksymalny rozmiar danych, jaką program może użyć. To czy domyślne 64MB wystarczy
czy nie, zależy wyłącznie od wymagań Twoich aplikacji.)
QNX
Działa. Będziesz musiał ściągnąć bibliotekę SDL dla QNX i zainstalować ją. Wtedy
uruchom MPlayera a opcją
i , powinno działać szybko.
Wyjście będzie nawet wolniejsze niż na Linuksie,
ponieważ QNX ma tylko emulację Xów, która jest bardzo
wolna. Używaj SDL.
WindowsTak, MPlayer działa na Windowsie pod
Cygwinem i
MinGW.
Nie ma jeszcze interfejsu GUI, ale wersja dla wiersza poleceń jest już prawie w pełni
funkcjonalna. Łatki są zawsze mile widziane.
Powinieneś sprawdzić listę
mplayer-cygwin,
aby uzyskać pomoc albo otrzymać najnowsze informacje.Najlepsze wyniki są osiągane ze sterownikami wyjściowymi video DirectX
() i rdzennym wyjściem dźwiękowym wave Windows
(). Możesz skorzystać również z OpenGL lub SDL, jednak
wydajność OpenGL w znacznym stopniu zależy od systemu, a SDL może powodować powstanie
zakłóceń w dźwięku i obrazie albo wywołać błąd, i zakończyć działanie programu.
Jeżeli występują zakłócenia obrazu, spróbuj
wyłączyć sprzętową akcelerację przez opcję . Ściągnij
pliki
nagłówkowe DirectX 7, żeby skompilować sterownik do wyjścia video
DirectX. Co więcej, musisz mieć zainstalowany DirectX 7 lub nowszy,
aby to wyjście zadziałało.VIDIX działa teraz również pod Windowsem jako
, chociaż jego obsługa jest eksperymentalna i wymaga
trochę ręcznego przygotowania. Pobierz
dhahelper.sys
lub
dhahelper.sys
(z obsługą MTRR)
i skopiuj go do
libdha/dhahelperwin w drzewie źródłowym
MPlayera. Uruchom konsolę, następnie przejdź do tego katalogu i wykonaj
gcc -o dhasetup.exe dhasetup.c
i
dhasetup.exe install
jako Administrator. Będziesz musiał ponownie uruchomić komputer. Teraz, skopiuj wszystkie pliki
z rozszerzeniem .so z katalogu
vidix/drivers do
mplayer/vidix
względem położnia pliku mplayer.exe.Dla osiągnięcia najlepszych wyników MPlayer powinien
korzystać z przestrzeni kolorów, którą Twoja karta wspiera sprzętowo. Niestety
wiele sterowników graficznych Windowsa źle informuje o wspieranych przez kartę
przestrzeniach. Aby sprawdzić które są źle obsługiwane, wykonaj poniższą komendę:
mplayer -benchmark -nosound -frames 100 -vf format=przestrzeńfilm
gdzie przestrzeń może być jakąkolwiek
wartością spośród tych uzyskanych przez opcję .
Jeśli, któraś z nich działa szczególnie źle, opcja
zapobiegnie jej używaniu. Możesz to na stałe dodać do Twojego pliku konfiguracyjnego.Możesz wykorzystać kodeki Win32 i Real dla Win32 (nie kodeki Real dla Linuksa),
jeżeli chcesz. Umieść je gdzieś w swojej
ścieżce (zmienna PATH - przyp. tłumacza) albo użyj opcji
(lub
tylko na
Cygwin) dla configure.
Mieliśmy doniesienia, że biblioteki Real muszą być zapisywalne dla użytkownika,
który korzysta z MPlayera, ale tylko na niektórych
systemach. Spróbuj nadać im atrybut zapisywalności, jeżeli napotkasz jakieś problemy.
Biblioteki DLL QuickTime również działają, ale będzisz musiał je umieścić
w katalogu systemowym Windows
(C:\Windows\system\).Możesz odtwarzać VCD, odtwarzając pliki .DAT lub .MPG,
które Windows pokazuje na VCD. To działa mniej więcej tak (dopasuj literę dysku do Twojego
CD-ROMu):mplayer d:/mpegav/avseq01.datDVD również działa, podaj literę Twojego DVD-ROMu przez
opcję :mplayer dvd://<tytuł> -dvd-device d:Konsola Cygwin/MinGW
jest raczej wolna. Przekierowywanie wyjścia albo używanie
opcji zgłoszono jako poprawiające wydajność na
niektórych systemach. Bezpośrednie renderowanie () również
może pomóc. Możesz zapobiec migotaniu OSD, włączając podwójne buforowanie
opcją . Jeżeli odtwarzanie jest nierówne, spróbuj użyć
. Jeżeli którakolwiek z tych opcji Ci pomogła,
może będziesz chciał umieścić ją w swoim pliku konfiguracyjnym.Sascha Sommer wydaje, od czasu do czasu, oficjalne paczki dla Windowsa,
Joey Parrish tworzy nieoficjalne paczki z instalatorem.
Poszukaj ich w sekcji Windows
na stronie
naszych projektów.CygwinAby skompilować MPlayera wymagana jest wersja
Cygwina 1.5.0 lub późniejsza.Pliki nagłówkowe DirectX muszą być rozpakowane do
/usr/include/ lub
/usr/local/include/.Instrukcje i pliki potrzebne do kompilacji SDLa dla Cygwin
są dostępne na
stronie libsdl.MinGWZainstalowanie MinGW, który umożliwiłby
kompilację MPlayera było zawiłe,
ale teraz składa się tylko z trzech prostych kroków i niedługo powinno
działać "prosto z pudełka". Zainstaluj MinGW
3.0.0 lub nowszy. Zainstaluj MSYS 1.0.9 lub nowszy i wskaż systemowi poinstalacyjnemu
MSYSa, że MinGW jest zainstalowane.Rozpakuj pliki nagłówkowe DirectX do /mingw/include/.Do obsługi skompresowanych nagłówków MOV wymagana jest biblioteka
zlib, która nie jest
domyślnie dostępna w MinGW.
Skonfiguruj ją z opcją i zainstaluj
przed kompilacją MPlayera.Mac OS
"Surowe" źródła MPlayera obsługują
tylko Mac OS X w wersjach 10.2 i wyższych. Możesz spróbować umożliwić
obsługę starszych wersji Mac OS oraz przysłać nam łaty!
Zmodyfikowane GCC 3.X Apple jest zalecane do kompilacji
MPlayera, szczególnie z
libavcodec, ponieważ
ich zmodyfikowane GCC 2.95.x nie obsługuje poprawnie składni C99.
Możesz pobrać Aqua GUI dla MPlayera razem z
jego skompilowanymi binariami dla Mac OS X ze strony projektu
MPlayerOSX.
Amiga/MorphOS (zabawki dla zapaleńców)
Nicholas Det at Genesi stworzył potężny port MPlayera
dla MorphOS. Niestety oparty jest on o serię 0.90.
Pobierz go z MorphZone:
pakiet binarny MPlayer 0.91
źródła MPlayera 0.91
pakiet binarny MEncodera 1.0pre3