Mercurial > mplayer.hg
view DOCS/xml/pl/ports.xml @ 33263:5f527a9a9521
Add an exit function.
This function will allow performing clean-up operations.
(MPlayer calls guiDone() before exiting, but only if the GUI has been
initialized, i.e. if guiInit() has been called successfully. Any
exit_player()/exit_player_with_rc() after GUI's cfg_read() until
guiInit(), or any exit_player() during guiInit() itself will end the GUI
without calling guiDone(). This exit function will at least handle
abortions during guiInit() itself. It will be called twice in case of an
guiExit() after GUI initialization - first directly, next by guiDone()
via MPlayer's exit_player_with_rc().)
author | ib |
---|---|
date | Tue, 03 May 2011 12:19:22 +0000 |
parents | 4a354cdcf847 |
children |
line wrap: on
line source
<?xml version="1.0" encoding="utf-8"?> <!-- synced with r18923 --> <!-- Opiekun: brak (spadek po Paszczim); chwilowo boski --> <chapter id="ports" xreflabel="Ports"> <title>Porty</title> <sect1 id="linux"> <title>Linux</title> <para> Główną platformą rozwojową jest Linux x86, chociaż <application>MPlayer</application> pracuje również na wielu innych portach tego systemu. Pakiety binarne są dostępne z kilku źródeł, jednakże <emphasis role="bold">żaden z nich nie jest przez nas obsługiwany</emphasis>. Zgłaszaj problemy do ich opiekunów, a nie do nas. </para> <sect2 id="debian"> <title>Pakiety Debiana</title> <para> Aby zbudować pakiet dla Debiana, wywołaj poniższe polecenie w katalogu ze źródłami <application>MPlayera</application>: <screen>fakeroot debian/rules binary</screen> Jeśli chcesz przekazać własne opcje do skryptu configure, możesz ustawić zmienną środowiskową <envar>DEB_BUILD_OPTIONS</envar>. Na przykład, jeśli chcesz obsługi menu i GUI, wyglądało by to tak: <screen>DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary</screen> 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: <screen>CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary</screen> Aby wyczyściś katalog ze źródłami wykonaj poniższa komendę: <screen>fakeroot debian/rules clean</screen> Jako superużytkownik możesz zainstalować pakiet <filename>.deb</filename> tak, jak zwykle: <screen>dpkg -i ../mplayer_<replaceable>wersja</replaceable>.deb</screen> </para> <para> Christian Marillat buduje dla Debiana nieoficjalne paczki <application>MPlayera</application>, <application>MEncodera</application> i naszych czcionek bitmapowych już od jakiegoś czasu, możesz je pobrać (apt-get) z <ulink url="http://www.debian-multimedia.org/">jego strony domowej</ulink>. </para> </sect2> <sect2 id="rpm"> <title>Pakiety RPM</title> <para> Dominik Mierzejewski opiekuje się oficjalnymi pakietami RPM <application>MPlayera</application> dla Fedora Core. Są one dostępne w <ulink url="http://rpm.livna.org/">repozytorium Livna</ulink>. </para> <para> RPMy dla Mandrake/Mandriva są dostępne na <ulink url="http://plf.zarb.org/">P.L.F.</ulink>. SuSE zawierał okrojoną wersję <application>MPlayera</application> w dystrybucji. Usunęli ją w swoich najnowszych wydaniach. W pełni funkcjonalne pakiety możesz pobrać z <ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>. </para> </sect2> <sect2 id="arm"> <title>ARM</title> <para> <application>MPlayer</application> działa również na PDA z procesorami ARM działających pod kontrolą Linuksa, np. Sharp Zaurus, Compaq iPAQ. Najprostszym sposobem, żeby uzyskać <application>MPlayera</application>, jest pobranie go z odpowiedniego źródła pakietów (stable, testing, unstable) z witryny <ulink url="http://www.openzaurus.org">OpenZaurus</ulink>. Jeżeli chcesz go skompilować samodzielnie, powinieneś przyjrzeć się katalogom <ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayera</ulink> i biblioteki <ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink> w głównym katalogu źródłowym OpenZaurusa. Zawierają one najświeższe łatki i pliki Makefile, służące do samodzielnej kompilacji <application>MPlayera</application> z <systemitem class="library">libavcodec</systemitem>. Jeżeli potrzebujesz interfejsu GUI, możesz użyć xmms-embedded. </para> </sect2> </sect1> <sect1 id="bsd"> <title>*BSD</title> <para> <application>MPlayer</application> 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ł. </para> <para> Do zbudowania <application>MPlayera</application> będziesz potrzebował GNU make (gmake - rdzenne make BSD nie zadziała) i najnowszej wersji binutils. </para> <para> Jeżeli <application>MPlayer</application> nie może znaleźć <filename>/dev/cdrom</filename> lub <filename>/dev/dvd</filename>, stwórz odpowiednie dowiązanie symboliczne: <screen>ln -s /dev/<replaceable>twoje_urządzenie_cdrom</replaceable> /dev/cdrom</screen> </para> <para> Aby używać bibliotek Win32 z <application>MPlayerem</application>, będziesz potrzebował przekompilować jądro z opcją "<envar>USER_LDT</envar>" (chyba, że używasz FreeBSD-CURRENT, tam jest domyślnie włączona). </para> <sect2 id="freebsd"> <title>FreeBSD</title> <para> Jeżeli Twój procesor ma rozszerzenie SSE, przekompiluj jądro z opcją "<envar>CPU_ENABLE_SSE</envar>" (wymagany FreeBSD-STABLE lub łaty na jądro). </para> </sect2> <sect2 id="openbsd"> <title>OpenBSD</title> <para>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 <envar>$PATH</envar> i wykonaj <command>gmake -k</command>, a następnie upewnij się, że używana jest wersja rdzenna i wykonaj <command>gmake</command>. </para> <para> Powyższa metoda nie jest już potrzebna w OpenBSD 3.4. </para> </sect2> <sect2 id="darwin"> <title>Darwin</title> <para> Zobacz rozdział <link linkend="macos">Mac OS</link>. </para> </sect2> </sect1> <sect1 id="unix"> <title>Komercyjny Unix</title> <para> <application>MPlayer</application> został przeportowany na wiele komercyjnych wariantów Uniksa. Jako, że środowiska programistyczne przeważnie różnią się od tych znajdowanych w wolnych Uniksach, być może będziesz musiał wprowadzić ręczne poprawki, aby program skompilował się poprawnie. </para> <sect2 id="solaris"> <title>Solaris</title> <para> <application>MPlayer</application> powinien działać na Solarisie 2.6 lub nowszym. Możesz skorzystać ze sterownika dźwięku SUN'a podająć opcję <option>-ao sun</option>. </para> <para> Na <emphasis role="bold">UltraSPARCach</emphasis>, <application>MPlayer</application> korzysta z rozszerzenia <emphasis role="bold">VIS</emphasis> (odpowiednik MMX), obecnie tylko w <emphasis><systemitem class="library">libmpeg2</systemitem></emphasis>, <emphasis><systemitem class="library">libavo</systemitem></emphasis> i <emphasis><systemitem class="library">libavcodec</systemitem></emphasis>, ale nie w <systemitem class="library">mp3lib</systemitem>. Możesz oglądać plik VOB na procesorze z taktowaniem 400MHz. Będziesz potrzebował do tego biblioteki <ulink url="http://www.sun.com/sparc/vis/mediaLib.html"> <systemitem class="library">mLib</systemitem></ulink>. </para> <para><emphasis role="bold">Caveat:</emphasis></para> <itemizedlist> <listitem><para><emphasis role="bold">mediaLib</emphasis> jest <emphasis role="bold">aktualnie wyłączone</emphasis> w domyślnej konfiguracji <application>MPlayera</application>, z powodu błędów. Użytkownicy SPARC-ów, którzy budują MPlayera z obsługą mediaLib informowali o delikatnym, zielonymi miganiu wideo kodowane i dekodowanego przez libavcodec. Możesz włączyć mediaLib, jeżeli chcesz używając: <screen> $ ./configure --enable-mlib </screen> Robisz to na własne ryzyko. Użytkownicy x86 powinni <emphasis role="bold">nigdy</emphasis> nie używać mediaLib, ponieważ w efekcie otrzymają kiepską wydajność MPlayera. </para></listitem> </itemizedlist> <para> Aby zbudować pakiet, będziesz potrzebował GNU <application>make</application> (<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), rdzenne make Solarisa nie zadziała. Typowy błąd jaki otrzymujesz, budując tym drugim zamiast GNU make, to: <screen> % /usr/ccs/bin/make make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen </screen> </para> <para> W Solarisie przeznaczonym dla SPARC, potrzebujesz kompilatora GNU C/C++; nie ma znaczenia, czy jest on skonfigurowany z, czy bez GNU assemblera. </para> <para> Na Solarisie x86, potrzebujesz GNU assemblera i kompilatora GNU C/C++, skonfigurowanego do używania GNU assemblera! Kod <application>MPlayera</application>, 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 <filename>/usr/ccs/bin/as</filename>. </para> <para> Skrypt <filename>configure</filename> stara się określić, jaki assembler wywoływany jest przez komendę "gcc" (jeżeli próba zakończy się fiaskiem, użyj opcji <option>--as=<replaceable>/gdziekolwiek/zainstalowałeś/gnu-as</replaceable></option>, żeby określić gdzie skrypt <filename>configure</filename> może znaleźć GNU "as" w Twoim systemie). </para> <para>Rozwiązania najczęstszych problemów:</para> <itemizedlist> <listitem><para> Błąd jaki wyświetli <filename>configure</filename> na Solarisie x86, używającym GCC bez GNU assemblera: <screen> % configure ... Checking assembler (/usr/ccs/bin/as) ... , failed Please upgrade(downgrade) binutils to 2.10.1... </screen> (Rozwiązanie: Zainstaluj i używaj gcc skonfigurowanego z opcją <option>--with-as=gas</option>) </para> <para> Typowy błąd, jaki otrzymasz przy próbie budowy kompilatorem GNU C, który nie używa GNU as: <screen> % 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 ... </screen> </para> </listitem> <listitem><para><application>MPlayer</application> może się wysypać podczas dekodowania i kodowania wideo używających win32codecs: <screen> ... Trying to force audio codec driver family acm... Opening audio decoder: [acm] Win32/ACM decoders sysi86(SI86DSCR): Invalid argument Couldn't install fs segment, expect segfault MPlayer interrupted by signal 11 in module: init_audio_codec ... </screen> Dzieje się tak z powodu zmian w sysi86() w Solaris 10 i wydaniach pre-Solaris Nevada b31. Zostało to naprawione w Solaris Nevada b32; jednak Sun nie przeniósł jeszcze poprawki do Solarisa 10. Projekt MPlayer poinformował o tym problemie Sun i łatka jest aktualnie wprowadzana do Solarisa 10. Więcej informacji o tym błędzie może zostać znaleziona na stronie: <ulink url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>. </para> </listitem> <listitem><para> 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: </para> <itemizedlist> <listitem><para> 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 (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>). Ten problem nie występuje na Solarisie 8 przeznaczonym dla procesorów SPARC. </para></listitem> <listitem><para> 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 (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>). Problem może być rozwiązany przy pomocy łatki 109764-04 (sparc) / 109765-04 (x86). </para></listitem> </itemizedlist> </listitem> </itemizedlist> </sect2> <sect2 id="hp-ux"> <title>HP-UX</title> <para> Joe Page umieścił na swojej stronie domowej <ulink url="http://users.rcn.com/joepage/mplayer_on_hpux11.htm">dokument HOWTO</ulink> stworzony przez Martina Gansser'a dotyczący <application>MPlayera</application> 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. </para> <para> 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. </para> <para> Stwórz urządzenie DVD, przeskanuj magistralę SCSI komendą: </para> <screen> # 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.<emphasis role="bold">2</emphasis>.<emphasis role="bold">0</emphasis> sdisk CLAIMED DEVICE <emphasis role="bold">PIONEER DVD-ROM DVD-305</emphasis> /dev/dsk/c1t2d0 <emphasis role="bold">/dev/rdsk/c1t2d0</emphasis> target 4 8/16/5.7 tgt CLAIMED DEVICE ctl <emphasis role="bold">1</emphasis> 8/16/5.7.0 sctl CLAIMED DEVICE Initiator /dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0 ... </screen> <para> 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. </para> <para> Stwórz dowiązanie surowego urządzenia do urządzenia DVD. </para> <screen> # ln -s /dev/rdsk/c<replaceable><instancja magistrali SCSI></replaceable>t<replaceable><ID docelowego SCSI></replaceable>d<replaceable><LUN></replaceable> /dev/<replaceable><urządzenie></replaceable> </screen> <para> Przykład: </para> <screen> # ln -s /dev/rdsk/c1t2d0 /dev/dvd </screen> <para> Poniżej znajdują się rozwiązania kilku najczęstszych problemów: </para> <itemizedlist> <listitem> <para> Wysypanie się programu przy uruchamianiu z komunikatem błędu: <screen> /usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl </screen> </para> <para> Oznacza to, że funkcja <systemitem>.finite().</systemitem> jest niedostępna w standardowej bibliotece math HP-UX. Zamiast niej dostępna jest <systemitem>.isfinite().</systemitem>. Rozwiązanie: Skorzystaj z najnowszego pliku składowego Mesa. </para> </listitem> <listitem> <para> Wysypanie się programu przy odtwarzaniu z komunikatem: <screen> /usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0 </screen> </para> <para> Rozwiązanie: Skorzystaj z opcji extralibdir skryptu configure <option>--extra-ldflags="/usr/lib -lrt"</option> </para> </listitem> <listitem> <para> MPlayer powoduje błąd naruszenia ochrony pamięci (segfault) z komunikatem: <screen> Pid 10166 received a SIGSEGV for stack growth failure. Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz. Segmentation fault </screen> </para> <para> 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 <systemitem>maxssiz</systemitem> do 350MB dla 32-bitowych programów). Musisz rozszerzyć <systemitem>maxssiz</systemitem> i przekompilować jądro (i uruchomić ponownie komputer). Możesz wykorzystać do tego celu SAM. (Kiedy w nim będziesz, sprawdź wartość <systemitem>maxdsiz</systemitem>. 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.) </para> </listitem> </itemizedlist> </sect2> <sect2 id="aix"> <title>AIX</title> <para> <application>MPlayer</application> kompiluje się z powodzenie na AIX 5.1, 5.2 i 5.3, korzystając z GCC 3.3 lub wyższego. Budowanie <application>MPlayer</application> na AIX 4.3.3 i niższych nie było sprawdzane. Zaleca się, abyś budowal <application>MPlayera</application> używając GCC 3.4 lub wyższego lub jeżeli kompilujesz na POWER5 - GCC 4.0. </para> <para> Upenij się, że używasz GNU make (<filename>/opt/freeware/bin/gmake</filename>), aby kompilować <application>MPlayera</application>, jako że możesz napotkać na problemy przy korzystaniu z <filename>/usr/ccs/bin/make</filename>. </para> <para> Wykrywanie CPU jest ciągle dopracowywane. Poniższe architektury zostały przetestowane: </para> <itemizedlist> <listitem><para>604e</para></listitem> <listitem><para>POWER3</para></listitem> <listitem><para>POWER4</para></listitem> </itemizedlist> <para> Poniższe architektury nie były testowane, ale i tak powinny działać: </para> <itemizedlist> <listitem><para>POWER</para></listitem> <listitem><para>POWER2</para></listitem> <listitem><para>POWER5</para></listitem> </itemizedlist> <para> Dźwięk przez Ultimedia Services nie jest obsługiwany, jako że ta technologia została porzucona w AIX 5.1; dlatego też, jedynym wyjściem jest korzystanie ze sterowników AIX Open Sound System (OSS) tworzonych przez 4Front Technologies, znajdziesz je na <ulink url="http://www.opensound.com/aix.html">http://www.opensound.com/aix.html </ulink>. 4Front Technologies udostępnia swoje sterowniki OSS za darmo do niekomercyjnego zastosowania; jednakże, nie ma aktualnie sterowników wyjścia audio dla AIX 5.2 lub 5.3. Oznacza to, że <emphasis role="bold">AIX 5.2 i 5.3 nie potrafią aktualnie używać wyjścia audio MPlayera.</emphasis> </para> <para>Rozwiązania częstych problemów:</para> <itemizedlist> <listitem> <para> Jeżeli otrzymujesz od <filename>configure</filename> taki komunikat błędu: <screen> $ ./configure ... Checking for iconv program ... no No working iconv program found, use --charset=US-ASCII to continue anyway. Messages in the GTK-2 interface will be broken then. </screen> To dzieje się tak dlatego, że AIX używa nie standardowych zestawów nazw znaków; dlatego też, konwersja wyjścia MPlayera do innego zestawu znaków (kodowania) nie jest aktualnie obsługiwana. Rozwiązaniem jest użycie: <screen> $ ./configure --charset=noconv </screen> </para> </listitem> </itemizedlist> </sect2> <sect2 id="qnx"> <title>QNX</title> <para> Będziesz musiał ściągnąć bibliotekę SDL dla QNX i zainstalować ją. Wtedy uruchom <application>MPlayera</application> z opcją <option>-vo sdl:driver=photon</option> i <option>-ao sdl:nto</option>, powinno działać szybko. </para> <para> Wyjście <option>-vo x11</option> będzie nawet wolniejsze niż na Linuksie, ponieważ QNX ma tylko <emphasis>emulację</emphasis> X'ów, która jest bardzo wolna. </para> </sect2> </sect1> <sect1 id="windows"> <title>Windows</title> <para>Tak, <application>MPlayer</application> działa na Windowsie pod <ulink url="http://www.cygwin.com/"><application>Cygwinem</application></ulink> i <ulink url="http://www.mingw.org/"><application>MinGW</application></ulink>. Nie ma jeszcze oficjalnego interfejsu GUI, ale wersja dla wiersza poleceń jest już w pełni funkcjonalna. Powinieneś sprawdzić listę <ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">MPlayer-cygwin</ulink>, aby uzyskać pomoc albo otrzymać najnowsze informacje. Oficjalne paczki z binariami dla Windowsa znajdziesz na <ulink url="http://www.mplayerhq.hu/design7/dload.html">stronie pobierania</ulink>. 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 <ulink url="http://www.mplayerhq.hu/design7/projects.html#windows">stronie projektów</ulink>. </para> <para>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: <screen><replaceable>c:\ścieżka\do\</replaceable>mplayer.exe %1</screen> Spowoduje to, że <application>MPlayer</application> będzie odtwarzał film, który zostanie przeciągnięty na jego skrót. Dodaj opcję <option>-fs</option>, aby korzystać z trybu pełnoekranowego. </para> <para>Najlepsze wyniki są osiągane ze sterownikami wyjściowymi video DirectX (<option>-vo directx</option>). 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 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ę <option>-vo directx:noaccel</option>. Ściągnij <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/dx7headers.tgz">pliki nagłówkowe DirectX 7</ulink>, ż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.</para> <para><link linkend="vidix">VIDIX</link> działa teraz również pod Windowsem jako <option>-vo winvidix</option>, chociaż jego obsługa jest eksperymentalna i wymaga trochę ręcznego przygotowania. Pobierz <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> lub <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (z obsługą MTRR)</ulink> i skopiuj go do <filename class="directory">libdha/dhahelperwin</filename> w drzewie źródłowym <application>MPlayera</application>. Uruchom konsolę, następnie przejdź do tego katalogu i wykonaj <screen>gcc -o dhasetup.exe dhasetup.c</screen> i <screen>dhasetup.exe install</screen> jako Administrator. Będziesz musiał ponownie uruchomić komputer. Teraz, skopiuj wszystkie pliki z rozszerzeniem <systemitem class="library">.so</systemitem> z katalogu <filename class="directory">vidix/drivers</filename> do <filename class="directory">mplayer/vidix</filename> względem położnia pliku <filename>mplayer.exe</filename>.</para> <para>Żeby osiągnąć najlepsze wyniki <application>MPlayer</application> 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ę: <screen>mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>przestrzeń</replaceable> <replaceable>film</replaceable></screen> gdzie <replaceable>przestrzeń</replaceable> może być jakąkolwiek wartością spośród tych uzyskanych przez opcję <option>-vf format=fmt=help</option>. Jeśli któraś z nich działa szczególnie źle, opcja <option>-vf noformat=<replaceable>przestrzeń</replaceable></option> zapobiegnie jej używaniu. Możesz to na stałe dodać do Twojego pliku konfiguracyjnego.</para> <para>Dostępne są specjalne zbiory z kodekami przeznaczone dla systemu Windows, znajdziesz je na <ulink url="http://mplayerhq.hu/design7/codecs.html">stronie kodeków</ulink>. Pozwolą Ci one na odtwarzanie formatów, które nie są jeszcze bezpośrednio obsługiwane w <application>MPlayerze</application>. Umieść je, gdzieś w swojej ścieżce (w katalogu podanym w zmiennej PATH - przyp. tłumacza) lub przekaż opcję <option>--codecsdir=<replaceable>c:/ścieżka/do/Twoich/kodeków</replaceable></option> (lub, tylko w środowkisku Cygwin, <option>--codecsdir=<replaceable>/ścieżka/do/Twoich/kodeków</replaceable></option>) do skryptu <filename>configure</filename>. Mieliśmy doniesienia, że biblioteki Real, muszą być zapisywalne dla użytkownika, który uruchamia <application>MPlayera</application>, ale tylko na niektórych systemach (NT4). Spróbuj nadać im atrybut zapisywalności.</para> <para>Możesz odtwarzać VCD, odtwarzając pliki <filename>.DAT</filename> lub <filename>.MPG</filename>, które Windows pokazuje na VCD. To działa mniej więcej tak (dopasuj literę dysku do Twojego CD-ROMu):</para> <screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen> <para>DVD również działa, podaj literę Twojego DVD-ROMu przez opcję <option>-dvd-device</option>:</para> <screen>mplayer dvd://<replaceable><tytuł></replaceable> -dvd-device <replaceable>d</replaceable>:</screen> <para>Konsola <application>Cygwin</application>/<application>MinGW</application> jest raczej wolna. Zgłoszono, że przekierowywanie wyjścia albo używanie opcji <option>-quiet</option> poprawia wydajność na niektórych systemach. Bezpośrednie renderowanie (<option>-dr</option>) również może pomóc. Jeżeli odtwarzanie jest nierówne, spróbuj użyć <option>-autosync 100</option>. Jeżeli którakolwiek z tych opcji Ci pomogła, może będziesz chciał umieścić ją w swoim pliku konfiguracyjnym.</para> <note> <para>Na Windowsie automatyczne wykrywanie typu procesora wyłącza rozszerzenie SSE z powodu okazjonalnych i ciężkich do wyśledzenia błędów powodujących zakończenie aplikacji. Jeżeli nadal chesz mieć obsługę SSE pod Windowsem, będziesz musiał skompilować program bez wykrywania typu CPU w trakcie działania. </para> <para>Jeżeli masz Pentium 4 i program wysypuje Ci się podczas używania kodeków RealPlayer'a, prawdopodobnie będziesz musiał wyłączyć obsługę hyperthreading'u. </para> </note> <sect2 id="cygwin"> <title><application>Cygwin</application></title> <para>Aby skompilować <application>MPlayera</application> wymagana jest wersja <application>Cygwina</application> 1.5.0 lub późniejsza.</para> <para>Pliki nagłówkowe DirectX muszą być rozpakowane do <filename class="directory">/usr/include/</filename> lub <filename class="directory">/usr/local/include/</filename>.</para> <para>Instrukcje i pliki potrzebne do kompilacji SDLa dla <application>Cygwin</application> są dostępne na <ulink url="http://www.libsdl.org/extras/win32/cygwin/">stronie libsdl</ulink>.</para> </sect2> <sect2 id="mingw"> <title><application>MinGW</application></title> <para>Zainstalowanie <application>MinGW</application>, który umożliwiłby kompilację <application>MPlayera</application> 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 <application>MinGW</application> 3.0.0 lub nowszy. Zainstaluj MSYS 1.0.9 lub nowszy i wskaż systemowi poinstalacyjnemu MSYSa, że <application>MinGW</application> jest zainstalowane.</para> <para>Rozpakuj pliki nagłówkowe DirectX do <filename class="directory">/mingw/include/</filename>.</para> <para>Do obsługi skompresowanych nagłówków MOV wymagana jest biblioteka <ulink url="http://www.gzip.org/zlib/">zlib</ulink>, która nie jest domyślnie dostępna w <application>MinGW</application>. Skonfiguruj ją z opcją <option>--prefix=/mingw</option> i zainstaluj przed kompilacją <application>MPlayera</application>.</para> <para>Pełną instrukcję jak zbudować <application>MPlayera</application> i wszystkie potrzebne biblioteki znajdziesz w <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/MPlayer-MinGW-Howto.txt">MPlayer MinGW HOWTO</ulink>.</para> </sect2> </sect1> <sect1 id="macos"> <title>Mac OS</title> <para> "Surowe" źródła <application>MPlayera</application> 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! <application>MPlayer</application> nie działa na Mac OS w wersjach niższych niż 10, jednak powinien skompilować się bez problemu na systemie Mac OS X 10.2 i wyższym. Zalecanym kompilatorem jest GCC 3.x w wersji Apple. Możesz otrzymać podstawowe środowisko do kompilacji, instalując <ulink url="http://developer.apple.com/tools/download/">Xcode</ulink> od Apple. Jeżeli masz Mac OS X 10.3.9 lub późniejszy i QuickTime 7, możesz skorzystać ze sterownika wyjścia video <option>corevideo</option>. </para> <para> Niestety, to podstawowe środowisko ni epozwoli ci na skorzystanie ze wszystkich fajnych możliwości <application>MPlayera</application>. Przykładowo, żeby uzyskać wkompilowaną obsługę OSD, będziesz potrzebował bibliotek <systemitem class="library">fontconfig</systemitem> i <systemitem class="library">freetype</systemitem> zainstalowanych na swojej maszynie. W przeciwieństwie do innych Uniksów, takich jak większość odmian Linuksa i BSD, OS X nie ma systemu pakietów dostarczanego razem z systemem. </para> <para> Można wybierać spośród co najmniej dwóch systemów pakietów: <ulink url="http://fink.sourceforge.net/">Fink</ulink> i <ulink url="http://darwinports.opendarwin.org/">DarwinPorts</ulink>.\ Oba dostarczają takie same usługi (np. dużo pakietów do wyboru, rozwiązywanie zależności, możliwość łatwego dodania/aktualizacji/usunięcia pakietów itp.). Fink oferuje zarówno binarne pakiety, jak i możliwość zbudowania wszystkiego ze źródeł. Natomiast DarwinPorts pozwala tylko na budowanie ze źródeł. Autorzy tego przewodnika wybrali DarwinPorts z powodu tej prostej przyczyny, że jego podstawowa wersja była lżejsza. Podane przykłady będą oparte na DarwinPorts. </para> <para> Przykładowo, żeby skomilować <application>MPlayera</application> z obsługą OSD: <screen>sudo port install pkgconfig</screen> Zainstaluje to <application>pkg-config</application>, który jest systemem do zarządzania flagami kompilacji/dowiązań bibliotek. <application>MPlayerowy</application> skrypt <systemitem>configure</systemitem>używa go do prawidłowego wykrywania bibliotek. Następnie możesz zainstalować <application>fontconfig</application> w podobny sposób: <screen>sudo port install fontconfig</screen> Następnie możesz uruchomić <application>MPlayerowy</application> skrypt <systemitem>configure</systemitem> (zapisz zmienne systemowe <systemitem>PKG_CONFIG_PATH</systemitem> i <systemitem>PATH</systemitem>, żeby <systemitem>configure</systemitem> znalazł biblioteki zainstalowane przez DarwinPorts): <screen>PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure</screen> </para> <sect2 id="osx_gui"> <title>MPlayer OS X GUI</title> <para> Możesz pobrać natywne GUI dla <application>MPlayera</application> razem z prekompilowanymi binariami <application>MPlayera</application> dla Mac OS X ze strony projektu <ulink url="http://mplayerosx.sf.net/">MPlayerOSX</ulink>, ale uwaga: projekt nie jest już aktywny. </para> <para> Na szczęście, <application>MPlayerOSX</application> został przejęty przez członka załogi <application>MPlayera</application>. Wersje testowe są dostępne na stronie z <ulink url="http://mplayerhq.hu/dload.html">materiałami do pobrania</ulink>, a oficjalne wydanie powinno pojawić się już niedługo. </para> <para> Aby zbudować <application>MPlayerOSX</application> bezpośrednio ze źródeł, potrzebujesz modułu <systemitem>mplayerosx</systemitem>, <systemitem>main</systemitem> i kopii modułu CVS <systemitem>main</systemitem> o nazwie <systemitem>main_noaltivec</systemitem>. <systemitem>mplayerosx</systemitem> to graficzna nakładka, <systemitem>main</systemitem> to MPlayer, a <systemitem>main_noaltivec</systemitem> to MPlayer zbudowany bez obsługi AltiVec. </para> <para> Aby pobrać moduł z repozytorium SVN wykonaj polecenia: <screen> svn checkout svn://svn.mplayerhq.hu/mplayerosx/trunk/ mplayerosx svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ main </screen> </para> <para> W celu zbudowania <application>MPlayerOSX</application> będziesz musiał utowrzyć podobną strukturę katalogów: <screen> katalog_źródłowy_MPlayera | |--->main (źródła MPlayera z Subversion) | |--->main_noaltivec (źródła MPlayera z Subversion skonfigurowane z opcją --disable-altivec) | |--->mplayerosx (źródła MPlayer OS X z Subversion) </screen> Najpierw musisz zbudować main i main_noaltivec. </para> <para> Następnie ustaw globalną zmienną: <screen>export MACOSX_DEPLOYMENT_TARGET=10.3</screen> </para> <para> Potem skonfiguruj: </para> <para> Jeżeli konfigurujesz dla maszyny G4 lub lepszej z obsługą AltiVec, postępuj jak poniżej: <screen> ./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11 </screen> Jeżeli konfigurujesz dla maszyny z procesorem G3 bez AltiVec, postępuj jak ponieżej: <screen> ./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11 --disable-altivec </screen> Być może będziesz musiał wyedytować plik <filename>config.mak</filename> i zmienić wartości <systemitem>-mcpu</systemitem> <systemitem>-mtune</systemitem> z <systemitem>-74XX</systemitem> na <systemitem>-G3</systemitem>. </para> <para> Następnie wykonaj <screen> make </screen> przejdź do katalogu mplayerosx i wpisz <screen> make dist </screen> Zostanie utworzony skompresowany obraz <systemitem>.dmg</systemitem> zawierający gotowy do uruchomienia program. </para> <para> Możes również skorzystać z projektu <application>Xcode</application> 2.1; stary projekt dla <application>Xcode</application> 1.x już nie działa. </para> </sect2> </sect1> </chapter>