Instalacja Przewodnik szybkiej instalacji znajdziesz w pliku README. Proszę, najpierw go przeczytaj, a później wróć do tego dokumentu po mrożące krew w żyłach szczegóły. W tym rozdziale zostaniesz przeprowadzony przez proces kompilacji i konfiguracji MPlayera. Nie będzie to łatwe, ale niekoniecznie też musi być trudne. Jeżeli zauważysz zachowanie inne niż tutaj opisane, proszę poszukaj w dokumentacji, a na pewno znajdziesz odpowiedzi. Wymagane oprogramowanie binutils - zalecana jest wersja 2.11.x. gcc - zalecanymi wersjami są 2.95 i 3.4+. Wiadomo, że 2.96 i 3.0.x generują wadliwy kod, 3.1 i 3.2 również miały problemy, 3.3 niewielkie. Na PowerPC używaj 4.x+. XFree86 - sugerowaną wersją jest 4.3 lub nowsza. Upewnij się, że są zainstalowane również pakiety rozwojowe, w przeciwnym wypadku nie zadziała. X'y nie są absolutnie niezbędne, niektóre sterowniki wyjścia video działają bez nich. make - sugerowaną wersją jest 3.79.x lub nowsza. Żeby zbudować dokumentację XML potrzebujesz przynajmniej 3.80. FreeType - opcjonalna, wymagana by mieć czcionkę do OSD i napisów. Wymagana jest przynajmniej wersja 2.0.9. libjpeg - opcjonalny koder/dekoder JPEG, wymagany przez wyjście video JPEG i do dekodowania filmów MJPEG libpng - domyślny i zalecany koder/dekoder (M)PNG, wymagany przez GUI i wyjście video PNG lame - zalecana jest wersja 3.90 lub późniejsza, wymagana do zakodowania dźwięku MP3 przez MEncodera. zlib - zalecana, wymagana dla skompresowanych nagłówków MOV i obsługi PNG. LIVE555 Streaming Media - opcjonalna, wymagana do odtwarzania niektórych strumieni RTSP/RTP. directfb - opcjonalna, używaj 0.9.13 lub nowszej. cdparanoia - opcjonalna, do obsługi CDDA. libxmms - opcjonalna, do obsługi wtyczek wejściowych XMMS. Wymagana jest przynajmniej wersja 1.2.7. libsmb - opcjonalna, do obsługi sieci przez smb. ALSA - opcjonalna, do obsługi wyjścia dźwięku przez ALSA. Wymagana jest przynajmniej wersja 0.9.0rc4. Możliwości Zdecyduj czy potrzebujesz GUI. Jeśli tak, przeczytaj rozdział GUI przed kompilacją. Jeżeli chcesz zainstalować MEncodera (naszego wspaniałego enkodera do wszelkich celów), przeczytaj sekcję MEncoder. Jeżeli masz tuner TV kompatybilny z V4L i chcesz oglądać/przechwytywać i kodować filmy przy pomocy MPlayera, przeczytaj rozdział wejście TV. Jeżeli masz tuner radiowy kompatybilny z V4L i chcesz słuchać i zapisywać dźwięk przy pomocy MPlayera, przeczytaj rozdział radio. Dostępne jest miłe, gotowe do użycia Menu OSD. Przeczytaj rozdział menu OSD. Potem skompiluj MPlayera: ./configure make make install W tym momencie MPlayer jest już gotowy do użycia. Katalog $PREFIX/share/mplayer zawiera plik codecs.conf, który informuje program o wszystkich, dostępnych kodekach i ich możliwościach. Plik ten potrzebny Ci będzie tylko wtedy, jeżeli będziesz chciał zmodyfikować jego ustawienia, jako że plik wykonywalny zawiera go już w sobie. Sprawdź czy masz codecs.conf ze starych wersji MPlayera w swoim katalogu domowym (~/.mplayer/codecs.conf) i usuń go. Zauważ, że jeżeli masz codecs.conf w ~/.mplayer/, wbudowany i systemowy codecs.conf będą całkowicie zignorowane. Nie rób tak, chyba że chcesz pobawić się z ustawieniami wewnętrznymi MPlayera, ponieważ może to spowodować wiele problemów. Jeżeli chcesz zmienić kolejność szukania kodeków, skorzystaj z opcji , , lub w wierszu poleceń, lub w Twoim pliku konfiguracyjnym (sprawdź stronę man). Użytkownicy Debiana mogą sobie zbudować paczkę .deb, jest to bardzo proste. Wykonaj fakeroot debian/rules binary w głównym katalogu MPlayera. Przeczytaj rozdział paczki Debiana, aby uzyskać więcej informacji. Zawsze przejrzyj wyniki ./configure i plik configure.log, zawierają one informacje o tym, co będzie zbudowane, a co nie. Możesz również obejrzeć pliki config.h i config.mak. Jeżeli masz zainstalowane jakieś biblioteki, ale nie są one wykrywane przez ./configure, sprawdź czy masz również odpowiednie pliki nagłówkowe (przeważnie pakiety -dev) i ich wersje się zgadzają. Plik configure.log zazwyczaj powie Ci, czego brakuje. Chociaż nie jest to konieczne, czcionki powinny być zainstalowane, żebyś mógł korzystać z OSD i napisów. Zalecana jest instalacja czcionki TTF i ustawienie MPlayera tak, żeby z niej korzystał. Przeczytaj rozdział Napisy i OSD dla uzyskania bardziej szczegółowych informacji. A co z GUI? GUI wymaga biblioteki GTK 1.2.x lub GTK 2.0 (nie jest w pełni w GTK, ale jego panele są). Skórki przechowywane są w formacie PNG, tak więc musi być zainstalowane GTK, libpng (i ich pakiety rozwojowe, zazwyczaj nazwane gtk-dev i libpng-dev). Możesz go zbudować podając opcję skryptowi ./configure. Aby skorzystać z trybu GUI, musisz wywołać polecenie gmplayer. Jako że MPlayer nie zawiera żadnej skórki, musisz je ściągnąć, jeżeli chcesz używać GUI. Sprawdź stronę z zasobami do pobrania. Skórki powinny być rozpakowane do katalogu dostępnego dla wszystkich ($PREFIX/share/mplayer/skins) lub do $HOME/.mplayer/skins. MPlayer sprawdza je w poszukiwaniu folderu nazwanego default, ale możesz użyć opcji lub wpisać do pliku konfiguracyjnego skin=nowaskórka, aby program korzystał ze skórki w katalogu */skins/nowaskórka. Czcionki i OSD Musisz powiedzieć MPlayerowi której czcionki ma używać, by móc cieszyć się OSD i napisami. Działa dowolna czcionka TrueType lub specjalne czcionki bitmapowe. Jednakże zalecane są czcionki TrueType, ponieważ wyglądają o wiele lepiej, mogą być prawidłowo przeskalowane do wielkości filmu i lepiej sobie radzą z różnymi sposobami kodowania. Czcionki TrueType Są dwa sposoby na skłonienie czcionek TrueType do działania. Pierwszy to podanie w wierszu poleceń pliku z czcionką TrueType przy pomocy opcji . Ta opcja jest też dobrym kandydatem do włożenie w plik konfiguracyjny (szczegóły na stronie man). Drugi to stworzenie dowiązania symbolicznego (symlink) o nazwie subfont.ttf wskazującego na wybraną czcionkę. Albo ln -s /ścieżka/do/przykładowej_czcionki.ttf ~/.mplayer/subfont.ttf dla każdego użytkownika osobno, albo ogólnosystemowe: ln -s /ścieżka/do/przykładowej_czcionki.ttf $PREFIX/share/mplayer/subfont.ttf Jeśli MPlayer był skompilowany z obsługą fontconfig, te metody nie zadziałają, zamiast tego oczekuje nazwy czcionki według fontconfig i domyślnie bierze czcionkę sans-serif. Przykład: mplayer -font 'Bitstream Vera Sans' anime.mkv Żeby zobaczyć jakie czcionki zna fontconfig, użyj fc-list. Czcionki bitmapowe Jeśli z jakiegoś powodu chcesz lub musisz użyć czcionek bitmapowych, ściągnij zestaw z naszej strony domowej. Możesz wybierać spośród rozmaitych czcionek ISO oraz zestawów czcionek stworzonych przez użytkowników w rozmaitych kodowaniach. Rozpakuj ściągnięty plik do katalogu ~/.mplayer lub $PREFIX/share/mplayer. Potem przemianuj lub stwórz dowiązanie symboliczne jednego z rozpakowanych katalogów na nazwę font, na przykład: ln -s ~/.mplayer/arial-24 ~/.mplayer/font ln -s $PREFIX/share/mplayer/arial-24 $PREFIX/share/mplayer/font Czcionki powinny mieć odpowiedni plik font.desc, który przypisuje pozycje czcionek unicode na właściwą stronę kodową napisów. Innym rozwiązaniem jest mieć napisy zakodowane w UTF-8 i używać opcji albo nazwać plik z napisami tak samo jak film, ale z rozszerzeniem .utf i mieć go w tym samym katalogu co film. Menu OSD MPlayer ma całkowicie definiowalny Interfejs Menu OSD. Menu Ustawienia nie jest jeszcze ZAIMPLEMENTOWANE! Instalacja skompiluj MPlayera z opcją dla skryptu ./configure upewnij się, że masz zainstalowaną czcionkę OSD skopiuj plik etc/menu.conf do Twojego katalogu .mplayer skopiuj plik etc/input.conf do Twojego katalogu .mplayer lub do ogólnosystemowego katalogu z konfiguracją MPlayera (domyślnie: /usr/local/etc/mplayer) sprawdź i ewentualnie przerób plik input.conf, aby określić funkcje klawiszy (wszystko jest tam opisane). uruchom MPlayera przykładową komendą: mplayer -menu plik.avi wciśnij dowolny klawisz, który wcześniej zdefiniowałeś Codec installation Xvid Xvid jest wolnym, kompatybilnym z MPEG-4 ASP, kodekiem video z możliwościami kodowania dwuprzebiegowego i pełną obsługą MPEG-4 ASP. Zauważ, że Xvid nie jest konieczny do odtwarzania video zakodowanego przy pomocy Xvid. Domyślnie używana jest biblioteka libavcodec, bo jest szybsza. Instalacja <systemitem class="library">Xvid</systemitem> Jak większość otwartego oporgramowania dostępny jest w dwóch wersjach: oficjalnych wydań i wersji CVS. Wersja CVS jest zazwyczaj wystarczająco stablina by jej używać, jako że zazwyczaj ma poprawki do błędów występujących w wydaniach. Tak należy nakłonić Xvid CVS do pracy z MEncoderem (będziesz potrzebował przenajmniej autoconf 2.50, automake i libtool): cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore cd xvidcore/build/generic ./bootstrap.sh ./configure Możesz potrzebować dodać jakieś opcje (przejrzyj wyjście polecenia ./configure --help) make && make install Przekompiluj MPlayera. <systemitem class="library">x264</systemitem> x264 is a library for creating H.264 video. MPlayer sources are updated whenever an x264 API change occurs, so it is always suggested to use MPlayer from Subversion. If you have a GIT client installed, the latest x264 sources can be gotten with this command: git clone git://git.videolan.org/x264.git Then build and install in the standard way: ./configure && make && make install Now rerun ./configure for MPlayer to pick up x264 support. Kodek AAC AAC (Advanced Audio Coding) jest kodekiem audio spotykanym czasami w plikach MOV i MP4. Otwarty dekoder nazywany FAAD dostępny jest na stronie . MPlayer zawiera migawkę CVS z libfaad 2.1beta, więc nie musisz ściągać go oddzielnie. Jeżeli używasz gcc 3.2, który ma kłopoty z kompilacją wbudowanej wersji FAAD lub chcesz z jakichś powodów użyć zewnętrznej biblioteki, ściągnij ją z tej strony i dodaj opcję do ./configure. Nie potrzebujesz całego faad2 do dekodowanie plików AAC. Wystarczy użyć samej biblioteki libfaad. Zbudujesz ją w następujący sposób cd faad2/ sh bootstrap ./configure cd libfaad make make install Wersje binarne nie są dostępne na stronie audiocoding.com, ale możesz ściągnąć (apt-getem) Debianowe paczki ze strony domowej Christiana Marillata, RPM-y dla Mandrake/Mandriva ze strony P.L.F, a RPM-y dla Fedory z Livna. Kodeki AMR Kodeki mowy Adaptive Multi-Rate są używane w telefonii komórkowej trzeciej generacji (3G). Opis implementacji udostępniany jest przez The 3rd Generation Partnership Project (za darmo dla osób prywatnych). Żeby uaktywnić obsługę kodeków, pobierz źródła kodeków AMR-NB i AMR-WB, umieść je w katalogu do którego rozpakowałeś źródła MPlayera i wpisz następujące komendy: unzip 26104-610.zip unzip 26104-610_ANSI_C_source_code.zip mv c-code libavcodec/amr_float unzip 26204-600.zip unzip 26204-600_ANSI-C_source_code.zip mv c-code libavcodec/amrwb_float Gdy już to zrobisz, kontynuuj budowanie MPlayera tak, jak zwykle. RTC Istnieją trzy metody synchronizacji w MPlayerze. Żeby skorzystać ze starej metody, nie musisz robić nic. Używa ona usleep(), aby poprawnie zsynchronizować A/V z dokładnością +/- 10ms. Czasami jednak synchronizacja musi być jeszcze dokładniejsza. Kod nowego zegara korzysta do tego celu z RTC (RealTime Clock), ponieważ jest on dokładny co do 1ms. Włącza się go opcją , ale wymaga odpowiednio skonfigurowanego jądra. Jeżeli korzystasz z jądra w wersji 2.4.19pre8 lub późniejszej, wystarczy, że ustawisz maksymalną częstotliwość RTC dla zwykłego użytkownika przez system plików /proc. Użyj jednego z następujących poleceń, aby pozwolić na korzystanie z RTC zwykłym użytkownikom: echo 1024 > /proc/sys/dev/rtc/max-user-freq sysctl dev/rtc/max-user-freq=1024 Możesz uczynić tę zmianę trwałą dodając ten drugi wiersz do /etc/sysctl.conf. Możesz zobaczyć wydajność nowego synchronizatora w wierszu stanu. Zarządzanie energią w BIOSach niektórych notebooków z procesorami w technologii speedstep nie współgra z RTC. Dźwięk i obraz mogą być niezsynchronizowane. Podłączenie zewnętrznego źródła energii przed włączeniem notebooka wydaje się pomagać. W niektórych zestawieniach sprzętowych (sprawdzone przy używaniu DVD bez obsługi DMA na płycie ALi1541) korzystanie z RTC wywołuje skokowe odtwarzanie. Zaleca się skorzystanie w tych przypadkach z trzeciej metody. Trzeci kod zegara włączany jest opcją . Ma dokładność RTC, ale z niego nie korzysta. Wymaga jednak większej mocy obliczeniowej procesora.