MPlayer - Movie Player for LINUX (C) 2000-2002 Arpad Gereoffy (A'rpi/ESP-team)

http://www.mplayerhq.hu


[ Angielski ] [ Węgierski ] [ Niemiecki ] [ Francuski ] [ Włoski ] [ Polski ]


Spis treści



Żale developerów


0. Jak czytać tą dokumentaję?

Jeżeli instalujesz Mplayera po raz pierwszy: koniecznie przeczytaj wszystko, stąd do końca sekcji Instalacja i prześledź linki, które znajdziesz po drodze. Jeśli będziesz miał jakieś inne jeszcze pytania, wróć do spisu treści i wyszykaj odpowiedni temat, przeczytaj FAQ lub spróbuj przegrepować pliki dokumentacji pod kątem swojego problemu.

Podstawowa zasada dokumentacji: jeśli coś nie jest udokumentowane, to to nie istnieje. Jeśli nie powiem ci, że możesz kodować dźwięk z tunera TV, to nie możesz. Zdrowa dawka pomysłowości jest jednak mile widziana. Życzę dużo szczęścia. Będziesz go potrzebował :)

1. Wprowadzenie

1.1. O programie

MPlayer jest odgrywarką filmów pod LINUXem (działa pod wieloma innymi Unixami, i systemami opartymi na innych procesorach niż x86, zobacz sekcja 6). Wyświetla większość plików MPEG, VOB, AVI, OGG, VIVO, ASF/WMV, QT/MOV, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, korzystając z wielu własnych, XAnim oraz Win32 DLL kodeków. Możesz również oglądać VideoCD, SVCD, DVD, 3ivx, a nawet filmy DivX (i nie potrzebujesz wcale biblioteki avifile!). Kolejną dużą zaletą mplayera jest szeroki wachlarz sterowników wyjścia. Mplayer działa z X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, DirectFB, ale możesz też korzystać z GGI i SDL (i w ten sposób z wielu sterowników dostarczanych przez SDL), a także z niskopoziomowych sterowników specyficznych dla danej karty (Matrox, 3Dfx i Radeon)! Większość dostępnych sterowników wspiera programowe i sprzętowe skalowanie, możesz więc cieszyć się oglądaniem filmów w trybie pełnoekranowym. MPlayer obsługuje wyświetlanie poprzez pewne sprzętowe karty dekodujące MPEG , takie jak DVB i DXR3/Hollywood+ ! A co powiesz na ładne, duże, antyaliasowane i cieniowane napisy (wspieranych jest 10 typów!!!) z europejskim ISO 8859-1,2 (węgierskimi, angielskimi, czeskimi itd.), cyrylicą, koreańskimi fontami oraz OSD?

MPlayer jest oparty na licencji GPL v2.

Moja odgrywarka jest wybitnie dobra w odgrywaniu uszkodzonych plików MPEG (co jest użyteczne w pewnych VCD), a także odgrywa złe pliki AVI, które są nie do odtworzenia przy użyciu słynnego windows media player. Nawet pliki AVI bez indeksowania są odgrywane i możesz tymczasowo przebudować ich indeksy za pomocą opcji -idx, albo na stałe, za pomocą MEncoder, co umożlliwia przeszukiwanie. Jak widzisz, stabilność i jakość, to rzeczy najważniejsze, ale prędkość jest również zadziwiająca.

1.2. Historia

Wszystko zaczęło się rok temu... Ja, A'rpi, próbowałem wielu odgrywarek pod linuxa (mtv,xmps,dvdview,livid/oms,videolan, xine, xanim, avifile, xmmp), ale wszystkie miały jakieś wady, głównie dotyczące odtwarzania plików specjalnych oraz synchronizacji obrazu i dźwięku. Większość z nich nie potrafi odgrywać plików w obu formatach MPEG1/2 i AVI (DivX). Wiele z nich miało również problemy z jakością obrazu lub prędkością. Postanowiłem więc napisać nowy lub zmodyfikować jeden z tych programów...

1.3. Instalacja

W tym rozdziale spróbuję przeprowadzić cię przez proces kompilacji i konfiguracji MPlayera. Nie jest to proste, ale też niekoniecznie musi być trudne. Jeśli zaobserwujesz inne zachowanie, niż to, które opiszę, proszę, przeszukaj tą dokumentację, a znajdziesz wyjaśnienie. Kiedy zobaczysz linki, przeczytaj uważnie dokumenty, które one wskazują. Zajmie ci to trochę czasu, ale warto to zrobić.

Potrzebna ci będzie dość nowa wersja systemu. W Linuksie zalecane są jądra 2.4.x.

WYMAGANE OPROGRAMOWANIE

KODEKI

KARTY GRAFICZNE

Ogólnie istnieją dwa rodzaje kart graficznych. Jeden rodzaj, to karty (nowsze) posiadające obsługę sprzętowej akceleracji skalowania i YUV, czego nie posiadają pozostałe karty.

KARTY YUV

Potrafią one wyświetlać i skalować (zoom) obrazki do dowolnego rozmiaru, jaki mieści się w ich pamięci, z małym zużyciem CPU (zooming nie zwieksza go!), dzięki czemu masz bardzo szybkie pełnoekranowe odtwarzanie.

Karty bez YUV

Pełnoekranowe odgrywanie może być osiągnięte albo przez zooming programowy (uzyj opcji -zoom, ale ostrzegam cię: to jest zbyt wooolne!), albo przez zmianę, na mniejszy, trybu video (videomode), np. na 352x288. Jeśli nie masz akceleracji YUV, to rekomendowana jest ta druga metoda. Za pomocą MPlayera, można to włączyć za pomocą opcji -vm z następującymi sterownikami:

KARTY DŻWIĘKOWE

WŁAŚCIWOŚCI

Następnie zbuduj MPlayera:

    ./configure
    make
    make install

Na tym etapie MPlayer jest gotowy do używania. Katalog /usr/local/share/mplayer zawiera plik codecs.conf, który jest używany, aby poinformować program o wszystkich kodekach i ich możliwościach. Ten plik powinien być zawsze uaktualniany wraz z biblioteką main!
Sprawdź czy masz codecs.conf w katalogu domowym (~/.mplayer/codecs.conf) pozostały po starych wersjach MPlayera i usuń go!

Użytkownicy Debiana mogą samodzielnie budować pakiety .deb, to bardzo proste. Po prostu wywołaj fakeroot debian/rules binary w głównym katalogu MPlayera. Szczegółowe instrukcje można znaleźć tu.

ZAWSZE przeglądaj komunikaty z ./configure oraz zawartość pliku configure.log, możesz tam znaleźć informacje o tym, co zostanie zbudowane, a co nie. Możesz również przejrzeć pliki config.h i config.mak.
Jeśli masz jakieś biblioteki zainstalowane, ale nie zostały one wykryte podczas ./configure, wówczas sprawdź, czy masz również odpowiednie pliki nagłówkowe (zazwyczaj pakiety -dev) i czy zgadzają się ich wersje. W pliku configure.log znajdziesz informację o tym, czego brakuje.

Choć to nie jest niezbędne, fonty powinny być zainstalowane, aby można było osiągnąć funkcjonalność OSD i napisy. Ściągnij mp-arial-iso-8859-*.zip i/lub opcjonalnie (jeśli istnieją) uaktualnienia językowe. BARDZO ZALECANE jest sprawdzenie szczegółów w sekcji 1.5.

    mkdir ~/.mplayer/font
    cd ~/.mplayer/font
    unzip mp-arial-iso-8859-1.zip

1.4. A co z GUI?

GUI wymaga GTK (nie jest ono napisane w GTK, ale panele są). Skórki są przechowywane w formacie PNGt, więc gtk i libpng (oraz ich części devel) muszą być zainstalowane. Możesz zbudować GUI specyfikując --enable-gui podczas ./configure . Jest kilka sposobów na włączenie trybu GUI:

WSKAZÓWKA: użyj środkowego przycisku myszki (w 2 przyciskowych myszkach wciśnij prawy i lewy przycisk jednocześnie), aby wywołać menu GTK, z opcją odgrywania DVD!

Ponieważ MPlayer nie zawiera skórek, musisz ściągnąć je, jeżeli chcesz używać GUI. Zobacz stronę download. Skórki powinny być rozpakowane do typowego ogólnodostępnego katalogu systemowego (/usr/local/share/mplayer/Skin), lub do $HOME/.mplayer/Skin . MPlayer domyślnie szuka w tych katalogach katalogu o nazwie default, ale możesz za pomocą opcji -skin newskin, bądź dyrektywy skin=newskin w pliku konfiguracyjnym wskazać użycie skórki z katalogu */Skin/newskin.

1.5. Napisy i OSD

MPlayer możę wyświetlać napisy wraz z plikami z filmami. Aktualnie obsługiwane są następujące formaty:

Polecenia z lini komend różnią się odrobinę w różnych formatach.

Napisy VobSub
Napisy VobSub składają się z dużego (kilka MB) .SUB i opcjonalnie z plików .IDX oraz/lub .IFO.
Sposób użycia: jeśli masz pliki w rodzaju: sample.sub, sample.ifo, sample.idx - musisz podać opcje: -vobsub sample -vobsubid<id> (opcjonalnie ze ścieżką dopliku, oczywiście). Opcja -vobsubid jest odpowiednikiem opcji -sid dla DVD. Z tą opcją możesz wybierać wersję językową z dostępnych ścieżek napisów.

Inne formaty napisów
Inne formaty napisów składają się z pojedynczego pliku tekstowego, zawierającego taktowanie, miejsce i tekstową informację.
Sposób użycia: jeśli masz pliki w rodzaju: sample.txt, - musisz podać opcję: -sub sample.txt (opcjonalnie ze ścieżką dopliku, oczywiście).

Dostrajanie taktowania i rozmieszczenia napisów
-subdelay <sec> : opóźnia napisy o <sec> sekund. Może mieć ujemną wartość.
-subfps <rate> : wyznacza współczynnik frame/sec pliku z napisami (liczba zmiennoprzecinkowa)
-subpos <0 - 100> : wyznacza umiejscowienie napisów.

Jeśli zaobserwujesz rosnące opóźnienie napisów w stosunku do filmu, podczas używania pliku z napisami MicroDVD, najprawdopodobniej frame rate filmu i napisów są inne.
Musisz wiedzieć, że format napisów MicroDVD stosuje całkowitą numerację klatek do taktowania i dlatego opcja -subfps nie może być stosowana do tego formatu. Ponieważ MPlayer nie ma możlliwości odgadnięcia frame rate pliku z napisami, musisz ręcznie przekonwertować frame rate napisów. Mały skrypt w perlu znajduje się w katalogu contrib na stronie ftp MPlayera. Za jego pomocą można dokonać tej konwersji.

O napisach DVD przeczytać możesz w sekcji DVD.

MPlayer wprowadza nowy format napisów zwany MPsub. Został on zaprojektowany przeze mnie (Gabucino). Oznacza to przede wszystkim tyle, że jego podstawową cechą jest dynamiczniy tryb time-based (chociaż posiada on również tryb frame-based). Przykład (z DOCS/tech/mpsub.sub):

# pierwsza liczba : czekaj tyle sekund po zniknięciu porzedniego napisu
# druga liczba : wyświetlaj aktualny napis przez tyle sekund

15 3
A long, long time ago...

0 3
in a galaxy far away...

0 3
Naboo was under an attack.

A więc widzisz, że głównym celem było uczynienie napisów łatwymi w edycji/taktowaniu/łaczeniu/obcinaniu. I jeżeli, powiedzmy, dostaniesz do swojej wersji filmu napisy SSA, ale źle taktowane/opóźnione, wywołaj po prostu: mplayer dummy.avi -sub source.ssa -dumpmpsub . Plik dump.mpsub będzie stworzony w aktualnym katalogu i będzie zawierał źródłowy text napisów, ale w formacie MPsub. Wówczas możesz już w dowolny sposób dodawać/usuwać sekundy do/z napisu.

Napisy są wyświetlane w technice nazywanej 'OSD', On Screen Display. OSD jest stosowane do wyświetlania aktualnego czasu, paska głośności, paska przeszukiwania itp.

INSTALACJA OSD i SUB

Potrzebny ci będzie pakiet z fontami MPlayera, aby móc korzystać z właściwości OSD/SUB. Jest wiele sposobów, aby je zdobyć:

Potem rozpakuj pliki, które ściągnąłeś, do ~/.mplayer lub $PREFIX/share/mplayer. Następnie zmień nazwę lub stwórz link symboliczny do jednego z nich o nazwie font (np. tak: ln -s ~/.mplayer/arial-24~/.mplayer/font). Teraz powinieneś zobaczyć zegar w lewym górnym rogu ekranu (wyłączysz to za pomocą klawisza 'o').

OSD ma 3 stany: (przełączane za pomocą 'o')

Możesz zmienić domyślne zachowanie, ustawiając zmienną osdlevel= w pliku konfiguracyjnym.

2. Właściwości

2.1. Wspierane formaty

2.2. Wspierane kodeki

2.3. Urządzenia wyjścia dla obrazu i dźwięku.

2.4. MEncoder - uniwersalny koder

2.5. Wejście TV

2.5.1. O zagadnieniu

To jest sekcja o tym, jak włączyć oglądanie/nagrywanie z użyciem tunera TV komatybilnego z V4L .

2.5.2. Kompilacja

Wskazówka: czy kolory są prawidłowe? Jeśli nie, to znaczy, że twój tuner nie potrafi wyświetlać w modelu kolorów YV12. Spróbuj I420 (musisz użyć także opcji -vc rawi420!) lub w modelach YUY2, UYVY, RGB32 (tutaj zastosuj opcję -vo sdl). Możesz to wyspecyfikować za pomocą opcji outfmt=YV12, zobacz poniżej.

2.5.3. Dostępne opcje
   on    użyj wejścia TV
   noaudio    dzięki, żadnego dźwięku
   driver dummy - wejście TV jest NULL :) Używane tylko do testów, generuje wejście dummy.
v4l - zgrywa obrazki ze standardowego interfejsu V4L (domyślnie /dev/video0)
   device    określ inne niż domyślne /dev/video0 urządzenie
   input    podaj, z jakiego wejścia tunera TV chcesz odbierać (np.television, s-video, composite, ...)
Dostępne wejścia są wypisywane przy inicjalizacji.
   freq    określ częstotliwość, aby ustawić tuner (np. 511.250)
   outfmt    w jakim formacie wyjściowym tuner powinien przetransportować obrazy do nas (rgb32, rgb24, yv12, uyvy, i420 (dla i420 musisz podać opcję -vc rawi420, z powodu konfliktu fourcc))
   width    szerokość w pikselach okna wyjściowego
   height    wysokość w pikselach okna wyjściowego
   norm    dostępne: PAL, SECAM, NTSC
   channel    ustaw tuner na podany kanał
   chanlist    dostępne: us-bcast, us-cable, europe-west, europe-east, itp.

2.5.4. Sterowanie z klawiatury

   h lub l    przełącz poprzedni/następny kanał
n zmień normę
b zmień listę kanałów

2.5.5. Przykłady

Wyjście Dummy, dla AAlib :)
    mplayer -tv on:driver=dummy:width=640:height=480 -vo aa

Wejście ze standardowego V4L
    mplayer -tv on:driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv

2.6. Filtry obrazu

2.6.1. O zagadnieniu

Zarówno MPlayer jak i MEncoder umożliwiają użycie universal video filter layer, który składa się z wielu wtyczek - wymienionych i wyjaśnionych poniżej. Te wtyczki mogą wykonywać różne operacje na obrazie takie, jak przeskalowanie, obcięcie obrazu za pomocą czarnych pasów (użyteczne nie tylko przy kodowaniu, ale również przy odgrywaniu, ponieważ czarne pasy zwiększają użycie szyny i odcięcie ich może zwiększyć szbkość odgrywania przy wolnych kartach), rozszerzenie obrazu (dla SVCD).

Z tym layer'em filtrów możliwe jest przeprowadzenie szybkiej konwersji formatu obrazu pomiędzy różnymi RGB i YUV, jeśłi to konieczne. Umożliwia on między innymi odgrywanie danych RGB na wyjściach xv i xmga (zobacz filtr Scale).

Layer również wykonuje Direct Rendering pomiędzy wtyczkami, aby zmaksymalizować prędkość.

Zauważ, że kod postprocessing'u jest teraz również częścią layer'a. Będzie to wyjaśnione poniżęj.

2.6.2. Użycie

  mplayer/mencoder -vop filter1,filter2,filter3,...

Ustawia kolejkę filtrów (możęsz użyć dowolnej liczby filtrów). Parametry filtrów są opcjonalne i jeśli się je pominie, niektóre z nich będą ustawione na domyślne wartości, jak x i y są obie ustawiane na środek ekranu, a szerokość i wysokość - na szerokość i wysokość filmu.

Filters are queued starting from libvo, so filter1 will be the last called filter (after that libvo comes, or when using MEncoder, encoding).

2.6.3. Crop

Opis:

Odcina podana część obrazu i odrzuca resztę. Użyteczne do usuwania czarnych pasów w filmach szerokoekranowych.

Użycie:

  -vop crop[=width:height:x:y]

2.6.4. Expand

Opis:

Rozszerza (NIE skaluje) rozdzielczość filmu do podanej wartości i umieszcza nieprzeskalowany oryginalny obraz w x y. W filmach, które tego nie mają, można dodać dzięki temu filtrowi czarne pasy. Jest to dobre, gdy tworzy się SVCD, albo w przypadku użycia wyjścia obrazu na SDL, dzięki czemu można na czarnych pasach umieścić napisy.

Użycie:

  -vop expand[=width:height:x:y]

2.6.5. Fame

Opis:

Koder MPEG1 czasu rzeczywistego (do stosowania z DVB/DXR3).

Użycie:

  -vop fame

2.6.6. Flip

Opis:

Zwyczajnie odwraca obraz. Użyteczny w pewnych starych kodekach, które mogą mieć na wyjściu jedynie odwrócone obrazy (jest to automatycznie wykrywane).

Użycie:

  -vop flip

2.6.7. Format

Opis:

Ten filtr NIE jest konwerterem formatu obrazu. On jedynie wymusza format obrazu, który ma być użyty w następnym filtrze (lub libvo).Użyteczny przy kartach z wolnym YV12, jak tdfx i Savage4. Dla rzeczywistej konwersji użyj filtru scale.

Użycie:

  -vop format[=format] (where format can be for example: rgb32, yuy2, etc...)

2.6.8. Postprocess

Opis:

To jest nasz stary dobry postprocess, tylko przekonwertowany na filter layer. Poprawia jakość obrazu, deinterlacing, itp., zobacz -npp help w celu obejrzenia dostępnych opcji.

Użycie:

  -vop pp[=postprocess options/keywords]

2.6.9. RGB2BGR

Opis:

Powoduje konwersje przestrzeni kolorów RGB 24/32 <-> BGR 24/32 (zachowanie domyślne) lub konwersję RGB 24/32 <-> RGB 24/32 oraz R<->B swapping (z opcją 'swap')

Użycie:

  -vop rgb2bgr[=swap]

2.6.10. Rotate (obroty)

Opis:

Obraca (odwraca) obraz. Parametr 'x' (wrtości: 0-3) kontroluje poziome i pionowe obdbijanie.

Użycie:

  -vop rotate[=x]

2.6.11. Scale (skalowanie)

Opis:

Skaluje obraz za pomocą programowego skalera (powolne). Możesz dostosować jakość skalera za pomocą opcji -sws - zobacz stronę manuala. Dobra jakość powoduje straty na prędkości.

UWAGA:: użycie tego filtru bez opcji oznbacza konwersję przestrzeni kolorów! To jest wygodne dla kodeków, które nie mogą wyprowadzać wyników w żądanym formacie dla podanego użądzenia wyjściowego video. Są one zazwyczaj automatycznie wykrywane i filtr skalujący jest wywoływany w celu konwersji. W innym przypadku możesz go użyć ręcznie.

Użycie:

  -vop scale[=szerokość:wysokość]

2.6.13. YUY2

Opis:

Wymuszona konwersja programowa YV12/I420 do YUY2.

Użycie:

  -vop yuy2

2.6.13. Lavc

Opis:

Koder MPEG1 czasu rzeczywistego (do stosowania z DVB/DXR3).

Użycie:

  -vop lavc

3. Użycie

3.1. Linia poleceń

MPlayer używa complex playtree. Zawiera ono globalne opcje zapisane jako pierwsze (np.: mplayer -vfm 5) jak i opcje zapisane za nazwami plików, które są stosowane tylko do podanych plików/URL/czegokolwiek (np.: mplayer -vfm 5 movie1.avi movie2.avi -vfm 4).
Możesz pogrupować nazwy plików / adresy URL używając { i }. To jest użyteczne wraz z opcją -loop: mplayer { 1.avi -loop 2 2.avi } -loop 3 odtworzy pliki w kolejności: 1 1 2 1 1 2 1 1 2

file
      mplayer [opcje] [path/]filename
files mplayer [default opcje] [path/]filename1 [opcje dla filename1] filename2 [opcje dla filename2] ...
VCD mplayer [opcje] -vcd trackno /dev/cdrom
DVD mplayer [opcje] -dvd titleno [-dvd-device /dev/dvd]
net mplayer [opcje] http://site.com/file.asf (tu również może być użyta playlista)

Najnowsze wersje MPlayera również akceptuje ścieżki VCD i DVD w stylu URL, tak, jak to robi Xine: mplayer dvd://1 albo mplayer vcd://1

  mplayer -vo x11 /mnt/Films/Contact/contact2.mpg
  mplayer -vcd 2 
  mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
  mplayer -dvd 1 -dvd-device /dev/hdc
  mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi

3.2. Sterowanie

MPlayer ma w pełni konfigurowalny, strerowany z klawiatury panel sterowania, który pozwala ci sterować MPlayerem za pomocą klawiatury, myszy, joysticka bądź pilota (z użyciem lirc).

3.2.1 Domyślne sterowanie

Klawiatura

HOME lub END
<- lub -> poszukiwanie wstecz/naprzód o 10 sekund
strzałka w górę lub w dół poszukiwanie wstecz/naprzód o 1 minutę
pgup/pgdown poszukiwanie wstecz/naprzód o 10 minut
< lub > poszukiwanie wstecz/naprzód po playliście
p lub spacja zatrzymanie filmu (wciśnij jakikolwiek przycisk)
q lub ESC zakończenie odgrywania i wyjście z programu
+ lub - dopasuj opóźnienie dźwięku o +/- 0.1 sekundy
r lub t dopasuj pozycję napisów
> lub < idź do następnej/poprzedniej pozycji w playtree
idź do następnej/poprzedniej pozycji w rodzicielskiej liście
INSERT lub DELETE idź do następnego/poprzedniego alternatywnego źródła (dostępne tylko w playlistach asx)
/ lub * zmniejsz/zwiększ głośność
o włącz/wyłącz OSD: nic /pasek poszukiwania / pasek poszukiwania + zegar
m włącz/wyłącz używanie dźwięku master/pcm
z lub x dopasuj opóźnienie napisów o +/- 0.1 sekundy

(następujące klawisze są ważne tylko wtedy, gdy używasz opcji -vo xv)

1 lub 2 dostosuj kontrast
3 lub 4 dostosuj jasność
5 lub 6 dostosuj odcień
7 lub 8 dostosuj nasycenie

GUI

   , i .    poprzedni / następny plik
szary - lub + zmniejsz / zwiększ głośność
enter rozpocznij odgrywanie
spacja pauza
s stop
a informacje o programie
l wczytaj plik
b przeglądarka skórek
e włącz/wyłącz equalizer
p włącz wyłącz listę odtwarzania
f włącz/wyłącz pełny ekran
m włącz/wyłącz wyciszenie dźwięku

TV

   h lub l    wybierz porzedni / następny kanał
n zmień normę
b zmień listę kanałów

3.2.2 Konfiguracja sterowania

MPlayer pozwala ci podpiąć dowolny klawisz/przycisk do dowolnej komendy MPlayera za pomocą prostego pliku konfiguracyjnego. Składnia pliku ma postać: nazwa klawisza, a po niej polecenie. Domyślny plik konfiguracyjny jest umieszczony w $HOME/.mplayer/input.conf, ale można go przesłonić za pomocą przełącznika -input conf (względna ścieżka jest traktowana względem $HOME/.mplayer). Przykład:

##
## MPlayer input control file
##

RIGHT seek +10
LEFT seek -10
- audio_delay 0.100
+ audio_delay -0.100
q quit
> pt_step 1
< pt_step -1
ENTER pt_step 1 1

3.2.2.1. Nazwy klawiszy

Możesz obejrzeć pełną listę, wywołując mplayer -input keylist.

Klawiatura

Mysz

Uwaga : mysz działa tylko w X-ach

Joystick

Uwaga : obsługa joystick-a musi zostać włączona podczas kompilacji

3.2.2.2. Polecenia

Pełną listę zobaczysz, wywołując mplayer -input cmdlist

3.2.3. Sterowanie za pomocą LIRC

Linux Infrared Remote Control - użyj łatwego w budowie, domowej roboty odbiornika IR, (prawie) dowolnego pilota i kontroluj za jego pomocą swoje linux box! Więcej na ten temat na www.lirc.org.

Jeśli zainstalowałeś pakiet lirc, configure wykryje go automatycznie. Jeśli inicjalizacja LIRC zakończyło się dobrze, MPlayer poinformuje cię o tym na starcie w następujący sposób: "Setting up lirc support...". Zawiadomi cie także wtedy, gdy pojawią się błędy. Jeśli nie wspomni o LIRC w ogóle, oznacza to, że obsługa LIRC nie została wkompilowana. To tyle :-)

Nazwa aplikacji dla MPlayera, to - nie zgadłbyś - 'mplayer'. Możesz używać dowolnych poleceń mplayera, nawet kilka na raz, oddzielając je za pomocą "\n". Nie zapomnij włączyć flagi powtarzania w .lircrc, kiedy to ma sens (seek, volume, itp.). Oto wyrywek z mojego .lircrc:

begin
     button = VOLUME_PLUS
     prog = mplayer
     config = volume 1
     repeat = 1
end

begin
    button = VOLUME_MINUS
    prog = mplayer
    config = volume -1
    repeat = 1
end

begin
    button = CD_PLAY
    prog = mplayer
    config = pause
end

begin
    button = CD_STOP
    prog = mplayer
    config = seek 0 1\npause
end

Jeśli nie odpowiada ci standardowa lokalizacja pliku lirc-config (~/.lircrc) użyj przełącznika -lircconf <nazwa_pliku>, aby podać inny plik.

3.2.4. Tryb slave

Tryb slave pozwala na zbudowanie prostego frontend-u dla MPlayera. Kiedy jest włączony (za pomocą przełącznika -slave), MPlayer bedzie czytał polecenia rozdzielone nowymi liniami (\n) ze standardowego wejścia.

3.3. Przesyłanie przez sieć i rurki

MPlayer potrafi odgrywać pliki przesyłane przez sieć, za pomocą protokołu HTTP lub MMS.

Odtwarzanie uruchamia się przez zwyczajne podanie adresu URL w linii poleceń. MPlayer honoruje również zmienną środowiskową http_proxy i używa proxy jeśli jest ono dostępne. Proxy może być również wymyszone:

mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf

MPlayer potrafi czytać ze standardowego wejścia (NIE z nazwanych potoków (pipes)). Można to zastosować do odgrywania z FTP:

wget ftp://micorsops.com/something.avi -O - | mplayer -

Uwaga:rekomendowane jest włączenie CACHE podczas odgrywania przez sieć:

wget ftp://micorsops.com/something.avi -O - | mplayer -cache 8192 -

4. sekcja FAQ

5. sekcja CD/DVD

6. Różne systemy operacyjne

6.1. Pakiety Debiana

Aby zbudować pakiet, zdobądź wersję cvs, albo .tgz i rozpakuj ją. Przejdź do katalogu z programami:

    cd main
    fakeroot debian/rules binary

(... mplayer wykrywa sprzęt/oprogramowanie, buduje się i ... ) dpkg-deb: building package `mplayer' in `../mplayer_0.18-1_i386.deb'.

A teraz jako root:

    dpkg -i ../mplayer_0.18-1_i386.deb as root.

Oto, jak to wygląda:

	eyck@incubus:/src/main$ sudo dpkg -i ../mplayer_0.18-1_i386.deb
	Password:
	(Reading database ... 26946 files and directories currently installed.)
	Preparing to replace mplayer 0.17a-1 (using ../mplayer_0.18-1_i386.deb)
	Unpacking replacement mplayer ...
	Setting up mplayer (0.18-1) ...

6.2. FreeBSD

Aby zbudować pakiet, będziesz potrzebował GNU make (gmake, /usr/ports/devel/gmake), pochądzący z BSD make nie zadziała.

Aby uruchomić MPlayera, będziesz musiał rekompilować jądro z "options USER_LDT" (o ile nie używasz -CURRENT, gdzie to jest domyślne). Jeśli masz CPU z SSE, uzyj również "options CPU_ENABLE_SSE", aby go używać (FreeBSD-STABLE jest wymagane, albo użyj łat na jądro).

Jeśli MPlayer narzeka, że: "CD-ROM Device '/dev/cdrom' not found!", stwórz link symboliczny: ln -s /dev/(your_cdrom_device) /dev/cdrom

Nie ma obsługi DVD dla FreeBSD jak dotąd.

6.3. Solaris

MPlayer powinien działać na Solaris 2.6 lub nowszym.

Odtwarzanie plików AVI najlepiej działa na Solaris x86, ponieważ jest opcja do użycia kodeków win32 na platformie x86 lub mogą być użyte instrukcje MMX/MMX2/3DNow/utp do MP3/DivX/DVD/czegokolwiek. Na Solaris SPARC naprawdę rzadko spotkać się możesz z niedziałaniem obrazu lub dźwięku w plikach AVI z powodu braku kodeków video/audio używających biblioteki Win32 DLL. Natomiast powinny działać filmy DivX/OpenDivX z kodekiem libavcodec.

Na systemach UltraSPARC, MPlayer korzysta z rozszerzeń VIS (równoważnym MMX), aktualnie tylko w libmpeg2, libvo i libavcodec, ale nie w mp3lib. Możesz oglądać plik VOB na 400Mhz CPU. Trzeba zainstalować mLib.

Aby zbudować pakiet, potrzebny ci będzie GNU make (gmake, /opt/sfw/gmake), pochądzący z Solarisa make nie zadziała. Typowy błąd, jaki się pojawi podczas budowania za pomocą solarisowego make zamiast GNU make, to:

   % /usr/ccs/bin/make
   make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen

Na Solaris SPARC potrzebować będziesz kompilatora GNU C/C++ Compiler; nie ma znaczenia czy kompilator GNU C/C++ jest skonfigurowany z czy bez GNU assemblera.

Na Solaris x86 potrzebny jest GNU assembler i kompilator GNU C/C++ skonfigurowany tak, aby używał GNU assemblera! Kod mplayera na platformie x86 dużo korzysta z instrukcji MMX, SSE i 3DNOW!, które nie mogą być skompilowane za pomocą assemblera Sun'a /usr/ccs/bin/as.

Skrypt configure usiłuje dowiedzieć się, który program assemblera jest używany przez twoje polecenie "gcc" (w przypadku nieudanej autodetekcji, użyj opcji "--as=/tam/gdzie/zainstalowales/gnu-as", aby poinformować skrypt configure, gdzie może on znaleźć GNU "as" w twoim systemie).

Komunikat o błędzie z configure w systemie Solaris x86, stosującym GCC bez GNU assemblera:

   % configure
   ...
   Checking assembler (/usr/ccs/bin/as) ... , failed
   Please upgrade(downgrade) binutils to 2.10.1...

(Rozwiązanie: Zainstaluj i użyj gcc skonfigurowanego z "--with-as=gas")

Typowy błąd podczas użycia kompilatora GNU C nie stosującego GNU as:

   % gmake
   ...
   gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
	-fomit-frame-pointer  -I/usr/local/include   -o mplayer.o mplayer.c
   Assembler: mplayer.c
   "(stdin)", line 3567 : Illegal mnemonic
   "(stdin)", line 3567 : Syntax error
   ... more "Illegal mnemonic" and "Syntax error" errors ...

Dla obsługi DVD musisz mieć zainstalowane libcss z nałożoną łatą. Łatę znajdziesz tu: http://www.tools.de/solaris/mplayer/.

Z powodu dwóch błędów w systemie solaris 8 x86, nie możesz wydajnie odtwarzać DVD przy pojemności >4GB:

On Solaris with an UltraSPARC CPU, you can get some extra speed by using the CPU's VIS instructions for certain time consuming operations. VIS acceleration can be used in MPlayer by calling functions in Sun's mediaLib.

VIS accelerated operations from mediaLib are used for mpeg2 video decoding and for color space conversion in the video output drivers.

6.4. StrongARM

MPlayer, jak doniesiono, kompiluje się na StrongARM. Zastosuj następującą linię poleceń:

  ./configure --target=arm-linux --disable-css --with-x11libdir=/usr/arm/lib
	      --with-x11incdir=/usr/arm/lib --disable-gcc-checking

6.5. Silicon Graphics Indigo / IRIX

Doniesiono, że pracuje. Najprawdopodobniej musisz użyć sterownika sgi ao. Może ktoś ma bliższe informacje?

6.6. QNX

Działa. Musisz ściągnąć i zainstalować SDL dla QNX. Następnie uruchom MPlayera z opcjami: -vo sdl:photon i -ao sdl:nto, a powinno działać szybko.

Wyjście -vo x11 jest wolniejsze nawet niż w Linuksie, gdyż QNX ma tylko emulację X-ów, która jest BARDZO wolna. Używaj więc SDL.

6.7. OpenBSD

Aby zbudować pakiet, będziesz potrzebował GNU make (gmake, /usr/ports/devel/gmake), native BSD make nie zadziała, a także najnowsze binutils (włączając objcopy).

Z powodu ograniczeń w różnych wersjach gas (relocation vs mmx), musisz przeprowadzić dwa kroki kompilacji: najpierw upewnij się, że non-native jest jako pierwszy w PATH i wykonaj 'gmake -k', a następnie się upewnij, że wersja native jest używana i wykonaj 'gmake'.

Aby użyć Win32 DLLs z MPlayerem, musisz przekompilować jądro z opcją "USER_LDT".

Jeżeli MPlayer zgłasza problem ze znalezieniem '/dev/cdrom' lub '/dev/dvd', zrób link symbolliczny, np. ln -s /dev/rcd0c /dev/dvd

Dodatek A - Autorzy

UWAGA: *NIE* wysyłaj raportów o błędach, próśb o pomoc i życzeń na przyszłość wprost do autorów!

Przeczytaj dodatek C i zasubskrybuj listę dyskusyjną użytkowników Mplayera

Projekt MPlayer:

Główni testerzy:

Kodeki i biblioteki:

Ich kod nie jest używany w obecnej wersji odgrywarki, ale otrzymuję pewne pomysły i techniczne wsparcie z ich strony:

Dodatek A/2 - maintainerzy kodu i dokumentacji MPlayera

Strona domowa

Dokumentacja w języku angielskim

Tłumaczenia dokumentacji

Platformy sprzętowe/porty:

Kod MPlayera:

Sterowniki libvo:

Sterowniki VIDIX:

Sterowniki libao2:

Narzędzia:

Dodatek B - Listy dyskusyjne

Istnieje kilka publicznych list dyskusyjnych o MPlayerze. Zasubskrybować je można pod podanymi adresami:

UWAGA: Językiem powyższych list jest ANGIELSKI o ile nie zaznaczono wyraźnie, że jest inaczej. Nie wysyłaj, proszę, wiadomości w innych językach!

UWAGA: Możesz skorzystać z przeszukiwalnego archiwum list tutaj.

Dodatek C - Jak zgłaszać błędy

Dodatek D - Znane błędy

Błędy/problemy związane z konkretnym systemem/procesorem:

Różne problemy z synchronizacją A-V dźwięku:

Ogólnie, opóźnienia dźwięku albo szarpany dźwięk (pojawiające się w wielu, bądź wszystkich plikach):

Zła synchronizacja/opóźnianie przy jednym lub kilku plikach:

Kompletny brak dźwięku:
Brak obrazu (po prostu zwykłe szare/zielone okno):

Problemy z wyjściem wideo:

Pierwsza uwaga: opcje: -fs -vm i -zoom są tylko zalecane, nie są jak dotąd obsługiwane przez wszystkie sterowniki. Więc to nie jest błąd, jeśli nie działają. Tylko kilka sterowników wspiera skalowanie/zooming (zbliżanie/oddalanie), nie oczekuj tego od z11 czy dga.

Migotanie OSD/napisów:
- sterownik x11: przykro mi, ale na razie nie może to zostać naprawione
- sterownik xv: użyj opcji -double

Zielony obraz podczas używania mga_vid (-vo mga / -vo xmga):
- mga_vid źle wykryta ilość pamięci RAM w twojej karcie, przeładuj to używając opcji mga_ram_size