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 postaram się przeprowadzić Cię przez kompilację i konfigurację MPlayera. Nie będzie to łatwe, ale niekoniecznie też musi być trudne. Jeżeli zauważysz zachowanie inne niż to, które objaśniam, proszę poszukaj w dokumentacji, a na pewno znajdziesz odpowiedzi. Jeżeli widzisz linki, śledź je i czytaj uważnie ich zawartość. Zajmie to trochę czasu, ale z pewnością JEST tego warte. Potrzebujesz dość nowego sprzętu. Jeśli używasz Linuksa, zalecane są jądra z serii 2.4.x. Wymagane oprogramowanie binutils - zalecana jest wersja 2.11.x. Program ten odpowiedzialny jest za generowanie instrukcji MMX/ 3DNow!/itp., dlatego też jest bardzo ważny. gcc - zalecanymi wersjami są 2.95 i 3.3+. Wiadomo, że 2.96 i 3.0.x generują wadliwy kod, 3.1 i 3.2 również miały problemy. Na PowerPC używaj 4.x+. XFree86 - sugerowaną wersją jest zawsze najnowsza (4.3). Przeważnie każdy tego chce, ponieważ zaczynając od XFree86 4.0.2, zawiera on rozszerzenie XVideo (czasami również nazywane Xv), które jest potrzebne do włączenia sprzętowej akceleracji YUV (szybkie wyświetlanie obrazów) na kartach, które je obsługują. Upewnij się, że są zainstalowane również pakiety rozwojowe, w przeciwnym wypadku nie zadziała. W przypadku niektórych kart nie potrzebujesz XFree86. Zobacz listę poniżej. make - sugerowaną wersją jest zawsze najnowsza (przynajmniej 3.79.x). W większości wypadków nie jest to jednak ważne. FreeType 2.0.9 lub wyższa jest wymagana jeśli chcesz mieć czcionkę do OSD i napisów. SDL - nie jest konieczne, ale może pomóc w niektórych wypadkach (wadliwy dźwięk, karty graficzne, które mają dziwne opóźnienia ze sterownikiem Xv). Zawsze używaj najnowszego (zaczynając od 1.2.x). libjpeg - opcjonalny dekoder JPEG, używany przez opcję i niektóre pliki QT MOV. Użyteczny zarówno dla MPlayera, jak i MEncodera, jeżeli zamierzasz pracować z plikami jpeg. libpng - domyślny i zalecany dekoder (M)PNG. Wymagany przez GUI. Użyteczny zarówno dla MPlayera jak i MEncodera. lame - zalecana, wymagana do zakodowania dźwięku MP3 przez MEncodera, sugerowaną wersją jest zawsze najnowsza (przynajmniej 3.90). zlib - zalecana, wymagana dla skompresowanych nagłówków MOV i obsługi PNG. libogg - opcjonalna, wymagana do odtwarzania plików zapisanych w formacie OGG. libvorbis - opcjonalna, wymagana do odtwarzania dźwięku OGG Vorbis. LIVE555 Streaming Media - opcjonalna, wymagana do odtwarzania strumieni RTSP/RTP. directfb - opcjonalna, do pobrania z . Wymagana jest co najmniej wersja 0.9.13. 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 Samby. ALSA - opcjonalna, do obsługi wyjścia dźwięku przez ALSA. Wymagana jest przynajmniej wersja 0.9.0rc4. Karty graficzne Są właściwie dwa rodzaje kart graficznych. Jeden (nowsze karty) ma obsługę sprzętowego skalowania i akceleracji YUV, pozostałe karty nie. Karty YUV Wyświetlają i skalują (zoom) obraz do jakiegokolwiek rozmiaru mieszczącego się w ich pamięci, z małym zużyciem mocy CPU (nawet przy zoomie), dlatego też tryb pełnego ekranu jest miły i bardzo szybki. Karty Matrox G200/G400/G450/G550: mimo, że dostępny jest sterownik Vidix, zalecane jest używanie modułu mga_vid zamiast niego, ponieważ działa znacznie lepiej. W rozdziale mga_vid znajdziesz informacje o sposobie jego instalacji i użycia. Ważne jest wykonanie tych kroków przed kompilacją MPlayera, w przeciwnym wypadku obsługa mga_vid nie zostanie wkompilowana. Sprawdź również rozdział Matrox TV-out. Jeżeli nie korzystasz z Linuksa, jedyną możliwością jest dla Ciebie sterownik VIDIX: przeczytaj rozdział VIDIX. Karty 3Dfx Voodoo3/Banshee: przeczytaj rozdział poświęcony tdfxfb, żeby dowiedzieć się, jak uzyskać znaczny wzrost prędkości. Ważne jest, abyś wykonał te kroki przed kompilacją MPlayera, w przeciwnym wypadku obsługa 3Dfx nie będzie wkompilowana. Jeżeli korzystasz z Xów, używaj przynajmniej wersji 4.2.0, ponieważ sterownik Xv dla 3dfx był uszkodzony w wersji 4.1.0 i wcześniejszych. Karty ATI: sterownik VIDIX obsługuje następujące karty: Radeon, Rage128, Mach64 (Rage XL/Mobility, Xpert98). Przeczytaj również rozdział karty ATI dokumentacji wyjścia TV, aby dowiedzieć się czy wyjście TV Twojej karty jest obsługiwane przez Linuksa/MPlayera. Karty S3: układy graficzne Savage i Virge/DX mają sprzętową akcelerację. Używaj jak najnowszej wersji XFree86, starsze sterowniki mają liczne błędy. Układy Savage mają problemy z obrazem YV12, więcej szczegółów znajdziesz w rozdziale S3 Xv. Starsze karty Trio maja wolną akcelerację sprzętową lub nie mają jej wcale. Karty nVidia: mogą lub nie mogą być dobrym wyborem do odtwarzania filmów. Jeżeli nie masz karty GeForce2 (lub nowszej), nie spodziewaj się bezproblemowego działania. Wbudowany w XFree86 sterownik nVidia nie obsługuje sprzętowej akceleracji YUV na żadnej z kart. Musisz pobrać zamknięte sterowniki nVidia z nVidia.com. Przeczytaj rozdział sterowniki nVidia Xv, a dowiesz się więcej. Sprawdź również rozdział nVidia TV-out, jeśli chcesz używać TV. 3DLabs GLINT R3 and Permedia3: dostępny jest sterownik VIDIX (pm3_vid). Bardziej szczegółowe informacje znajdziesz w rozdziale VIDIX. Inne karty: żadna z powyższych? Sprawdź, czy sterownik XFree86 (i Twoja karta) obsługują sprzętową akcelerację. Więcej informacji znajdziesz w rozdziale Xv. Jeżeli nie, oznacza to, że możliwości Twojej karty nie są obsługiwane przez Twój system operacyjny :( Jeżeli sprzętowe skalowanie działa pod Windowsem, nie oznacza to, że będzie działało pod Linuksem lub gdzie indziej, zależy to od sterowników. Większość producentów, ani nie tworzy sterowników dla Linuksa, ani nie publikuje specyfikacji swoich układów graficznych - więc masz pecha, jeśli używasz ich kart. Przeczytaj . Karty nieobsługujące YUV Odtwarzanie pełnoekranowe może być uzyskane przez skalowanie programowe (użyj opcji lub , ale ostrzegam Cię: jest to wolne) lub przełączenie na niższą rozdzielczość, na przykład 352x288. Jeżeli nie masz akceleracji YUV, ta druga metoda jest zalecana. Przełączanie między trybami video umożliwia opcja i działa ona z następującymi sterownikami: używasz XFree86: sprawdź szczegóły w rozdziale sterownik DGA i sterownik X11. DGA jest zalecany! Spróbuj również DGA przez SDL, czasami jest to lepsze rozwiązanie. nie używasz XFree86: wypróbuj te sterowniki w podanej kolejności: vesa, fbdev, svgalib, aalib. Karty Cirrus-Logic GD 7548: zintegrowana z płytą główną i przetestowana na serii notebooków Compaq Armada 41xx. XFree86 3: działa w trybach 8/16bpp. Jednak dla 800x600@16bpp sterownik jest bardzo wolny i nie działa prawidłowo. Zalecane: 640x480@16bpp XFree86 4: Xserver przestaje odpowiadać krótko po starcie, chyba że akceleracja jest wyłączona, jednak wszystko działa wolniej niż na XFree86 3. Brak obsługi XVideo. FBdev: framebuffer może być włączony poprzez sterownik clgenfb znajdujący się w jądrze, jednak u mnie działał tylko w 8bpp, a więc jest bezużyteczny. Źródło clgenfb musi być rozszerzone o ID 7548 przed kompilacją. VESA: karta spełnia tylko standard VBE 1.2, więc nie możesz użyć wyjścia VESA. Nie możesz zastosować obejścia przez UniVBE. SVGAlib: wykrywa starszy układ Cirrusa. Działa, chociaż powoli, z . Karty dźwiękowe Soundblaster Live!: z tą kartą możesz używać 4 lub 6 (5.1) kanałowego dekodowania AC3, zamiast 2. Przeczytaj rozdział Programowe dekodowanie AC3. Dla sprzętowej obróbki AC3 musisz użyć ALSA 0.9 z emulacją OSS! C-Media z wyjściem S/PDIF: Możliwa jest sprzętowa obróbka AC3 z tymi kartami, przeczytaj rozdział Sprzętowe dekodowanie AC3. Możliwości innych kart nie są obsługiwane przez MPlayera. Zalecamy, abyś przeczytał sekcję karty dźwiękowe! 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. Obecnie z przyczyn technicznych nie możesz skorzystać z opcji . 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ś 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.