# FAQ - Często Zadawane Pytania

Rozwój

Jak mam stworzyć poprawną łatkę do MPlayera?

Przygotowaliśmy krótki dokument opisujący wszystkie potrzebne szczegóły. Kieruj się zawartymi w nim wskazówkami.

Jak mogę przetłumaczyć MPlayera na nowy język?

Przeczytaj HOWTO tłumaczenia, powinno wszystko wyjaśnić. Dalszą pomoc uzyskasz na liście dyskusyjnej MPlayer-docs.

Jak mogę wesprzeć rozwój MPlayera?

Jesteśmy bardziej niż szczęśliwi, gdy ofiarowujecie nam sprzęt i oprogramowanie w formie darów. Pomagają one nam ciągle ulepszać MPlayera.

Jak mogę zostać deweloperem MPlayera?

Programiści i dokumentatorzy zawsze są mile widziani. Na początek przeczytaj dokumentację techniczną dla ogólnego zarysu. Następnie powinieneś zapisać się na listę dyskusyjną MPlayer-dev-eng i zacząć pisać. Jeżeli chcesz pomóc przy dokumentacji, zapisz się na listę dyskusyjną MPlayer-docs.

Czemu nie używacie autoconf/automake?

Mamy modularny, ręcznie napisany system budowania. Sprawuje się on całkiem nieźle, więc po co zmieniać? Poza tym nie lubimy narzędzi auto* tak jak i inni ludzie.

Kompilacja

Kompilacja nie udaje się z powodu błędu i gcc wyskakuje z tajemniczą wiadomością zawierającą zwrot internal compiler error lub unable to find a register to spill.

Natknąłeś się na błąd w gcc. Proszę zgłoś go zespołowi gcc ale nie nam. Z jakichś przyczyn MPlayer często wywołuje błędy kompilatora. Jednak nie możemy ich naprawić i nie dodajemy do naszych źródeł obejść błędów kompilatora. Żeby uniknąć problemu albo trzymaj się wersji kompilatora o której wiadomo że jest stabilna i pewna, albo często aktualizuj.

Czy istnieją binarne (RPM/deb) paczki z MPlayerem?

Więcej informacji na ten temat znajdziesz w sekcjach Debian oraz RPM.

Jak mogę zbudować 32 bitowego MPlayera na 64 bitowym Athlonie?

Zastosuj następujące opcje konfiguracyjne.

    ./configure --target=athlon_xp --cc="gcc -m32" --as="as --32" --with-extralibdir=/usr/lib

Kompilacja kończy się komunikatem błędu podobnym do tego:

        cfft.c: In function`passf2':
        cfft.c:556: unable to find a register to spill in class `FLOAT_REGS'
        cfft.c:556: this is the insn:
        (insn 235 233 246 (set (subreg:SF (reg/v:DI 29 rmm0 [110]) 0)
                (minus:SF (mem:SF (plus:SI (mult:SI (reg:SI 1 edx [112])
                                (const_int 8 [0x8]))
                            (reg/v/f:SI 3 ebx [62])) [4 S4 A32])
                    (reg:SF 8 st(0) [132]))) 533 {*fop_sf_1_nosse} (insn_list
        232 (nil))    (expr_list:REG_DEAD (reg:SF 8 st(0) [132])
                (nil)))
        cfft.c:556: confused by earlier errors, bailing out

Jest to znany problem z gcc 3.2, aby go rozwiązać zaktualizuj gcc do wersji 3.3. Sposób instalacji gcc opisany jest w sekcji gcc 2.96. Możesz również użyć zewnętrznaj biblioteki FAAD tak jak opisano w sekcji AAC.

Kompilacja kończy się komunikatem błędu podobnym do tego:

        In file included from mplayer.c:34:
        mw.h: In function `mplMainDraw':
        mw.h:209: Internal compiler error in print_rtl_and_abort, at flow.c:6458
        Please submit a full bug report,
        with preprocessed source if appropriate.

Jest to znany problem z gcc 3.0.4, aby go rozwiązać zaktualizuj kompilator do wersji 3.1. Sposób instalacji gcc opisany jest w sekcji gcc 2.96.

Konfiguracja kończy się takim komunikatem i MPlayer nie chce się skompilować!

    Your gcc does not support even i386 for '-march' and '-mcpu'

(Twój gcc nie obsługuje nawet i386 dla '-march' oraz '-mcpu')

Twój gcc nie jest poprawnie zainstalowany. Sprawdź `configure.log` aby uzyskać szczegóły.

Co jest nie tak z gcc 2.96?

Odradzamy używanie gcc 2.96! Przeczytaj ten dokument, aby dowiedzieć się dlaczego Red Hat wypuścił gcc 2.96 i jakie są z nim związane problemy. Jeżeli ciągle chcesz go używać, zdobądź najnowszą wersję i przekaż do skryptu configure opcję `--disable-gcc-checking`. Pamiętaj, że od tej pory zdany jesteś tylko na siebie. Nie zgłaszaj błędów, nie proś o pomoc na listach dyskusyjnych. Nie zapewniamy żadnego wsparcia w razie gdybyś napotkał jakieś problemy.

Super, mam gcc 3.0.1 od Red Hata/Mandrake'a, więc wszystko jest w porządku!

Nie, ponieważ były/są problemy także z tymi kompilatorami. Status obsługiwanych przez MPlayera kompilatorów możesz sprawdzić w sekcji Instalacja.

.. gcc 2.96 ... (Tak, niektórzy ludzie CIĄGLE rzucają się o gcc 2.96!)

Cytat z listu wysłanego przez A'rpiego na listę MPlayer-users (słowo "ideg" jest opisane poniżej):

> No i mamy idegi. Nasz licznik idegów znów się przekręca.

> Niestety MPlayer znajduje się poza naszą kontrolą. Jest używany przez lamerów. Użytkowników Linuksa, którzy nie potrafią obsługiwać nawet Windowsów i nigdy nie próbowali kompilować jądra. Zainstalowali (z ustawieniami domyślnymi) Mandrake'a, RedHata lub SuSE i bez RTFMowania (przeczytanie instrukcji - przyp. tłum) przysyłają nam wiadomości "Nie działa! Pomocy! Proszę! Jestem nowy w Linuksie! Pomocy! Och! Pomocy!". Nie możemy ich powstrzymać ale przynajmniej możemy ich zmusić do RTFMowania i do czytania komunikatów ./configure oraz MPlayera.

> I przychodzicie wy - mądrzy kolesie i rzucacie się o gcc 2.96 i paczki binarne. Zamiast pomagać użytkownikom lub robić łatki pomagające rozwiązać problemy.

> Połowa naszego wolnego czasu poświęcana jest na odpowiedzi na głupie maile tutaj oraz na tworzenie nowych trików i testów configure tak, aby uniknąć takich listów.

> Istnieje pewna równowaga. Po jednej stronie jesteście wy - mądrzy kolesie - mówiący, że my jesteśmy źli, ponieważ nie lubimy wadliwego gcc 2.96. Po drugiej stronie są "nowi w Linuksie", którzy pokazują nam że gcc 2.96 jest wadliwe.

> Wniosek: Nie możemy być tymi dobrymi. Połowa ludzi zawsze stwierdzi, że jesteśmy źli.

> Może powinniśmy zamknąć projekt, zamknąć źródła, skomercjalizować i zapewniać do niego wsparcie techniczne przy procesie instalacji. Moglibyśmy rzucić obecną pracę i rozwój byłby szybszy oraz moglibyśmy zarabiać na nim kupę kasy i kupić sobie duży dom itd, itp. Czy na prawdę tego chcecie? Na to wygląda.

Wyjście SDL nie działa lub się nie kompiluje. Problemem leży w...

Testy zostały przeprowadzone z SDL 1.2.x, może także działać z SDL 1.1.7+. Nie działa z jakimikolwiek wcześniejszymi wersjami. Jeżeli wybierzesz taką wersję, zdany jesteś na siebie.

Ciągle mam problemy przy kompilacji z obsługą SDL. gcc mówi:

    undefined reference to `SDL_EnableKeyRepeat'

Co teraz?

Gdzie zainstalowałeś biblioteki SDL? Jeżeli zainstalowałeś w `/usr/local` (domyślnie), wyedytuj górnopoziomowy (top level) `config.mak` i dodaj -L/usr/local/lib po X_LIBS=. Teraz wykonaj `make`. Gotowe!

Mam Matroksa G200/G400/G450/G550, jak skompilować/używać sterownika mga_vid?

Przeczytaj sekcję mga_vid.

Podczas 'make', MPlayer narzeka na biblioteki X11. Nie rozumiem, MAM zainstalowane X!?

...ale nie masz zainstalowanej paczki X development lub jest ona źle zainstalowana. Nazywa się ona `XFree86-devel*` w Red Hacie i `xlibs-dev` w Debianie Woody, `libx11-dev` w Debianie Sarge. Sprawdź także czy istnieją dowiązania symboliczne do `/usr/X11` oraz `/usr/include/X11` (może to być problem w systemach Mandrake). Można je utworzyć następującymi poleceniami:

         # ln -sf /usr/X11R6 /usr/X11
         # ln -sf /usr/X11R6/include/X11 /usr/include/X11

Układ katalogów w Twojej dystrybucji może odbiegać od Standardu Hierarchii Systemu Plików (FHS) .

Nie mogę skompilować SVGAlib. Używam jądra 2.3/2.4...

Musisz wyedytować z SVGAlib plik `Makefile.cfg` i zakomentować BACKGROUND = y.

Skompilowałem MPlayera z obsługą libdvdcss/libdivxdecore, lecz kiedy próbuję go uruchomić, mówi:

    error while loading shared libraries: lib*.so.0: cannot load shared object file: No such file or directory

Sprawdziłem ten plik i JEST w `/usr/local/lib`...

Dodaj `/usr/local/lib` do `/etc/ld.so.conf` i uruchom `ldconfig`.

Kompilacja MEncodera zwraca błąd na etapie linkowania!

To jest problem z linkerem (konsolidatorem). Aktualizacja binutils powinna pomóc (2.11.92.* lub nowsze powinny być dobre). Ponieważ nie jest to nasza wina, prosimy tego nie zgłaszać!

MPlayer umiera z błędem segmentation fault przy sprawdzaniu pthread!

`chmod 644 /usr/lib/libc.so`

Chiałbym skompilować MPlayera na Miniksie!

Ja też. :)

Pytania ogólne

Czy są jakieś listy dyskusyjne o MPlayerze?

Tak. Spójrz na sekcję listy dyskusyjne.

Znalazłem paskudny błąd przy próbie odtworzenia mojego ulubionego filmu! Kogo powinienem poinformować?

Przeczytaj proszę wskazówki do zgłoszeń błędów i kieruj się zawartymi tam instrukcjami.

Mam problemy z odtwarzaniem plików przy użyciu kodeka ... Czy mogę ich używać?

Sprawdź status kodeków, jeżeli nie zawiera on Twojego kodeka przeczytaj dokumentację kodeków, a w szczególności HOWTO importowania kodeków i skontaktuj się z nami.

Gdy zaczynam odtwarzanie wyświetla się następujący komunikat lecz wszystko wydaje się być wporządku.

    Linux RTC init: ioctl (rtc_pie_on): Permission denied

Potrzebujesz uprawnień roota lub specjalnie ustawionego jądra, aby używać nowego kodu synchronizacji czasu. Aby uzyskać szczegóły, spójrz do sekcji RTC w dokumentacji.

Jak mogę zrobić zrzut ekranu?

Musisz skorzystać ze sterownika wyjścia video, który nie używa nakładki video. Pod X11 wystarczy użyć `-vo x11`, pod Windows działa `-vo directx:noaccel`

W lewym górnym rogu jest licznik czasu. Jak mogę się go pozbyć?

Naciśnij o oraz wypróbuj opcję `-osdlevel`.

Opcja `-xy` lub `-fs` nie działa ze sterownikiem x11 (`-vo x11`)...

Działa, lecz musisz osobno zażądać skalowania programowego (bardzo wolne) opcją `-zoom`. Lepiej skorzystaj z obsługi trybu XF86VidMode: musisz podać opcje `-vm` oraz `-fs` i to wszystko. Upewnij się, że masz odpowiednie definicje trybów graficznych (modelines) w swoim pliku `XF86Config` i spróbuj uruchomić sterownik DGA oraz sterownik SDL DGA. Jest o wiele szybszy. Jeżeli SDL DGA działa - używaj go. Działa jeszcze szybciej.

Co oznaczają te liczby w wierszu stanu?

Przykład:

    A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49%

- A: pozycja audio w sekundach

- V: pozycja video w sekundach

- A-V: różnica audio-video w sekundach (opóźnienie)

- ct: całkowita dokonana korekcja synchronizacji A-V

- ramki odtworzone (licząc od ostatniego przewijania)

- ramki zdekodowane (licząc od ostatniego przewijania)

- użycie procesora w procentach przez kodek video (dla porcji/pakietów i DR zawiera także video_out)

- użycie procesora przez video_out

- użycie procesora w procentach przez kodek audio

- ramki opuszczone, aby zachować synchronizację A-V

- obecny poziom postprocessingu obrazu (gdy używasz `-autoq`)

- szybkość odtwarzania będąca mnożnikiem oryginalnej szybkości

Większość z nich obecna jest dla celów odpluskwiania (debugging) i zostanie w pewnym momencie usunięta.

A jeżeli nie chcę żeby się pojawiały?

Użyj opcji `-quiet` i przeczytaj stronę man.

Dlaczego użycie procesora przez video_out wynosi zero (0%) dla niektórych plików?

Nie jest ono zerowe, ale pomiar jest wywołany z kodeka i poprzez to nie może być mierzone oddzielnie. Powinieneś spróbować odtworzyć plik używając `-vo null` a potem `-vo ...` i sprawdzić różnicę, aby zobaczyć prędkość video_out.

Używasz Bezpośredniego Renderowania, gdzie kodek renderuje wprost do pamięci video. W tym przypadku procent dekodowania zawiera także procent wyświetlania.

Dostaję komunikaty błędów o nie znalezionym pliku `/usr/local/lib/codecs/` ...

Ściągnij kodeki Win32 z naszej strony kodeków (paczka kodeków avifile ma inny zestaw DLL) i zainstaluj je.

Umm, co to jest "Licznik Ideg (IdegCounter)"?

Kombinacja słowa węgierskiego (ideg) i angielskiego (counter). "Ideg" po węgiersku oznacza to samo co "nerve" (wkurzenie :) ) w angielskim. Wymawiane jest mniej więcej "ydaegh". Termin ten po raz pierwszy został użyty, aby zmierzyć zdenerwowanie A'rpiego po pewnym (umm) "tajemniczym" zniknięciu kodu z CVS ;)

A co to jest "Faszom(C)ounter (licznik Faszom)"?

"Fasz" to węgierskie słowo, którego nie chcesz znać, reszta jest związana ze zboczonymi umysłami deweloperów MPlayera.

Napisy są bardzo ładne, najpiękniejsze jakie widziałem, ale spowalniają odtwarzanie! Wiem, że to jest niezwykłe...

Po odpaleniu `./configure`, wyedytuj `config.h` i zamień #undef FAST_OSD na #define FAST_OSD. Po czym skompiluj ponownie.

Co to właściwie jest to libavcodec?

Spójrz do sekcji libavcodec.

Ale configure mówi mi

    Checking for libavcodec... no

!

Musisz ściągnąć libavcodec z CVSu FFmpeg. Przeczytaj instrukcję w sekcji libavcodec.

Nie mogę się dostać do menu GUI. Klikam prawym przyciskiem myszy lecz nie mogę dostać się do żadnych elementów menu!

Czy używasz FVWM? Spróbuj tego:

1. Start -> Settings -> Configuration -> Base Configuration

2. Ustaw Use Applications position hints na Yes

Jak uruchomić MPlayera w tle?

Użyj:

    mplayer opcje nazwa_pliku < /dev/null &

Problemy z odtwarzaniem

Nie mogę zidentyfikować powodu dziwnego problemu z odtwarzaniem.

Czy masz jakiś zawieruszony plik `codecs.conf` w `~/.mplayer/`, `/etc/`, `/usr/local/etc/` lub podobnym miejscu? Usuń go, stary plik `codecs.conf` może powodować tajemnicze problemy i jest przeznaczony tylko dla deweloperów pracujących nad obsługą kodeków. Przesłania on wbudowane ustawienia MPlayera dotyczące kodeków, co spowoduje chaos jeśli w nowszych wersjach zostaną wprowadzone niekompatybilne zmiany. Jeśli nie jest używany przez ekspertów jest to przepis na katastrofę w postaci pozornie losowych i trudnych do zlokalizowania awarii i problemów z odtwarzaniem. Jeśli nadal masz go gdzieś w swoim systemie powinieneś go teraz usunąć.

Jak mogę określić ścieżkę audio/napisów z pliku OGM, Matroska, NUT lub DVD?

Musisz użyć `-aid` (ID audio) lub `-alang` (język audio), `-sid` (ID napisów) lub `-slang` (język napisów), na przykład:

    mplayer przykład.mkv -alang eng -slang eng
    mplayer przykład.mkv -aid 1 -sid 1

Aby zobaczyć jakie są dostępne:

    mplayer -vo null -ao null -frames 0 -v nazwa_pliku | grep sid
    mplayer -vo null -ao null -frames 0 -v nazwa_pliku | grep aid

Próbuję odtworzyć jakiś strumień z internetu, ale nie udaje mi się.

Spróbuj otworzyć strumień korzystając z opcji `-playlist`.

Ściągnąłem film z sieci P2P i nie chce się odtworzyć!

Prawdopodobnie plik jest uszkodzony lub jest to fałszywka. Jeżeli dostałeś go od znajomego i on mówi, że u niego działa, to spróbuj porównać skróty md5sum (md5sum hashes).

Właśnie zainstalowałem MPlayera. W momencie gdy chcę otworzyć plik video wyskakuje błąd:

    Error opening/initializing the selected video_out (-vo) device.
    (Błąd przy otwarciu.inicjalizacji wybranego urządzenia video_out (-vo).)

Jak mogę rozwiązać mój problem?

Po prostu zmień urządzenie wyjścia video. Aby uzyskać listę dostępnych sterowników wyjścia video wydaj następujące polecenie:

    mplayer -vo help

Gdy juz wybierzesz odpowiedni sterownik wyjścia video, dodaj go do swojego pliku konfiguracyjnego. Dodaj

    	vo = wybrany_vo

do `~/.mplayer/config` i/lub

    vo_driver = wybrany_vo

do `~/.mplayer/gui.conf`.

Mam problem z wyświetlaniem napisów. Pomocy!

Upewnij się, że poprawnie zainstalowałeś czcionki. Wykonaj jeszcze raz krok po kroku instrukcje z części OSD i napisy z sekcji traktującej o instalacji. Jeżeli używasz czcionek TrueType, upewnij się, że masz zainstalowaną bibliotekę FreeType. Sprawdź także napisy w edytorze tekstu, bądź z innymi odtwarzaczami. Spróbuj tekże przekonwertować je na inny format.

Dlaczego MPlayer nie działa w Fedora Core?

Prelink, exec-shield i aplikacje używająca windowsowych DLLi (takie jak MPlayer) nie współdziałają ze sobą dobrze w Fedorze.

Problem powoduje exec-shield, który ustawia losowy adres, pod który będą ładowane biblioteki systemowe. Dzieje się to podczas prelinkowania (raz na dwa tygodnie)

MPlayer próbuje załadować windowsowy DLL pod określony adres (0x400000). Jeżeli znajduje się tam już ważna biblioteka systemowa, MPlayer się wykrzaczy. (Typowym objawem jest błąd naruszenia ochrony pamięci (segfault) przy próbie odtwarzania plików Windows Media 9.)

Jeżeli napotkasz taki problem, masz dwa wyjścia:

- Poczekać dwa tygodnie... Być może znów zacznie działać.

- Zlinkować wszystkie biblioteki systemowe z innymi opcjami prelink. Oto instrukcje krok po korku:

  1. Otwórz `/etc/syconfig/prelink` i zmień

         PRELINK_OPTS=-mR

     na

         PRELINK_OPTS="-mR --no-exec-shield"

  2. `touch /var/lib/misc/prelink.force`

  3. `/etc/cron.daily/prelink` (To ponownie linkuje wszystkie aplikacje i zajmuje sporo czasu.)

  4. `execstack -s /ścieżka/do/mplayer` (To wyłącza exec-shield dla binarki MPlayera.)

... działa z xine/vlc/... ale nie działa z MPlayerem.

MPlayer to nie xine/vlc/.... Chociaż te aplikacje mają trochę wspólnego kodu, zestaw kodeków (DLL), to synchronizacja, demultiplexing itp. są inne i nie powinny być porównywane. Jeżeli masz plik, którego MPlayer nie odtwarza poprawnie, lecz nie ma z nim problemów w innych odtwarzaczach, przeczytaj wskazówki do zgłaszania błędów i wgraj plik na nasz serwer FTP.

Dźwięk gubi synchronizację przy odtwarzaniu pliku AVI.

Wypróbuj opcje `-bps` oraz `-nobps`. Jeżeli nic się nie poprawiło, przeczytaj wskazówki do zgłaszania błędów i wgraj plik na FTP.

MPlayer kończy pracę z jakimś błędem przy korzystaniu z `l3codeca.acm`.

Sprawdź wynik `ldd /usr/local/bin/mplayer`. Jeżeli zawiera

    libc.so.6 => /lib/libc.so.6 (0x4???????)

gdzie "?" jest jakąkolwiek liczbą to wszysto jest w porządku, błąd tkwi gdzie indziej. Jeżeli wygląda tak:

    libc.so.6 => /lib/libc.so.6 (0x00??????)

to świadczy o problemie z twoim jądrem/libc. Być może używasz jakiś łatek związanych z bezpieczeństwem (na przykład łatka OpenWall Solar Designera), które wymuszają ładowanie bibliotek pod bardzo niskie adresy. Poniewaź `l3codeca.acm` jest nierelokowalną biblioteką DLL musi być ładowana pod `0x40000000`, nie możemy tego zmienić. Powinieneś używać niełatanego jądra lub skorzystać z opcji MPlayera `-afm 1`, aby wyłączyć używanie `l3codeca.acm`.

Mój komputer odtwarza zbyt wolno pliki AVI MS DivX w rozdzielczości ~ 640x300 i z dźwiękiem mp3 stereo. Gdy użyję opcji `-nosound`, wszystko jest OK (lecz bez dźwięku).

Twój komputer jest zbyt wolny lub sterownik karty dźwiękowej jest zepsuty. Skonsultuj się z dokumentacją, aby zobaczyć, czy możesz poprawić wydajność.

MPlayer przerywa działanie z komunikatem

    MPlayer interrupted by
    signal 4 in module: decode_video

(MPlayer przerwany przez sygnał 4 w module: decode_video).

Spróbuj uruchamiać MPlayera na maszynie, na której go skompilowałeś. Albo przekompiluj z detekcją CPU podczas pracy. (`./configure --enable-runtime-cpudetection`). Nie używaj MPlayera na CPU innym niż ten, na którym był kompilowany, bez użycia przed chwilą wymienionej opcji.

Mam problemy z [Twój manager okien] i pełnoekranowymi trybami xv/xmga/sdl/x11...

Przeczytaj wskazówki do zgłaszania błędów i wyślij nam poprawne zgłoszenie błędu. Popróbuj też poeksperymentować z opcją `-fstype`.

Taki komunikat wyskoczył przy odtwarzaniu plików MPEG: Can't find codec for video format 0x10000001!

Masz starą wersję `codecs.conf` w `~/.mplayer/`, `/etc/`, `/usr/local/etc/` lub podobnym miejscu. Usuń go, nie jest już potrzebny. LUB masz opcję `vc=` albo coś podobnego w swoim pliku(ach) konfiguracyjnym(ch).

Gdy uruchamiam MPlayera pod KDE, pojawia się czarny ekran i nic się nie dzieje. Po około minucie zaczyna się odtwarzanie filmu.

Arts - demon dźwięku KDE - blokuje urządzenie dźwiękowe. Albo czekaj aż rozpocznie się odtwarzanie lub wyłącz demona arts w centrum sterowania. Jeżeli chcesz używać dźwięku arts, określ wyjście audio przez nasz natywny sterownik dźwięku arts (`-ao arts`). Jeżeli próba się nie powiedzie lub sterownik nie jest wkompilowany, spróbuj użyć SDL (`-ao sdl`) i upewnij się, że twoje SDL poradzi sobie z dźwiękiem arts. Inną możliwością jest uruchomienie MPlayera z artsdsp.

Mam plik AVI, który daje szary ekran, gdy odtwarzany jest przez `-vc odivx` oraz zielony gdy przez `-vc divx4`.

To nie jest plik DivX, lecz MS MPEG4v3. Jeżeli masz starą wesję `codecs.conf` w `~/.mplayer/`, `/etc/`, `/usr/local/etc/` lub podobnym miejscu, usuń go.

Podczas odtwarzania filmu pojawia się brak synchronizacji video-audio i/lub MPlayer wywala się z następującym komunikatem:

    DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!

Może istnieć kilka powodów.

- Twój CPU i/lub karta graficzna i/lub magistrala jest zbyt wolna. MPlayer w tym wypadku wyświetli komunikat (i licznik porzuconych ramek szybko będzie wzrastał).

- Jeżeli to plik AVI, to może ma zły przeplot. Wypróbuj opcję `-ni`.

- Twój sterownik dźwięku jest wadliwy lub używasz ALSA 0.5 z `-ao oss`. Spójrz do sekcji kart dźwiękowych.

- Plik AVI ma zły nagłówek, spróbuj użyć opcji `-nobps` i/lub `-mc 0`.

Mam plik MJPEG, który działa z innymi odtwarzaczami ale wyświetla czarny obraz w MPlayerze

Użyj innego kodeka do odtwarzania tego pliku, spróbuj `-vc ffmjpeg`.

Gdy próbuję przechwytywać obraz z mojego tunera, działa lecz kolory są dziwne. Działa normalnie z innymi aplikacjami.

Twoja karta prawdopodobnie źle zgłasza obsługiwane przez siebie przestrzenie kolorów. Spróbuj z YUY2 zamiast standardowego YV12 (spójrz do sekcji TV).

Mam problemy z synchronizacją A/V. Niektóre moje AVI są odtwarzane dobrze, a niektóre z podwójną szybkością.

Masz wadliwą kartę/sterownik dźwięku. Najwyraźniej jest ustawiona na stałe na 44100Hz i próbujesz odtwarzać plik z dźwiękiem 22050Hz. Wypróbuj filtr zmiany częstotliwości próbkowania audio (audio resample filter).

Wszystkie pliki WMV (lub inne...), które odtwarzam, tworzą zielone/szare okno i dostaję tylko dźwięk! MPlayer wypisuje:

    Detected video codec: [null] drv:0 (NULL codec (no decoding))

Jeżeli masz starą wersję `codecs.conf` w `~/.mplayer/`, `/etc/`, `/usr/local/etc/` lub podobnym miejscu, usuń go.

Otrzymuję bardzo dziwne wartości procentowe (o wiele za duże) podczas odtwarzania plików na moim notebooku.

Jest to wpływ systemu zarządzania energią / oszczędzania energii Twojego notebooka (w BIOSie, a nie w jądrze). Podłącz zewnętrzne zasilanie przed włączeniem notebooka. Możesz także sprawdzić, czy cpufreq (interfejs SpeedStep dla Linuksa) Ci pomoże.

Audio/video całkowicie traci synchronizację, gdy uruchamiam MPlayera jako root na moim notebooku. Działa normalnie, gdy uruchamiam go jako zwykły użytkownik.

To także jest efekt zarządzania energią (patrz wyżej). Podłącz zewnętrzne zasilanie przed włączeniem swojego notebooka lub użyj opcji `-nortc`.

Podczas odtwarzania filmu nagle MPlayer zaczyna się dławić i dostaję następujący komunikat:

    Badly interleaved AVI file detected - switching to -ni mode...

Pliki ze złym przeplotem i `-cache` nie działają razem zbyt dobrze. Spróbuj `-nocache`.

Jak mogę odtwarzać pliki audio MPEG Layer 2 (mp2)?

Musisz użyć `-rawaudio on:format=0x50`.

Problemy ze sterownikami wyjścia video/audio (vo/ao)

Jak użyć dmix z MPlayerem?

Po ustawieniu asoundrc użyj `-ao alsa:device=dmix`.

Podczas odtwarzania filmu nie ma dźwięku i dostaję komunikat podobny do tego:

        AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian)
        audio_setup: Can't open audio device /dev/dsp: Device or resource busy
        couldn't open/init audio device -> NOSOUND
        Audio: no sound!!!
        Start playing...

Czy masz uruchomione KDE lub GNOME z demonem dźwięku ARTS lub ESD? Spróbuj wyłączyć demona dźwięku lub użyj opcji `-ao arts` lub `-ao esd`, aby MPlayer używał ARTS lub ESD. Możliwe jest też że masz uruchomione ALSA bez emulacji OSD, spróbuj załadować moduły jądra ALSA OSS lub dodaj `-ao alsa` do wiersza poleceń żeby bezpośrednio używać sterownika wyjścia dźwięku ALSA.

Co jest ze sterownikiem DGA? Nie mogę go znaleźć!

`./configure` automatycznie wykrywa Twój sterownik DGA. Jeżeli `-vo help` nie wyświetla DGA to coś jest nie tak z Twoją instalacją X. Spróbuj `./configure --enable-dga` i przeczytaj sekcję DGA. Możesz również wypróbować sterownik SDL DGA, używając opcji `-vo sdl:dga`.

OK, `-vo help` wyświetla sterownik DGA, lecz narzeka na uprawnienia. Pomocy!

Sterownik działa tylko gdy uruchamiany jako root! Jest to ograniczenie DGA. Powinieneś stać się rootem (`su -`) i spróbować jeszcze raz. Innym rozwiązaniem jest ustawienia bitu SUID na MPlayerze ale nie jest to zalecane!

         chown root /usr/local/bin/mplayer
         chmod 755 /usr/local/bin/mplayer
         chmod +s /usr/local/bin/mplayer

Jest to duże zagrożenie bezpieczeństwa! Nigdy nie rób tego na serwerze lub komuterze, którego nie jesteś w stanie całkowicie kontrolować, ponieważ inni użytkownicy mogą zdobyć uprawnienia roota poprzez SUID root MPlayera. Zostałeś ostrzeżony.

Podczas używania Xvideo mój Voodoo 3/Banshee mówi:

    X Error of failed request: BadAccess (attempt to access private resource denied)
       Major opcode of failed request: 147 (MIT-SHM)
       Minor opcode of failed request: 1 (X_ShmAttach)
       Serial number of failed request: 26
       Current serial number in output stream:27

Sterownik tdfx w XFree86 4.0.2/4.0.3 miał ten błąd. Zostało to rozwiązane przez poprawkę #621 z logu CVS XFree86 4.1.0. Zaktualizuj więc XFree86 do 4.1.0 lub nowszego. Możesz także ściągnąć DRI w wersji (przynajmniej) 0.6 ze strony DRI lub użyj DRI z CVSu.

Wyjście OpenGL (`-vo gl`) nie działa (zwis/czarne okno/błedy X11/...).

Twój sterownik OpenGL nie obsługuje dynamicznych zmian tekstur (glTexSubImage). Wiadomo, że nie działa z binarnym śmietnikiem nVidii. Działa z kartami Utah-GLX/DRI i Matrox G400, jak również z DRI i kartami Radeon. Nie będzie działać z DRI i innymi kartami. Z kartami 3DFX nie będzie działać z powodu ograniczenia rozmiaru tekstur do 256x256.

Mam kartę nVidia TNT/TNT2. Mam pasek z dziwnymi kolorami zaraz pod filmem! Czyja to wina?

Jest to błąd w binarnych sterownikach X nVidii. Te błędy ujawniają się TYLKO przy kartach TNT/TNT2 i nie możemy nic z tym zrobić. Aby naprawić problem zaktualizuj binarne sterowniki do najnowszej wersji. Jeżeli ciągle jest źle, wyżalaj się nVidii!

Mam kartę nVidia XYZ. Gdy klikam na okno wyświetlania GUI, aby włączyć panel GUI, pojawia się czarny kwadrat w miejscu, w którym kliknąłem. Mam najnowsze sterowniki.

Tak, nVidia naprawiła poprzedni błąd (powyżej) i przedstawiła nam nowy. Pogratulujmy im. AKTUALIZACJA: Według nVidii, błąd został już naprawiony.

Ależ ten świat okrutny...! SDL obsługuje x11 ale nie xv!

Jeszcze raz spróbuj z x11. Teraz wypróbuj `-vo x11 -fs -zoom`. Widzisz róznicę? Nie?! OK, oto nadchodzi oświecenie: SDL przy wyborze x11 używa xv gdy jest to możliwe, nie musisz się tym martwić... Zauważ że z SDL możesz wymusić/wyłączyć używanie Xv poprzez `-forcexv` oraz `-noxv`

Odtwarzanie DVD

Co z nawigacją/menu DVD?

MPlayer nie obsługuje menu DVD ze względu na poważne ograniczenia konstrukcyjne, które uniemożliwiają poprawną obsługę stałych obrazów i treści interaktywnej. Jeżeli chcesz mieć fajne menu, będziesz musiał użyć innego odtwarzacza, takiego jak xine, vlc lub Ogle. Jeżeli chcesz nawigacji DVD w MPlayerze, to będziesz musiał sam ją zaimplementować. Bierz jednak pod uwagę, że jest to poważne przedsięwzięcie.

Napotkałem na taki błąd przy odtwarzaniu DVD:

    mplayer: ifo_read.c:1143: ifoRead_C_ADT_internal: Assertion nfo_length / sizeof(cell_adr_t) >= c_adt->nr_of_vobs' failed.

Jest to znany błąd libdvdread 0.9.1/0.9.2. Użyj libmpdvdkit2, który jest obecny w źródłach MPlayera i jest używany domyślnie.

Czy mogę skompilować libdvdread oraz libdvdcss na moim słodkim SPARCu pod Solarisem?

Kto wie... Mówią, że działa, więc proszę przetestuj to i przyślij nam informacje. Zajrzyj do dokumentacji libdvdread oraz jego strony domowej. Nie jesteśmy autorami libdvdread. Używaj libmpdvdkit2, który jest obecny w źródłach MPlayera i jest używany domyślnie.

Co z napisami? Czy MPlayer może je wyświetlać?

Tak. Spójrz do rozdziału DVD.

Jak mogę ustawić kod regionu w moim napędzie DVD? Nie mam Windowsów!

Użyj narzędzia regionset.

Czy muszę mieć uprawnienia użytkownika (setuid) root, aby móc odtwarzać DVD?

Nie. Jednakże musisz mieć poprawne prawa ustawione dla wpisu urządzenia DVD (w `/dev/`).

Skąd mam wziąć paczki libdvdread oraz libdvdcss?

Nie ma takiej potrzeby. Użwaj libmpdvdkit2, który jest obecny w źródłach i używany jest domyślnie. Wspomniane paczki znajdują się na stronie Ogle.

Czy jest możliwe odtwarzanie/kodowanie tylko wybranych rozdziałów?

Tak, spróbuj użyć opcji `-chapter`.

Odtwarzanie DVD jest bardzo wolne!

Użyj opcji `-cache` (opisana na stronie man) i spróbuj włączyć DMA dla napędu DVD, używając narzędzia `hdparm` (opisane w rozdziale CD).

Skopiowałem DVD używając vobcopy. Jak mogę je odtworzyć/zakodować z dysku twardego?

Użyj opcji `-dvd-device` aby odwołać się do katalogu zawierającego pliki:

    mplayer dvd://1 -dvd-device /ścieżka/do/katalogu

Prośby o wprowadzenie nowych możliwości

Jeżeli MPlayer jest zatrzymany i próbuję przewijać lub nacisnę jakikolwiek klawisz, MPlayer z powrotem wraca do odtwarzania. Chciałbym móc przwijać zatrzymany film.

Zaimplementowanie tego bez utraty synchronizacji A/V jest bardzo podchwytliwe. Wszelkie próby do tej pory zakończyły się porażką. Łatki mile widziane.

Chciałbym przewijać o +/- 1 ramkę zamiast 10 sekund.

Możesz przejść w przód o jedną klatkę przez naciśnięcie .. Film zostanie zatrzymany (po szczegóły zajrzyj do strony man). Wątpliwe jest, żeby przechodzenie w tył zostało zaimplementowane w najbliższym czasie.

Jak mogę zmusić MPlayera aby zapamiętał opcje jakich użyłem dla danego pliku, n.p. `film.avi`?

Stwórz plik `film.avi.conf` z opcjami specyficznymi dla pliku i umieść go w `~/.mplayer` lub w tym samym katalogu co plik.

Kodowanie

Jak mogę kodować?

Przeczytaj sekcję o MEncoderze.

Jak mogę tworzyć VCD?

Wypróbuj skrypt `mencvcd` z podkatalogu `TOOLS`. Korzystając z niego, możesz kodować DVD lub inne filmy do formatu VCD lub SVCD, a nawet wypalać bezpośrednio na CD.

Jak mogę połączyć dwa pliki video?

Przy odrobinie szczęścia zbiory MPEG można połączyć (zkonkatenować). Do zbiorów AVI możesz używać obsługi wielu zbiorów MEncodera w następujący sposób:

    mencoder -ovc copy -oac copy -o wyjście.avi plik1.avi plik2.avi

Zadziała to tylko jeśli zbiory mają tę samą rozdzielczość i kodek. Możesz też spróbować avidemux i avimerge (część zestawu narzędzi transcode).

Jak mogę naprawić pliki AVI z popsutym indeksem lub przeplotem?

Po prostu skopiuj strumienie audio i video do nowego zbioru, a MEncoder wygeneruje indeks. Oczywiście to nie może naprawić ewentualnych błędów w strumieniach audio i/lub video. Naprawia to też pliki z popsutym przeplotem, więc opcja `ni` nie będzie już potrzebna.

    mencoder -idx input.avi -ovc copy -oac copy -o output.avi

Nie mogę zakodować napisów z DVD do AVI!

Musisz poprawnie określić opcję `-sid`!

Jak mogę zakodować tylko wybrane rozdziały z DVD?

Użyj poprawnie opcji `-chapter`, na przykład: `-chapter 5-7`

Próbuję pracować z plikami 2GB+ na systemie plików VFAT. Czy to działa?

Nie, VFAT nie obsługuje plików 2GB+.

Dlaczego zalecany bitrate wypisywany przez MEncodera jest ujemny?

Ponieważ bitrate (ilość bitów na sekundę) z którym zakodowałeś audio jest za duże, aby film się zmieścił na jakimkolwiek CD. Sprawdź czy libmp3lame jest zainstalowana poprawnie.

Nie mogę zakodować pliku ASF do AVI/DivX, ponieważ ma on 1000 fps?

Ponieważ ASF używa zmiennego frame rate (ilość ramek na sekundę), a AVI używa ustalonej wartości, musisz ustawić ją ręcznie używając `-ofps`.

Jak mogę wstawić napisy do pliku wynikowego?

Po prostu przekaż opcję `-sub <nazwa_pliku>` (lub odpowiednio `-sid`) do MEncodera.

Jak zakodować wyłącznie dźwięk z teledysku?

Nie jest to możliwe bezpośrednio lecz możesz sprówować następującego sposobu (zwróć uwagę na znak & na końcu polecenia `mplayer`):

        mkfifo encode
        mplayer -ao pcm -aofile encode dvd://1 &
        lame your_opts encode music.mp3
        rm encode

Ten sposób pozwala na użycie dowolnego kodera, nie tylko LAME. Po prostu zamień `lame` w powyższym poleceniu na swój ulubiony koder audio.