# Sposób użycia

## Wiersz poleceń

MPlayer używa skomplikowanego drzewa odtwarzania. Składa się on z opcji globalnych podanych na początku, na przykład:

    mplayer -vfm 5

i opcji podanych po nazwach plików, które stosują się jedynie do podanego pliku/URLa/czegokolwiek, na przykład:

    mplayer -vfm 5 film1.avi film2.avi -vfm 4

Możesz pogrupować nazwy plików/URLe za pomocą `{` oraz `}`. Przydaje się to przy opcji `-loop`:

    mplayer { 1.avi -loop 2 2.avi } -loop 3

Powyższe polecenie odtworzy pliki w kolejności: 1, 1, 2, 1, 1, 2, 1, 1, 2.

Odtwarzanie pliku:

    mplayer [opcje] [ścieżka/]nazwa_pliku

Kolejny sposób na odtworzenie pliku:

    mplayer [opcje] file:///zakodowana-ścieżka-uri

Odtwarzanie większej ilości plików:

    mplayer [opcje domyślne] [ścieżka/]nazwa_pliku1 [opcje dla nazwa_pliku1] nazwa_pliku2 [opcje dla nazwa_pliku2] ...

Odtwarzanie VCD:

    mplayer [opcje] vcd://numer_ścieżki [-cdrom-device /dev/cdrom]

Odtwarzanie DVD:

    mplayer [opcje] dvd://numer_tytułu [-dvd-device /dev/dvd]

Odtwarzanie z WWW:

    mplayer [opcje] http://strona.com/plik.asf

(można użyć również playlist)

Odtwarzanie z RTSP:

    mplayer [opcje] rtsp://serwer.przyklad.com/nazwa_strumienia

Przykłady:

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

## Sterowanie

MPlayer posiada w pełni konfigurowalną, opartą na komendach warstwę sterowania, która pozwala na sterowanie MPlayera za pomocą klawiatury, myszki, joysticka lub zdalnego sterowania (za pomocą LIRC). Zajrzyj do strony man w celu przejrzenia pełnej listy skrótów klawiszowych.

### Konfiguracja sterowania

MPlayer pozwala Ci przypisać dowolny klawisz/przycisk do dowolnego polecenia za pomocą prostego pliku konfiguracyjnego. Składnia tego pliku to nazwa klawisza, po której znajduje się komenda. Domyślny plik konfiguracyjny znajduje się w `$HOME/.mplayer/input.conf`, ale można podać także inny za pomocą opcji `-input plik` (ścieżki względne są względem `$HOME/.mplayer`).

Możesz uzyskać pełną listę uruchamiając `mplayer -input keylist`. i pełną listę dostępnych komend za pomocą `mplayer -input cmdlist`.

Przykładowy plik konfiguracji sterowania

    ##
    ## Plik konfiguracji sterowania MPlayera
    ##

    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

### Sterowanie poprzez LIRC

Linux Infrared Remote Control - użyj łatwego do własnoręcznego zbudowania odbiornika podczerwieni i (prawie) dowolnego pilota zdalnego sterowania i steruj nim swoim Linuksem! Więcej informacji na stronie domowej LIRC.

Jeśli zainstalowałeś LIRC, `configure` automatycznie go wykryje. Jeśli wszystko pójdzie dobrze, MPlayer wypisze "Setting up LIRC support..." przy starcie. Jeśli wystąpi błąd, powiadomi Cię o tym. Jeśli nic nie powie Ci na temat LIRC, to znaczy, że jego obsługa nie została wkompilowana. Proste :-)

Nazwa aplikacji dla MPlayer to - niespodzianka - `mplayer`. Możesz używać dowolnych komend MPlayera, a nawet podać więcej niż jedną komendę na raz oddzielając je za pomocą `\n`. Nie zapomnij o włączeniu flagi repeat w `.lircrc` jeśli ma to sens (skoki, głośność itp). To jest fragment przykładowego `.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 lubisz standardowej lokalizacji pliku lirc-config (`~/.lircrc`), użyj opcji `-lircconf nazwa_pliku` by podać inny plik.

### Tryb sługi

Tryb sługi pozwala Ci na utworzenie prostej nakładki na MPlayera. Po uruchomieniu z opcją `-slave` MPlayer będzie czytał komendy oddzielone znakami nowego wiersza (\n) ze standardowego wejścia. Komendy zostały udokumentowane w pliku slave.txt

## Strumieniowanie z sieci i potoków

MPlayer potrafi odtwarzać pliki z sieci, używając protokołów HTTP, FTP, MMS lub RTSP/RTP.

Odtwarzanie następuje przez proste podanie URLa w wierszu poleceń. MPlayer zwraca również uwagę na zmienną środowiskową `http_proxy` i używa proxy jeśli jest to możliwe. Korzystanie z proxy może być również wymuszone za pomocą:

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

MPlayer potrafi również czytać ze standardowego wejścia (nie z nazwanych potoków). Może to być wykorzystane np. do odtwarzania poprzez FTP:

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

Zalecane jest również włączenie `-cache` przy odtwarzaniu z sieci:

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

### Zapisywanie strumieniowanej zawartości

Jak już uda Ci się zmusić MPlayera do odtwarzania Twojego ulubionego strumienia internetowego, możesz użyć opcji `-dumpstream` aby zapisać strumień do pliku. Na przykład:

      mplayer http://217.71.208.37:8006 -dumpstream -dumpfile strumien.asf

zapisze zawartość strumieniowaną z http://217.71.208.37:8006 do pliku stream.asf. Działa to ze wszystkimi protokołami obsługiwanymi przez MPlayera, jak MMS, RSTP itd. Jeśli chcesz zapisać jedynie audio lub video, użyj odpowiednio `-dumpaudio` lub `-dumpvideo`, ale zwróć uwagę na to, że MPlayer zignoruje wszystkie poza ostatnią opcją `-dump*` podaną w linii poleceń.

## Strumienie zdalne

Strumienie zdalne pozwalają na dostęp do większości strumieni obsługiwanych przez MPlayera ze zdalnego hosta. Głównym celem tej funkcji jest umożliwienie bezpośredniego korzystania z napędu CD lub DVD innego komputera w sieci (pod warunkiem posiadania odpowiedniej przepustowości). Niestety niektóre typy strumieni (aktualnie TV oraz MF) nie są dostępne zdalnie, gdyż są zaimplementowane na poziomie demultipleksera. Jest to przykre w przypadku MF, gdyż TV i tak by wymagało szalonej przepustowości.

### Kompilacja serwera

Po kompilacji MPlayera wejdź do katalogu `TOOLS/netstream` i wpisz make by zbudować program serwera. Możesz wtedy skopiować program nestream do odpowiedniego miejsca w Twoim systemie (przeważnie `/usr/local/bin` pod Linuksem).

### Używanie strumieni zdalnych

Najpierw musisz uruchomić serwer na komputerze, do którego masz zamiar mieć dostęp zdalny. Aktualnie serwer jest bardzo podstawowy i nie ma żadnych argumentów wiersza poleceń, więc po prostu wpisz `netstream`. Teraz możesz np. odtworzyć drugą ścieżkę VCD na serwerze za pomocą:

    mplayer -cache 5000 mpst://nazwa_serwera/vcd://2

Masz również dostęp do plików na tym serwerze:

    mplayer -cache 5000 mpst://nazwa_serwera//usr/local/movies/lol.avi

Zauważ, że ścieżki, które nie zaczynają się na "/" będą względne do katalogu, w którym uruchomiono serwer. Opcja `-cache` nie jest wymagana, lecz bardzo zalecana.

Miej na uwadze to, że aktualnie serwer nie ma żadnych zabezpieczeń. Nie narzekaj więc na liczne nadużycia, które są przez to możliwe. Zamiast tego wyślij jakąś (dobrą) łatkę, by stał się lepszy lub napisz swój własny serwer.

## Decyzyjne Listy Edycji (Edit Decision Lists - EDL)

Decyzyjna lista edycji (EDL) pozwala na automatyczne omijanie, bądź wyciszanie fragmentów filmów podczas ich odtwarzania, na podstawie pliku konfiguracji EDL dla danego filmu.

Funkcja ta jest użyteczna dla osób, które zechcą obejrzeć film w "przyjaznym dla rodziny" trybie. Możesz usunąć z filmu przemoc, przekleństwa, Jar-Jar Binksa zgodnie z własnymi preferencjami. Ponadto istnieją także inne zastosowania, jak automatyczne pomijanie reklam w oglądanych filmach.

Format pliku EDL jest raczej "goły". Gdy system EDL osiągnie pewien stopień dojrzałości, prawdopodobnie zostanie zaimplamentowany format pliku bazujący na XML. (zachowując wsteczną kompatybilność z wcześniejszymi formatami EDL).

### Używanie pliku EDL

Użyj podczas uruchamiania MPlayera flagi `-edl <nazwa pliku>` z nazwą pliku EDL, który ma być zastosowany do filmu.

### Tworzenie pliku EDL

Aktualny format pliku EDL jest następujący:

    [sekunda początkowa] [sekunda końcowa] [akcja]

gdzie liczby odpowiadające sekundom nie muszą być całkowite, zaś akcja może przyjmować wartość `0` dla pominięcia bądź `1` dla wyciszenia. Na przykład:

    5.3   7.1    0
    15    16.7   1
    420   422    0

Oznacza to pominięcie filmu między 5,3 sekundą, a 7,1 sekundą filmu, następnie wyciszenie od 15-tej sekundy do 16,7 sekundy i wreszcie pominięcie filmu pomiędzy 420 a 422 sekundą Akcje te są wykonywane, gdy licznik czasu filmu osiągnie zadeklarowaną wartość.

Aby stworzyć plik EDL, będący punktem wyjścia do dalszej edycji, użyj flagi `-edlout <nazwa pliku>`. Następnie, podczas odtwarzania filmu, gdy zechcesz oznaczyć ostatnie dwie sekundy do pominięcia, naciśnij i. Odpowiedni wpis zostanie utworzony w pliku. Wtedy możesz wrócić do edycji i "dostrajania" wygenerowanego pliku EDL.