<?xml version="1.0" encoding="iso-8859-2"?>
<!-- synced with 1.23 -->
<chapter id="usage">
<title>Sposób użycia</title>

<sect1 id="commandline">
<title>Linia poleceń</title>

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

<screen>mplayer -vfm 5</screen>

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

<screen>mplayer -vfm 5 <replaceable>film1.avi</replaceable> <replaceable>film2.avi</replaceable> -vfm 4</screen>
</para>

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

<screen>mplayer { 1.avi -loop 2 2.avi } -loop 3</screen>

Powyższe polecenie odtworzy pliki w kolejności: 1, 1, 2, 1, 1, 2, 1, 1, 2.
</para>

<para>
Odtwarzanie pliku:
<synopsis>
<command>mplayer</command><!--
--> [<replaceable>opcje</replaceable>]<!--
--> [<replaceable>ścieżka</replaceable>/]<replaceable>nazwa_pliku</replaceable>
</synopsis>
</para>

<para>
Odtwarzanie większej ilości plików:
<synopsis>
<command>mplayer</command><!--
--> [<replaceable>opcje domyślne</replaceable>]<!--
--> [<replaceable>ścieżka</replaceable>/]<replaceable>nazwa_pliku1</replaceable><!--
--> [<replaceable>opcje dla nazwa_pliku1</replaceable>]<!--
--> <replaceable>nazwa_pliku2</replaceable><!--
--> [<replaceable>opcje dla nazwa_pliku2</replaceable>] ...
</synopsis>
</para>

<para>
Odtwarzanie VCD:
<synopsis>
<command>mplayer</command> [<replaceable>opcje</replaceable>]<!--
--> vcd://<replaceable>numer_ścieżki</replaceable><!--
--> [-cdrom-device <replaceable>/dev/cdrom</replaceable>]
</synopsis>
</para>

<para>
Odtwarzanie DVD:
<synopsis>
<command>mplayer</command> [<replaceable>opcje</replaceable>]<!--
--> dvd://<replaceable>numer_tytułu</replaceable><!--
--> [-dvd-device <replaceable>/dev/dvd</replaceable>]
</synopsis>
</para>

<para>
Odtwarzanie z WWW:
<synopsis>
<command>mplayer</command> [<replaceable>opcje</replaceable>]<!--
--> http://<replaceable>strona.com/plik.asf</replaceable>
</synopsis>
(można użyć również playlist)
</para>

<para>
Odtwarzanie z RTSP:
<synopsis>
<command>mplayer</command> [<replaceable>opcje</replaceable>]<!--
--> rtsp://<replaceable>serwer.przyklad.com/nazwa_strumienia</replaceable>
</synopsis>
</para>

<para>
Przykłady:
<screen>
mplayer -vo x11 <replaceable>/mnt/Films/Contact/contact2.mpg</replaceable>
mplayer vcd://<replaceable>2</replaceable> -cdrom-device <replaceable>/dev/hdc</replaceable>
mplayer -afm 3 <replaceable>/mnt/DVDtrailers/alien4.vob</replaceable>
mplayer dvd://<replaceable>1</replaceable> -dvd-device <replaceable>/dev/hdc</replaceable>
mplayer -abs 65536 -delay -0.4 -nobps <replaceable>~/movies/test.avi</replaceable><!--
--></screen>
</para>
</sect1>


<sect1 id="control">
<title>Sterowanie</title>

<para>
<application>MPlayer</application> posiada w pełni konfigurowalną, opartą na
komendach warstwę sterowania, która pozwala na sterowanie
<application>MPlayera</application> 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.
</para>


<sect2 id="ctrl-cfg">
<title>Konfiguracja sterowania</title>

<para>
<application>MPlayer</application> pozwala Ci przypisać dowolny klawisz/przycisk
do każdej komendy 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 <filename>$HOME/.mplayer/input.conf</filename>, ale
można podać także inny za pomocą opcji
<option>-input <replaceable>plik</replaceable></option>
(ścieżki względne są względem <filename>$HOME/.mplayer</filename>).
</para>

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

<example>
<title>Przykładowy plik konfiguracji sterowania</title>
<programlisting>
##
## Plik konfiguracji sterowania MPlayera
##

RIGHT seek +10
LEFT seek -10
- audio_delay 0.100
+ audio_delay -0.100
q quit
&gt; pt_step 1
&lt; pt_step -1
ENTER pt_step 1 1<!--
--></programlisting>
</example>
</sect2>


<sect2 id="lirc">
<title>Sterowanie poprzez LIRC</title>

<para>
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 <ulink url="http://www.lirc.org">stronie domowej LIRC</ulink>.
</para>

<para>
Jeśli zainstalowałeś LIRC, <filename>configure</filename> automatycznie go
wykryje. Jeśli wszystko pójdzie dobrze, <application>MPlayer</application>
wypisze &quot;<systemitem>Setting up LIRC support...</systemitem>&quot; 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 :-)
</para>

<para>
Nazwa aplikacji dla <application>MPlayer</application> to - niespodzianka -
<filename>mplayer</filename>. Możesz używać dowolnych komend
<application>MPlayera</application>, a nawet podać więcej niż jedną
komendę na raz oddzielając je za pomocą <literal>\n</literal>.

Nie zapomnij o włączeniu flagi repeat w <filename>.lircrc</filename> jeśli
ma to sens (skoki, głośność itp). To jest fragment przykładowego
<filename>.lircrc</filename>:
</para>

<programlisting>
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<!--
--></programlisting>

<para>
Jeśli nie lubisz standardowej lokalizacji pliku lirc-config
(<filename>~/.lircrc</filename>), użyj opcji <option>-lircconf
<replaceable>nazwa_pliku</replaceable></option> by podać inny plik.
</para>
</sect2>


<sect2 id="slave-mode">
<title>Tryb sługi</title>
<para>
Tryb sługi pozwala Ci na utworzenie prostej nakładki na
<application>MPlayera</application>. Po uruchomieniu z opcją
<option>-slave</option> <application>MPlayer</application> będzie czytał
komendy oddzielone znakami nowego wiersza (\n) ze standardowego wejścia.
Komendy zostały udokumentowane w pliku
<ulink url="../../tech/slave.txt">slave.txt</ulink>
</para>
</sect2>
</sect1>


<sect1 id="streaming">
<title>Strumieniowanie z sieci i potoków</title>

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

<para>
Odtwarzanie następuje przez proste podanie URLa w wierszu poleceń.
<application>MPlayer</application> zwraca również uwagę na zmienną środowiskową
<envar>http_proxy</envar> i używa proxy jeśli jest to możliwe. Korzystanie
z proxy może być również wymuszone za pomocą:
<screen>mplayer
<replaceable>http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/strumien.asf</replaceable></screen>
</para>

<para>
<application>MPlayer</application> potrafi również czytać ze standardowego wejścia
(<emphasis>nie</emphasis> z nazwanych potoków). Może to być wykorzystane np. do
odtwarzania poprzez FTP:
<screen>wget <replaceable>ftp://micorsops.com/cokolwiek.avi</replaceable> -O - | mplayer -</screen>
</para>

<note><para>
Zalecane jest również włączenie <option>-cache</option> przy odtwarzaniu
z sieci:
<screen>wget <replaceable>ftp://micorsops.com/cokolwiek.avi</replaceable> -O - | mplayer -cache 8192 -</screen>
</para></note>
</sect1>

<sect1 id="mpst" xreflabel="Remote streams">
<title>Strumienie zdalne</title>

<para>
Strumienie zdalne pozwalają na dostęp do większości strumieni obsługiwanych
przez <application>MPlayera</application> 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.
</para>

<sect2 id="compile_mpst_server">
<title>Kompilacja serwera</title>
<para>
Po kompilacji <application>MPlayera</application> wejdź do katalogu
<filename>TOOLS/netstream</filename> i wpisz <application>make</application>
by zbudować program serwera. Możesz wtedy skopiować program
<application>nestream</application> do odpowiedniego miejsca w Twoim
systemie (przeważnie <filename class="directory">/usr/local/bin</filename>
pod Linuksem).
</para>
</sect2>

<sect2 id="use_mpst">
<title>Używanie strumieni zdalnych</title>
<para>
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 <filename>netstream</filename>.
Teraz możesz np. odtworzyć drugą ścieżkę VCD na serwerze za pomocą:
<screen>
mplayer -cache 5000 <replaceable>mpst://nazwa_serwera/vcd://2</replaceable>
</screen>
Masz również dostęp do plików na tym serwerze:
<screen>
mplayer -cache 5000 <replaceable>mpst://nazwa_serwera//usr/local/movies/lol.avi</replaceable>
</screen>
Zauważ, że ścieżki, które nie zaczynają się na "/" będą względne do katalogu,
w którym uruchomiono serwer. Opcja <option>-cache</option> nie jest wymagana,
lecz bardzo zalecana.
</para>

<para>
Miej na uwadze to, że serwer nie jest aktualnie w ogóle bezpieczny. 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.
</para>

</sect2>

</sect1>

<sect1 id="edl" xreflabel="Edit Decision Lists (EDL)">
<title>Decyzyjne Listy Edycji (Edit Decision Lists - EDL)</title>

<para>
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.
</para>

<para>
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.
</para>

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

<para>
Maksymalna liczba wpisów dla aktualnego wcielenia EDL wynosi 1000.
Jeżeli zdarzy się, że będziesz potrzebował więcej, zmień tę wartość w
<systemitem>#define MAX_EDL_ENTRIES</systemitem> w pliku
<filename>edl.h</filename>.
</para>

<sect2 id="edl_using">
<title>Używanie pliku EDL</title>
<para>
Użyj podczas uruchamiania <application>MPlayera</application> flagi
<option>-edl &lt;nazwa pliku&gt;</option> z nazwą pliku EDL, który ma być
zastosowany do filmu.
</para>
</sect2>

<sect2 id="edl_making">
<title>Tworzenie pliku EDL</title>
<para>
Aktualny format pliku EDL jest następujący:
<programlisting>
[sekunda początkowa] [sekunda końcowa] [akcja]
</programlisting>
gdzie liczby odpowiadające sekundom nie muszą być całkowite, zaś akcja może
przyjmować wartość <literal>0</literal> dla pominięcia bądź
<literal>1</literal> dla wyciszenia.
Na przykład: 
<programlisting>
5.3   7.1    0
15    16.7   1
420   422    0
</programlisting>
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ść.
</para>

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

</sect1>

</chapter>
