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ższe polecenie 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 RPM
MPlayera dla Red Hata i Fedora Core.
Są one dostępne w jego
repozytorium.
RPMy dla Mandrake/Mandriva 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.
Możesz skorzystać ze sterownika dźwięku SUN'a podająć opcję .
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 oficjalnego interfejsu GUI, ale wersja dla wiersza poleceń jest już w pełni
funkcjonalna. Powinieneś sprawdzić listę
MPlayer-cygwin,
aby uzyskać pomoc albo otrzymać najnowsze informacje.
Oficjalne paczki z binariami dla Windowsa znajdziesz na
stronie pobierania.
Pakiety zawierające instalatory i proste nakładki GUI dostępne są z zewnętrznych
źródeł, informacje o nich zebraliśmy w sekcji poświęconej Windowsowi na
stronie projektów.
Jeżeli chcesz uniknąć korzystania z wiersza poleceń, prostym sposobem
na jego ominięcie jest umieszczenie skrótu na pulpicie, który będzie
zawierał podobny wpis w części odpowiedzialnej za wykonanie
komendy:
c:\ścieżka\do\mplayer.exe %1
Spowoduje to, że MPlayer będzie odtwarzał
film, który zostanie przeciągnięty na jego skrót. Dodaj opcję
, aby korzystać z trybu pełnoekranowego.
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.Żeby osiągnąć najlepsze wyniki MPlayer powinien
korzystać z przestrzeni kolorów, którą Twoja karta wspomaga sprzętowo. Niestety
wiele sterowników graficznych Windowsa źle informuje o obsługiwanych 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.Dostępne są specjalne zbiory z kodekami przeznaczone dla systemu Windows, znajdziesz je na
stronie kodeków.
Pozwolą Ci one na odtwarzanie formatów, które nie są jeszcze bezpośrednio obsługiwane w
MPlayerze. Umieść je, gdzieś w swojej ścieżce (w katalogu podanym w
zmiennej PATH - przyp. tłumacza) lub przekaż opcję
(lub, tylko w środowkisku Cygwin,
)
do skryptu configure.
Mieliśmy doniesienia, że biblioteki Real, muszą być zapisywalne dla użytkownika, który
uruchamia MPlayera, ale tylko na niektórych systemach (NT4).
Spróbuj nadać im atrybut zapisywalności.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. Zgłoszono, że przekierowywanie wyjścia albo używanie
opcji poprawia 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.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.Pełną instrukcję jak zbudować MPlayera
i wszystkie potrzebne biblioteki znajdziesz w
MPlayer MinGW HOWTO.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!
MPlayer powinien skompilować się bez problemu
na systemie Mac OS X 10.2 i wyższym. Zalecanym kompilatorem jest GCC 3.x w wersji
Apple, jeżeli masz Mac OS X 10.3.9 lub późniejszy i QuickTime 7, możesz
skorzystać z wyjścia video macosx.
MPlayer OS X
Możesz pobrać natywne GUI dla MPlayera razem
z prekompilowanymi binariami MPlayera dla
Mac OS X ze strony projektu
MPlayerOSX, ale uwaga:
projekt nie jest już aktywny.
Na szczęście, MPlayerOSX został przejęty
przez członka załogi MPlayera.
Wersje testowe są dostępne na stronie z
materiałami do
pobrania, a oficjalne wydanie powinno pojawić się już
niedługo.
Aby zbudować MPlayerOSX bezpośrednio
ze źródeł, potrzebujesz modułu mplayerosx,
main i kopii modułu CVS
main o nazwie
main_noaltivec.
mplayerosx to graficzna nakładka,
main to MPlayer, a
main_noaltivec to MPlayer zbudowany bez obsługi
AltiVec.
Aby pobrać moduł z repozytorium CVS wykonaj polecenia:
cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/mplayer login
cvs -z3 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/mplayer co -P mplayerosx
W celu zbudowania MPlayerOSX będziesz musiał
utowrzyć podobną strukturę katalogów:
katalog_źródłowy_MPlayera
|
|--->main (źródła MPlayera z CVS)
|
|--->main_noaltivec (źródła MPlayera z CVS skonfigurowane z opcją --disable-altivec)
|
|--->mplayerosx (źródła MPlayer OS X z CVS)
Najpierw musisz zbudować main i main_noaltivec.
Następnie ustaw globalną zmienną:
export MACOSX_DEPLOYMENT_TARGET=10.3
Potem skonfiguruj:
Jeżeli konfigurujesz dla maszyny G4 lub lepszej z obsługą AltiVec,
postępuj jak poniżej:
./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11
Jeżeli konfigurujesz dla maszyny z procesorem G3 bez AltiVec,
postępuj jak ponieżej:
./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11
--disable-altivec
Być może będziesz musiał wyedytować plik config.mak
i zmienić wartości -mcpu-mtune z -74XX na
-G3.
Następnie wykonaj
make
przejdź do katalogu mplayerosx i wpisz
make dist
Zostanie utworzony skompresowany obraz .dmg
zawierający gotowy do uruchomienia program.
Możes również skorzystać z projektu Xcode 2.1;
stary projekt dla Xcode 1.x już nie działa.
Amiga/MorphOS (zabawki dla zapaleńców)
Ludzie z www.amigasoft.net
tworzą aktualne paczki z MPlayerem i
MEncoderem.
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