# Sposób użycia

## Wiersz poleceń

MPlayer używa skomplikowanego drzewa odtwarzania. Składa się ono 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/]plik1 [opcje dla pliku1] plik2 [opcje dla 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

## Napisy i OSD

MPlayer może wyświetlać napisy podczas odtwarzania filmu. Obecnie obsługiwane są następujące formaty:

- VOBsub

- OGM

- CC (closed caption)

- MicroDVD

- SubRip

- SubViewer

- Sami

- VPlayer

- RT

- SSA

- PJS (Phoenix Japanimation Society)

- MPsub

- AQTitle

- JACOsub

MPlayer może zrzucić wyżej wymienione formaty napisów (poza pierwszymi trzema) do następujących formatów, jeśli podasz odpowiednią opcję:

- MPsub: `-dumpmpsub`

- SubRip: `-dumpsrtsub`

- MicroDVD: `-dumpmicrodvdsub`

- JACOsub: `-dumpjacosub`

- Sami: `-dumpsami`

MEncoder może zrzucić napisy DVD do formatu VOBsub.

Opcje wiersza poleceń różnią się nieco dla poszczególnych formatów:

### Format VOBsub

Napisy VOBsub składają się z dużego (kilkumegabajtowego) pliku `.SUB` i opcjonalnych plików `.IDX` i/lub `.IFO`. Jeżeli masz takie pliki, jak `przykład.sub`, `przykład.ifo` (opcjonalne), `przykład.idx` - musisz przekazać MPlayerowi opcje `-vobsub przykład [-vobsubid id]` (pełna ścieżka jest opcjonalna). Parametr `-vobsubid` jest, jak `-sid` dla DVD - przy jego pomocy możesz wybierać pomiędzy ścieżkami napisów (różne języki). Jeżeli opcja `-vobsubid` jest pominięta, MPlayer spróbuje użyć języka podanego przez parametr `-slang` i powróci do langidx zawartego w pliku`.IDX`, żeby ustawić język napisów. Jeżeli to zakończy się niepowodzeniem, napisy nie będą wyświetlane.

### Inne formaty napisów

Inne formaty składają się z pojedynczego pliku tekstowego zawierającego przedział czasowy, rozmieszczenie i sam tekst. Sposób użycia: Jeżeli masz taki plik, jak `przykład.txt`, musisz przekazać opcję `-sub przykład.txt` (pełna ścieżka jest opcjonalna).

### Dopasowywanie czasu wyświetlania i położenia napisów:

`-subdelay sek`

  Opóźnia wyświetlanie napisów o `sek` sekund. Może być liczbą ujemną. Wartość jest dodawana do licznika czasu filmu.

`-subfps ILOŚĆ`

  Określa ilość klatek na sekundę pliku z napisami (liczba rzeczywista).

`-subpos 0-100`

  Określa położenie napisów.

Jeżeli podczas używania napisów w formacie MicroDVD zauważysz rosnące opóźnienie między nimi a filmem, to prawdopodobnie ilość klatek na sekundę filmu różni się od wartości, do której zostały przystosowane napisy. Zauważ, że format ten korzysta z bezwzględnych numerów klatek do wyświetlania napisów w odpowiednim momencie, ale nie zawiera w sobie informacji o wartości fps, dlatego powinieneś skorzystać z opcji `-subfps`. Jeżeli chciałbyś trwale rozwiązać ten problem, musisz ręcznie zmienić wartość framerate pliku z napisami. MPlayer może zrobić to za ciebie:

    mplayer -dumpmicrodvdsub -fps fps_napisów -subfps fps_filmu \
        -sub zbiór_z_napisami atrapa.avi

O napisach DVD przeczytasz w rozdziale DVD.

## Sterowanie

MPlayer posiada w pełni konfigurowalną, opartą na komendach warstwę sterowania, która pozwala na sterowanie MPlayerem za pomocą klawiatury, myszki, joysticka lub zdalnego sterowania (za pomocą LIRC). Zajrzyj na stronę 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ę obsługiwanych klawiszy 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ś pakiet LIRC, `configure` automatycznie go wykryje. Jeśli wszystko pójdzie dobrze, MPlayer wypisze przy starcie "Setting up LIRC support...". 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ł ze standardowego wejścia komendy oddzielone znakami nowego wiersza (\n). 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:

    i
    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.

## 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". Używana jest struktura z pojedynczym poleceniem w wierszu, w którym określone jest co należy zrobić (skip/mute), oraz kiedy (używając opóźnienia w sekundach).

### 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, naciśnij i, aby oznaczyć początek i koniec bloku do pominięcia. Odpowiedni wpis zostanie automatycznie utworzony w pliku. Wtedy możesz wrócić do edycji i "dostrajania" wygenerowanego pliku EDL, w którym możesz także zmienić domyślne pomijanie bloku na wyciszanie.

## Zaawansowane audio

### Dźwięk przestrzenny/wielokanałowy

#### DVDs

Większość płyt DVD, a także wiele innych plików, zawiera dźwięk przestrzenny. MPlayer obsługuje dźwięk przestrzenny, ale opcja ta nie jest domyślnie włączona, ponieważ sprzęt przeznaczony dla zwykłego stereo jest znacznie bedziej popularny. Aby odtworzyć plik zawierający więcej niż dwa kanały audio, użyj opcji `-channels`. Na przykład, aby odtworzyć DVD z audio 5.1:

    mplayer dvd://1 -channels 6

Zauważmy, że mimo nazwy "5.1", używanych jest 6 kanałów. Jeżeli posiadasz sprzęt pozwalający na odtwarzanie dźwięku przestrzennego możesz bezpiecznie wpisać `channels` do swojego pliku konfiguracyjnego MPlayera (`~/.mplayer/config`). Przykładowo, aby domyślnie włączyć efekt kwadrofonii, należy dodać wiersz:

    channels=4

Od tego momentu, MPlayer będzie odtwarzał cztery kanały audio, zawsze gdy będą one dostępne.

#### Odtwarzanie plików stereo przy użyciu czterech głośników

MPlayer standardowo nie duplikuje kanałów, ani nie robi tego większość sterowników audio. Jeżeli chcesz zrobić to ręcznie:

    mplayer filename -af channels=2:2:0:1:0:0

Zobacz sekcję o kopiowaniu kanałów, jest tam wyjaśnienie tego polecenia.

#### Przekazywanie AC3/DTS

Dźwięk przestrzenny na płytach DVD zazwyczaj kodowany jest w formacie AC3 (Dolby Digital) lub DTS (Digital Theater System). Część współczesnego sprzętu audio jest w stanie dekodować te formaty. MPlayer może zostać skonfigurowany, aby przekazywał dane audio bez ich dekodowania. Rozwiązanie takie będzie działało tylko, jeżeli posiadasz w swojej karcie muzycznej złącze S/PDIF (Sony/Philips Digital Interface).

Jeżeli twój sprzęt audio potrafi dekodować zarówno AC3 jak i DTS, możesz bezpiecznie włączyć przekazywanie dla obu formatów. W przeciwnym razie, tylko dla tego formatu, który jest obsługiwany przez Twój sprzęt.

##### Aby włączyć przekazywanie z wiersza poleceń:

- dla AC3 użyj `-ac hwac3`

- dla DTS użyj `-ac hwdts`

- dla AC3 i DTS użyj `-afm hwac3`

##### Aby włączyć przekazywanie w pliku konfiguracyjnym MPlayera:

- dla AC3 użyj `ac=hwac3,`

- dla DTS użyj `ac=hwdts,`

- dla AC3 i DTS użyj `afm=hwac3`

Zauważ, że na końcu opcji `ac=hwac3,` oraz `ac=hwdts,` są przecinki. Powodują one, że MPlayer będzie używał standardowych kodeków, które są normalnie używane podczas odtwarzania plików, które nie posiadają dźwięku AC3 ani DTS. Opcja `afm=hwac3` nie wymaga przecinka, samo podanie rodziny kodeków powoduje że MPlayer wypróbuje inne gdy będzie musiał.

#### Przekazywanie dźwięku MPEG

Cyfrowe transmisje TV (takie jak DVB czy ATSC), także niektóre płyty DVDs zazwyczaj zawierają strumienie audio w formacie MPEG (zazwyczaj MP2). Część sprzętowych dekoderów MPEG, takich jak pełnofunkcjonalne karty DVB, oraz adaptery DXR2, potrafi natywnie dekodować ten format. MPlayer może zostać tak skonfigurowany, aby przekazywać dane audio bez ich dekodowania.

Aby użyć tego sposobu dekodowania:

     mplayer -ac hwmpa

#### Dźwięk zakodowany macierzowo

***TODO***

Ta sekcja musi dopiero zostać napisana i nie może zostać ukończona zanim ktoś nie dostarczy przykładowych plików do testów. Jeżeli posiadasz jakieś pliki audio zakodowane macierzowo (matrix-encoded), wiesz kto je posiada lub wiesz cokolwiek co mogłoby być pomocne, wyślij proszę informację na listę mailingową MPlayer-DOCS W temacie podaj "[matrix-encoded audio]".

Jeżeli nie nadejdą żadne wiadomości, ta sekcja zostanie usunięta.

Przydatne linki:

- http://electronics.howstuffworks.com/surround-sound5.htm

- http://www.extremetech.com/article2/0,1697,1016875,00.asp

#### Emulacja przestrzeni w słuchawkach

MPlayer posiada filtr HRTF (Head Related Transfer Function) bazujący na projekcie MIT, w ramach którego wykonane zostały pomiary z mikrofonów zamontowanych na głowie ludzkiego manekina.

Chociaż nie jest możliwe dokładne zasymulowanie systemu dźwięku przestrzennego, filtr HRTF zawarty w MPlayerze powoduje bardziej przestrzenne zanurzenie w dźwięku przy użyciu 2-kanałowych słuchawek. Standardowy procedura po prostu łączy wszystkie kanały w dwa. `hrtf`, obok łączenia kanałów, generuje także subtelne echa, nieznacznie zwiększa separację kanałów stereo, a także zmienia głośność niektórych częstotliwości. To, czy dźwięk HRTF brzmi lepiej, może zależeć od źródła dźwięku oraz gustu słuchacza, ale z pewnością jest on warty wypróbowania.

Odtwarzanie DVD z HRTF:

    mplayer dvd://1 -channels 6 -af hrtf

`hrtf` działa poprawnie tylko przy 5 i 6 kanałach. Opcja ta wymaga także audio próbkowanego z częstotliwością 48kHz. Audio na płytach DVD jest już próbkowane 48kHz, lecz jeżeli chcesz odtworzyć plik z innym próbkowaniem i opcją `hrtf`, musisz dokonać jego przepróbkowania tego pliku:

    mplayer filename -channels 6 -af resample=48000,hrtf

#### Rozwiązywanie problemów

Jeżeli nie słyszysz żadnych dźwięków, sprawdź ustawienia miksera przy pomocy stosownego programu, takiego jak alsamixer; niejednokrotnie wyjścia audio są domyślnie wyciszone lub ich głośność jest ustawiona na zero.

### Manipulowanie kanałami

#### Ogólne informacje

Niestety nie ma żadnego standardu opisującego w jaki sposób kanały są uporządkowane. Poniższe porządki przedstawiają te używane przez AC3, które są dość typowe. Spróbuj ich i sprawdź czy odpowiednie źródła dźwięku się zgadzają. Kanały są numerowane od 0.

##### mono

1. środkowy

##### stereo

1. lewy

2. prawy

##### kwadrofonia

1. lewy przedni

2. prawy przedni

3. lewy tylny

4. prawy tylny

##### surround 4.0

1. lewy przedni

2. prawy przedni

3. środkowy tylny

4. środkowy przedni

##### surround 5.0

1. lewy przedni

2. prawy przedni

3. lewy tylny

4. prawy tylny

5. środkowy przedni

##### surround 5.1

1. lewy przedni

2. prawy przedni

3. lewy tylny

4. prawy tylny

5. środkowy przedni

6. subwoofer (głośnik niskotonowy)

Opcja `-channels` jest używana w celu określenia liczby kanałów dekodowanego audio. Niektóre kodeki audio wykorzystują tę liczbę aby zdecydować czy konieczne jest zmniejszenie liczby kanałów poprzez miksowanie. Zauważ, że ustawienie tej opcji nie jest równoważne z ustawieniem liczby wyjściowych kanałów. Przykładowo, używając opcji `-channels 4` aby odtworzyć plik stereo MP3, otrzymamy 2 kanały wyjściowe, bowiem kodek MP3 nie potrafi spreparować dodatkowych kanałów.

Filtr audio `channels` może być użyty aby stworzyć lub usunąć kanały, co może być przydatne przy określaniu liczy kanałów przesyłanych do karty muzycznej. Aby dowiedzieć się więcej, zobacz kolejne sekcje.

#### Odtwarzanie dźwięku mono przy użyciu dwóch głośników

Dźwięk mono brzmi znacznie lepiej, gdy jest odtwarzany przy użyciu dwóch głośników - szczególnie gdy używamy słuchawek. Pliki audio, które posiadają tylko jeden kanał audio są automatycznie odtwarzane przy użyciu obu głośników; niestety większość plików mono jest zakodowana jako dźwięk stereo, gdzie jeden kanał jest wyciszony. Najłatwiejszą i najbardziej niezawodną metodą pozwalającą na odtworzenie dźwięku przy użyciu obu głośników jest użycie filtru `extrastereo`:

    mplayer filename -af extrastereo=0

Metoda ta uśrednia oba kanały, co skutkuje zmniejszeniu głośności każdego z kanałów o połowę względem oryginału. W następnej sekcji zawarto przykłady innych metod rozwiązania tego problemu bez zmniejszania głośności; niestety są one bardziej skomplikowanego i wymagają różnych opcji w zależności od kanału, który zawiera dane. Jeżeli na prawdę potrzebujesz utrzymać głośność, możliwe że łatwiej będzie odpowiednio dopasować głośność przy użyciu filtru `volume`. Na przykład:

    mplayer filename -af extrastereo=0,volume=5

#### Kopiowanie i przesuwanie kanałów

Filtr `channels` potrafi przesunąć dowolny jeden lub wszystkie kanały. Ustawienie wszystkich podopcji filtru `channels` może być skomplikowane i wymaga nieco uwagi.

1. Zdecyduj ile wyjściowych kanałów audio potrzebujesz. Oto pierwsza podopcja.

2. Policz ile przesunięć kanałów zamierzasz wykonać. To jest druga podopcja. Każdy kanał może być przesunięty do kilku różnych kanałów w tym samym czasie, ale pamiętaj, że gdy przesuniesz kanał (również gdy tylko do jednego kanału docelowego), źródło zostanie opróżnione, chyba że inny kanał zostanie tam przesunięty. Aby skopiować kanał, pozostawiając źródło nietknięte, po prostu przesuń kanał zarówno do miejsca kopiowania, jak i do źródła. Na przykład:

       kanał 2 --> kanał 3
       kanał 2 --> kanał 2

3. Wypisz kopie kanałów jako pary subopcji. Pamiętaj, że pierwszy kanał ma numer 0, drugi 1 itd. Kolejność subopcji nie jest istotna tak długo, ale muszą one być pogrupowane w pary typu źródło:cel.

Przykład: jeden kanał w dwóch głośnikach

Oto przykład innej metody odtwarzania jednego kanału w dwóch głośnikach. Załóżmy, że lewy kanał ma być odtwarzany, a prawy ma zostać pominięty. Zgodnie z krokami opisanymi powyżej:

1. Aby dostarczyć dźwięk do każdego z dwóch głośników, pierwsza opcja musi mieć wartość "2".

2. Lewy kanał musi zostać przesunięty do prawego kanału oraz lewego, aby nie został on pusty. Sumaryczna liczba przesunięć to dwa, zatem druga opcja to również "2".

3. Aby przesunąć lewy kanał (kanał 0) do kanału prawego (kanał 1), para subopcji musi byc "0:1", "0:0" przesunie lewy kanał do siebie.

Po połączeniu wszystkiego razem otrzymamy:

    mplayer filename -af channels=2:2:0:1:0:0

Przewaga tego przykładu nad opcją `extrastereo` jest taka, że głośność każdego z kanałów wyjściowych pozostanie taka sama jak kanału źródłowego. Wadą jest, że podopcje muszą zostać zmienione na "2:2:1:0:1:1", gdy dźwięk zawiera kanał prawy. Ponadto trudniej to zapamiętać i wpisać.

Przykład: lewy kanał w obu głośnikach (skrót)

Istnieje znacznie łatwiejsza metoda na użycie filtru `channels` w celu odtworzenia lewego kanału w dwóch głośnikach:

    mplayer filename -af channels=1

Drugi kanał jest pomijany, a pierwszy jest pozostawiany, bez dodatkowych podopcji. Sterowniki kart muzycznych automatycznie odtwarzają jednokanałowy dźwięk wykorzystując oba głośniki. Oczywiście zadziała to tylko, gdy pożądanym kanałem jest kanał lewy.

Przykład: kopiowanie kanałów przednich do kanałów tylnych

Kolejną typową operacją jest kopiowanie kanałów przednich i odtwarzanie ich z tylnych głośników zestawu kwadrofonicznego.

1. Potrzebujemy czterech kanałów wyjściowych, więc pierwsza podopcja to "4".

2. Każdy z przednich kanałów musi zostać przesunięty do odpowiedniego kanału tylnego oraz do siebie. W sumie użyte będą cztery przesunięcia, więc druga opcja to "4".

3. Lewy przedni kanał (kanał 0) musi zostać przesunięty do lewego tylnego (kanał 2): "0:2". Lewy przedni musi być także przesunięty do siebie: "0:0". Prawy przedni (kanał 1) musi zostać przesunięty do prawego tylnego (kanał 3): "1:3" oraz do siebie: "1:1".

Po połączeniu wszystkich podopcji otrzymujemy:

    mplayer filename -af channels=4:4:0:2:0:0:1:3:1:1

#### Miksowanie kanałów

Filtr `pan` potrafi zmiksować kanały w określonych przez użytkownika proporcjach. Pozwala to na wykonanie wszystkiego tego co potrafi filtr `channels` i wiele więcej. Niestety podopcje są tutaj znacznie bardziej skomplikowane.

1. Zdecyduj z iloma kanałami chcesz pracować. Aby to określić możesz potrzebować użyć `-channels` i/lub `-af channels`. Późniejsze przykłady pokażą kiedy użyć którego.

2. Zdecyduj ile kanałów ma zostać wprowadzonych do `pan` (dalsze dekodowane kanały zostaną porzucone). To jest pierwsza podopcja. Kontroluje ona także liczbę kanałów używanych jako wyjście.

3. Pozostałe podopcje określają jak dużą część danego kanału zmiksować do kanału docelowego. To jest najbardziej skomplikowana część. Aby sprostać temu zadaniu, podzielmy podopcje na kilka grup, po jednej dla każdego kanału wyjściowego. Każda podopcja w zbiorze odpowiada pojedynczemu kanałowi wejściowemu. Liczba, którą podasz odpowiada części kanału wejściowego, która zostanie zmiksowana w kanale wyjściowym.

   `pan` akceptuje wartości od 0 do 512, co odpowiada wartościom od 0% do 51200% oryginalnej głośności. Bądź ostrożny używając wartości większych od 1. Może to spowodować nie tylko bardzo duże zwiększenie głośności, ale także, jeżeli przekroczysz zakres swojej karty muzycznej, możesz usłyszeć okropne trzaski. Jeżeli chcesz, możesz stosować po filtrze `pan` dopisać `,volume`, co włączy obcinanie głośności, jednak najlepiej używać na tyle małych wartości parametrów `pan`, aby przycinanie nie było potrzebne.

Przykład: jeden kanał w dwóch głośnikach

Oto jeszcze jeden przykład, jak odtworzyć lewy kanał w dwóch głośnikach. Postępując zgodnie z krokami opisanymi powyżej:

1. `pan` powinien używać dwóch kanałów wyjściowych, więc pierwsza podopcja to "2".

2. Ponieważ mamy dwa kanały wejściowe, będziemy mieli dwie grupy podopcji. Ponieważ używane są również dwa kanały wyjściowe, w każdej grupie będą po dwie podopcje. Lewy kanał z pliku powinien zostać skopiowany z pełną głośnością do nowych kanału: lewego i prawego. W związku z tym, pierwsza grupa podopcji to "1:1". Prawy kanał powinien zostać pominięty, zatem druga grupa to "0:0". Wszelkie zera na końcu listy podopcji mogą zostać pominięte, ale dla przejrzystości przykładu, pozostawimy je.

Po złączeniu wszystkich podopcji otrzymamy:

    mplayer filename -af pan=2:1:1:0:0

Jeżeli pożądanym kanałem jest prawy, a nie lewy, podopcje zmienią się na "2:0:0:1:1".

Przykład: lewy kanał w dwóch głośnikach (skrót)

Podobnie jak przy użyciu `channels`, istnieje skrót działający tylko z lewym kanałem:

    mplayer filename -af pan=1:1

Jeżeli `pan` posiada tylko jeden kanał wejściowy (pozostałe kanały są pomijane), potrzebna jest tylko jedna grupa podopcji z jedną podopcją, która oznacza, że jedyny kanał będzie zawierał 100% siebie.

Przykład: zmniejszanie liczy kanałów w 6-kanałowym PCM

Dekoder 6-kanałowego PCM zawarty w MPlayerze nie potrafi zmniejszać liczby kanałów przez miksowanie. Oto metoda dokonania tego przy użyciu opcji `pan`:

1. Liczba kanałów wyjściowych to 2, więc pierwsza podopcja to "2".

2. Jako, że mamy 6 kanałów wejściowych, musimy użyć sześciu grup opcji. Na szczęście, ponieważ interesują nas tylko dwa pierwsze kanały, możemy użyć tylko dwóch grup opcji; pozostałe cztery grupy mogą zostać pominięte. Pamiętaj, że nie wszystkie wielokanałowe pliki audio mają tę samą kolejność kanałów. Poniższy przykład pokazuje zmniejszanie liczby kanałów w pliku, w którym kolejność kanałów jest taka, jak w AC3 5.1:

       0 - lewy przedni
       1 - prawy przedni
       2 - lewy tylny
       3 - prawy tylny
       4 - środkowy przedni
       5 - subwoofer (głośnik niskotonowy)

   Pierwsza grupa podopcji zawiera kolejne wartości oryginalnej głośności lewego przedniego kanału, które powinny być dostarczone do odpowiednich kanałów wyjściowych: "1:0". Prawy przedni kanał powinien zostać przeniesiony do prawego wyjściowego: "0:1". Analogicznie dla kanałów tylnych: "1:0" i "0:1". Kanał środkowy powinien zostać przeniesiony do obu kanałów wyjściowych z połową głośności: "0.5:0.5", zaś kanał głośnika niskotonowego powinien być słyszalny w obu kanałach wyjściowych z pełną głośnością: "1:1".

Połącz wszystko razem, a otrzymasz:

    mplayer 6-channel.wav -af pan=2:1:0:0:1:1:0:0:1:0.5:0.5:1:1

Przedstawione powyżej głośności są tylko przybliżonym przykładem. Nie czuj się nimi skrępowany i zmieniaj je zgodnie ze swoim uznaniem.

Przykład: Odtwarzanie audio 5.1 przy pomocy dużych głośników, bez subwoofera

Jeżeli posiadasz parę dużych przednich głośników, możesz nie mieć ochoty tracić pieniędzy na dodatkowy głośnik niskotonowy, tylko po to, aby mieć kompletny system 5.1. Jeżeli użyjesz opcji `-channels 5`, przekażesz do lib52 informację, że ma dekodować audio 5.1 dla systemu 5.0. Tym sposobem kanał głośnika niskotonowego zostanie po prostu pominięty. Jeżeli chcesz rozdzielić kanał subwoofera samodzielnie, musisz dokonać ręcznego zmiksowania przy użyciu `pan`:

1. Jako, że `pan` musi analizować wszystkie 6 kanałów, podaj opcję `-channels 6`, aby liba52 zdekodował je wszystkie.

2. Ponieważ `pan` będzie używał pięciu kanałów wyjściowych, pierwsza podopcja to "5".

3. Sześć kanałów wejściowych i pięć wyjściowych oznacza 6 grup po 5 podopcji.

   - Lewy przedni kanał replikuje samego siebie: "1:0:0:0:0"

   - Identycznie dla prawego przedniego kanału: "0:1:0:0:0"

   - Tak samo dla lewego tylnego: "0:0:1:0:0"

   - Oraz tak samo dla prawego tylnego: "0:0:0:1:0"

   - Środkowy też: "0:0:0:0:1"

   - Teraz musimy zdecydować, co zrobić z subwooferem. Na przykład możemy podzielić go po połowie na lewy przedni i prawy przedni: "0.5:0.5:0:0:0"

Po połączeniu wszystkich opcji otrzymasz:

    mplayer dvd://1 -channels 6 -af pan=5:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0.5:0.5:0:0:0

### Programowa regulacja głośności

Niekóre ścieżki audio są zbyt ciche aby można ich komfortowo słuchać bez wzmocnienia. Staje się to problemem, gdy Twój sprzęt audio nie potrafi wzmacniać sygnału. Opcja `-softvol` instruuje MPlayera, aby ten używał wewnętrznego miksera. Możesz wtedy używać klawiszy strojenia głośności (domyślnie 9 i 0), aby uzyskać większe poziomy głośności. Pamiętaj, że nie omija to miksera Twojej karty muzycznej; MPlayer zwiększa tylko głośność sygnału przed przesłaniem go do Twojej karty. Poniższy przykład może być dobrym początkiem:

    mplayer cichy-plik -softvol -softvol-max 300

Opcja `-softvol-max` określa maksymalny dozwolony poziom głośności, jako procent głośności oryginalnej. Przykładowo, `-softvol-max 200` pozwoli na maksymalne zwiększenie głośności do 200% głośności oryginalnej. Można bezpiecznie używać dużych parametrów `-softvol-max`; większa głośność nie zostanie użyta, jeżeli nie zwiększysz jej przy pomocy klawiszy regulacji głośności. Jedyną wadą stosowania większych wartości jest to, że, ponieważ MPlayer ustala głośność jako procent głośności maksymalnej, nie będziesz w stanie precyzyjnie kontrolować głośności przy pomocy klawiszy regulacji głośności. Użyj mniejszych wartości parametrów `-softvol-max` i/lub dodaj opcję `-volstep 1` aby uzyskać większą precyzję.

Opcja `-softvol` działa poprzez kontrolę filtru `volume`. Jeżeli chcesz odtwarzać plik z określoną głośnością, możesz podać opcję dla `volume` ręcznie:

    mplayer cichy-plik -af volume=10

Pozwoli to na odtworzenie pliku z 10-decybelowym wzmocnieniem. Bądź ostrożny używając filtru `volume` - ustawiając zbyt dużą głośność możesz łatwo uszkodzić swój słuch. Zaczynaj od małych wartości i stopniowo zwiększaj je aż do uzyskania pożądanej głośności. Ponadto, jeżeli podasz zbyt dużą wartość, filtr `volume` może musieć przyciąć głośność, aby nie przesłać do karty muzycznej danych spoza akceptowalnego przez nią zakresu; będzie to powodować zniekształcenia dźwięku.