Porty Linux 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. ARM MPlayer 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. *BSD MPlayer 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). OpenBSD Ze 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 Solaris MPlayer 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. Windows Tak, 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.dat DVD 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. <application>Cygwin</application> Aby 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. <application>MinGW</application> Zainstalowanie 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