<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r21748 -->
<!-- Opiekun: emdej -->
<chapter id="usage">
<title>Sposób użycia</title>

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

<para>
<application>MPlayer</application> używa skomplikowanego drzewa odtwarzania.
Składa się ono 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>
Kolejny sposób na odtworzenie pliku:
<synopsis>
<command>mplayer</command><!--
--> [<replaceable>opcje</replaceable>]<!--
--> <replaceable>file:///zakodowana-ścieżka-uri</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>plik1</replaceable><!--
--> [<replaceable>opcje dla pliku1</replaceable>]<!--
--> <replaceable>plik2</replaceable><!--
--> [<replaceable>opcje dla 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="subosd">
<title>Napisy i OSD</title>

<para>
<application>MPlayer</application> może wyświetlać napisy podczas odtwarzania
filmu. Obecnie obsługiwane są następujące formaty:
<itemizedlist>
  <listitem><para>VOBsub</para></listitem>
  <listitem><para>OGM</para></listitem>
  <listitem><para>CC (closed caption)</para></listitem>
  <listitem><para>MicroDVD</para></listitem>
  <listitem><para>SubRip</para></listitem>
  <listitem><para>SubViewer</para></listitem>
  <listitem><para>Sami</para></listitem>
  <listitem><para>VPlayer</para></listitem>
  <listitem><para>RT</para></listitem>
  <listitem><para>SSA</para></listitem>
  <listitem><para>PJS (Phoenix Japanimation Society)</para></listitem>
  <listitem><para>MPsub</para></listitem>
  <listitem><para>AQTitle</para></listitem>
  <listitem><para>
    <ulink url="http://unicorn.us.com/jacosub/">JACOsub</ulink></para>
  </listitem>
</itemizedlist>
</para>

<para>
<application>MPlayer</application> może zrzucić wyżej wymienione formaty napisów
(<emphasis role="bold">poza pierwszymi trzema</emphasis>) do następujących formatów,
jeśli podasz odpowiednią opcję:
<itemizedlist>
  <listitem><para>MPsub: <option>-dumpmpsub</option></para></listitem>
  <listitem><para>SubRip: <option>-dumpsrtsub</option></para></listitem>
  <listitem><para>MicroDVD: <option>-dumpmicrodvdsub</option></para></listitem>
  <listitem><para>JACOsub: <option>-dumpjacosub</option></para></listitem>
  <listitem><para>Sami: <option>-dumpsami</option></para></listitem>
</itemizedlist>
</para>

<para>
<application>MEncoder</application> może zrzucić napisy DVD do formatu
<link linkend="menc-feat-extractsub">VOBsub</link>.
</para>

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

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

<formalpara>
<title>Inne formaty napisów</title>
<para>
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
<filename><replaceable>przykład.txt</replaceable></filename>,
musisz przekazać opcję <option>-sub
<replaceable>przykład.txt</replaceable></option> (pełna ścieżka jest opcjonalna).
</para>
</formalpara>

<variablelist>
<title>Dopasowywanie czasu wyświetlania i położenia napisów:</title>
<varlistentry>
  <term><option>-subdelay <replaceable>sek</replaceable></option></term>
  <listitem><para>
    Opóźnia wyświetlanie napisów o <option><replaceable>sek</replaceable></option> sekund.
    Może być liczbą ujemną. Wartość jest dodawana do licznika czasu filmu.
  </para></listitem>
</varlistentry>
<varlistentry>
  <term><option>-subfps <replaceable>ILOŚĆ</replaceable></option></term>
  <listitem><para>
    Określa ilość klatek na sekundę pliku z napisami (liczba rzeczywista).
  </para></listitem>
</varlistentry>
<varlistentry>
  <term><option>-subpos <replaceable>0-100</replaceable></option></term>
  <listitem><para>
    Określa położenie napisów.
  </para></listitem>
</varlistentry>
</variablelist>

<para>
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 <option>-subfps</option>.
Jeżeli chciałbyś trwale rozwiązać ten problem, musisz ręcznie zmienić
wartość framerate pliku z napisami.
<application>MPlayer</application> może zrobić to za ciebie:

<screen>
mplayer -dumpmicrodvdsub -fps <replaceable>fps_napisów</replaceable> -subfps <replaceable>fps_filmu</replaceable> \
    -sub <replaceable>zbiór_z_napisami</replaceable> <replaceable>atrapa.avi</replaceable>
</screen>
</para>

<para>
O napisach DVD przeczytasz w rozdziale <link linkend="dvd">DVD</link>.
</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>MPlayerem</application> 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.
</para>

<!-- ********** -->

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

<para>
<application>MPlayer</application> 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 <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ę obsługiwanych klawiszy uruchamiając
<command>mplayer -input keylist</command>
i pełną listę dostępnych komend za pomocą
<command>mplayer -input cmdlist</command>.
</para>

<example id="input_control_file">
<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ś pakiet LIRC, <filename>configure</filename> automatycznie go
wykryje. Jeśli wszystko pójdzie dobrze, <application>MPlayer</application>
wypisze przy starcie "<systemitem>Setting up LIRC support...</systemitem>".
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ł
ze standardowego wejścia komendy oddzielone znakami nowego wiersza (\n).
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>i
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>

<!-- ********** -->

<sect2 id="streaming-save">
<title>Zapisywanie strumieniowanej zawartości</title>

<para>
Jak już uda Ci się zmusić <application>MPlayera</application> do odtwarzania
Twojego ulubionego strumienia internetowego, możesz użyć opcji
<option>-dumpstream</option> aby zapisać strumień do pliku.
Na przykład:
<screen>
mplayer <replaceable>http://217.71.208.37:8006</replaceable> -dumpstream -dumpfile <replaceable>strumien.asf</replaceable>
</screen>
zapisze zawartość strumieniowaną z
<replaceable>http://217.71.208.37:8006</replaceable> do pliku
<replaceable>stream.asf</replaceable>.
Działa to ze wszystkimi protokołami obsługiwanymi przez
<application>MPlayera</application>, jak MMS, RSTP itd.
</para>
</sect2>
</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 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.
</para>
</sect2>
</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="drives">
<title>Napędy CD/DVD</title>

<para>
Nowoczesne napędy CD-ROM osiągają bardzo duże prędkości. Niektóre z nich są
dodatkowo zdolne do pracy przy zredukowanych prędkościach. Oto kilka powodów,
dla których powinniśmy zastanowić się czy nie należy zredukować prędkości
naszego napędu:
</para>

<itemizedlist>
<listitem><para>
  Istnieją doniesienia o błędach odczytu przy dużych prędkościach, szczególnie
  podczas używania uszkodzonych bądź wadliwie wytłoczonych/nagranych płyt CD.
  Redukcja prędkości odczytu może uchronić nas przed utratą danych w takich
  przypadkach.
</para></listitem>

<listitem><para>
  Wiele napędów CD jest dokuczliwie głośnych. Redukcja prędkości może zmniejszyć
  natężenie hałasu.
</para></listitem>
</itemizedlist>

<!-- ********** -->

<sect2 id="drives_linux">
<title>Linux</title>

<para>
Możesz zredukować prędkość napędu CD z interfejsem IDE korzystając
z <command>hdparm</command>, <command>setcd</command> lub
<command>cdctl</command>.
Działają one w następujący sposób:
<screen>hdparm -E <replaceable>[prędkość]</replaceable> <replaceable>[urządzenie cdrom]</replaceable></screen>
<screen>setcd -x <replaceable>[prędkość]</replaceable> <replaceable>[urządzenie cdrom]</replaceable></screen>
<screen>cdctl -bS <replaceable>[speed]</replaceable></screen>
</para>

<para>
Jeśli używasz emulacji SCSI, możesz musieć zastosować ustawienia do prawdziwego
urządzenia IDE a nie emulowanego SCSI.
</para>

<para>
Jeżeli masz uprawnienia roota, to pomóc może także następująca komenda:
<screen>echo file_readahead:2000000 &gt; /proc/ide/<replaceable>[urządzenie cdrom]</replaceable>/settings</screen>
</para>


<para>
Ustawiamy w ten sposób wielkość bufora odczytu na 2MB, co pomaga przy odczycie
porysowanych płyt. Jeżeli ustawimy zbyt dużą wielkość tego bufora, napęd będzie
stale rozkręcał się i zwalniał, co spowoduje bardzo znaczny spadek wydajności.
Zaleca się również dostrojenie napędu CD-ROM przy użyciu
<command>hdparm</command>:
<screen>hdparm -d1 -a8 -u1 <replaceable>[urządzenie cdrom]</replaceable></screen>
</para>

<para>
Włączamy w ten sposób dostęp DMA do dysku, czytanie z wyprzedzeniem i
odmaskowanie IRQ (IRQ unmasking) (więcej przeczytasz na stronach man do
<command>hdparm</command>)
</para>

<para>
Proszę sprawdzić
"<filename>/proc/ide/<replaceable>[urządzenie cdrom]</replaceable>/settings</filename>"
by dostroić swój napędu CD-ROM.
</para>

<para>
Dla napędów SCSI nie istnieje jednolity sposób ustawiawiania tych parametrów
(jeżeli znasz jakiś to napisz nam o nim). Istnieje narzędzie które działa z
<ulink url="http://das.ist.org/~georg/">napędami SCSI Plextor</ulink>.
</para>
</sect2>

<!-- ********** -->

<sect2 id="drives_freebsd">
<title>FreeBSD</title>

<para>Prędkość:
<screen>
cdcontrol [-f <replaceable>urządzenie</replaceable>] speed <replaceable>[prędkość]</replaceable>
</screen>
</para>

<para>DMA:
<screen>
sysctl hw.ata.atapi_dma=1
</screen>
</para>
</sect2>

</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="dvd">
<title>Odtwarzanie DVD</title>

<para>
Aby poznać pełną listę dostępnych opcji, proszę przeczytać odpowiednie strony
man. Składnia do odtwarzania standardowego DVD jest następująca:
<screen>
mplayer dvd://<replaceable>&lt;ścieżka&gt;</replaceable> [-dvd-device <replaceable>&lt;urządzenie&gt;</replaceable>]
</screen>
</para>

<para>
Przykład:
<screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
</para>

<para>
Jeśli skompilowałeś <application>MPlayera</application> z obsługą dvdnav,
składnia jest taka sama, tylko musisz użyć dvdnav:// zamiast dvd://.
</para>

<para>
Domyślnym urządzeniem (device) DVD jest <filename>/dev/dvd</filename>. Jeżeli
Twoje ustawienia są inne, stwórz odpowiedni symlink lub ustaw odpowiednie
urządzenie (device) w linii polecenia korzystając z opcji
<option>-dvd-device</option>.
</para>

<para>
<application>MPlayer</application> używa <systemitem>libdvdread</systemitem>
oraz <systemitem>libdvdcss</systemitem> do odtwarzania i dekodowania DVD.
Te dwie biblioteki są zawarte
w głównym drzewie źródłowym <application>MPlayera</application>, nie trzeba
instalować ich osobno.
Możesz też użyć systemowych wersji tych bibliotek, ale nie jest to zalecane,
ponieważ może spowodować błędy, niekompatybilności bibliotek oraz zmniejszenie
prędkości.
</para>

<note><para>
Jeśli występują problemy z dekodowaniem DVD, spróbuj wyłączyć supermount lub
inne tego typu usługi. Niektóre napędy RPC-2 mogą również wymagać ustawienia
kodu regionu DVD.
</para></note>

<formalpara>
<title>Struktura dysku DVD</title>
<para>
Dyski DVD mają po 2048 bajtów na sektor z ECC/CRC. Zwykle posiadają system
plików UDF na pojedynczej ścieżce zawierającej różnorakie pliki (małe pliki .IFO
i .BUK oraz duże (1GB) pliki .VOB).
Są one rzeczywistymi plikami i mogą być kopiowane/odtwarzane z podmontowanego
systemu plików niezakodowanego DVD.
</para>
</formalpara>

<para>
Pliki .IFO zawierają informacje nawigacyjne filmu (mapa
rozdziałów/tytułów/kątów kamery, tablica języków, itp) i są konieczne do
odczytu i interpretacji zawartości pliku .VOB (filmu).
Pliki .BUK są kopiami zapasowymi plików .IFO.
Używają <emphasis role="bold">sektorów</emphasis> wszędzie, więc aby
zaimplementować nawigację na DVD lub rozszyfrować zawartość, należy używać
adresowania sektorów dysku w trybie raw.
</para>

<para>
Z tego powodu obsługa DVD wymaga
dostępu do urządzenia w trybie raw bazującym na sektorach. Niestety wymagane
jest (pod Linuksem) posiadanie uprawnień roota aby móc korzystać z sektorowego
adresowania pliku.
Dlatego też nie w ogóle używamy sterownika systemu plików pochodzącego
z jądra, ale reimplementujemy to w przestrzeni użytkownika.
Zajmuje się tym biblioteka <systemitem>libdvdread</systemitem> 0.9.x.
Sterownik
systemu plików UDF zawarty w jądrze nie jest wymagany ponieważ wspomniane
biblioteki zawierają własny, wbudowany sterownik systemu plików UDF. DVD nie
musi być podmontowany, bowiem używany jest jedynie dostęp w trybie raw.
</para>

<para>
Czasami <filename>/dev/dvd</filename> nie może być czytany przez użytkowników,
zatem autorzy <systemitem>libdvdread</systemitem> zaimplementowali warstwę
emulacji, która tłumaczy adresowanie sektorowe na nazwy plików i offsety, aby
emulować dostęp w trybie raw na podmontowanym systemie plików albo nawet na
twardym dysku.
</para>

<para>
<systemitem>libdvdread</systemitem> równie dobrze akceptuje miejsce
podmontowania (mountpoint) jak i nazwę urządzenia przy dostępie w trybie raw i
sprawdza <filename>/proc/mounts</filename> w celu odnalezienia odpowiedniej
nazwy urządzenia (device). Zostało to napisane z myślą o systemie Solaris, gdzie
nazwy urządzeń są przydzielane automatycznie.
</para>

<formalpara>
<title>Deszyfrowanie DVD</title>
<para>
Do deszyfrowania DVD jest używana biblioteka
<systemitem>libdvdcss</systemitem>. Metoda jej działania może być określona
poprzez zmienna środowiskową <envar>DVDCSS_METHOD</envar>,
co jest dokładniej opisane na stronie man.
</para>
</formalpara>

<para>
Napędy DVD RPC-1 zabezpieczają ustawienia regionu jedynie poprzez
oprogramowanie. Napędy RPC-2 mają sprzętowe zabezpieczenie, które pozwala na co
najwyżej 5 zmian. Jeżeli posiadamy napęd DVD RPC-2 wymagana/zalecana jest
aktualizacja firmware'u do RPC-1.
Nowe wersje firmware'ów można znaleźć w internecie.
Poszukiwania radzimy rozpocząć od
<ulink url="http://forum.rpc-1.com/dl_all.php">forum firmware'ów</ulink>.
Jeżeli nie ma tam nowej wersji firmware'u dla naszego urządzenia, użyj
<ulink url="http://linvdr.org/projects/regionset/">regionset tool
(narzędzia do zmiany regionów)</ulink> aby ustawić kod regionu na swoim napędzie
DVD (pod Linuksem). <emphasis role="bold">Ostrzeżenie</emphasis>: Możesz
ustawić region tylko 5 razy.
</para>
</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="vcd">
<title>Odtwarzanie VCD</title>

<para>
Pełna lista dostępnych opcji znajduje się na stronie man. Składnia dla
standardowego Video CD (VCD) jest następująca:
<screen>mplayer vcd://<replaceable>&lt;ścieżka&gt;</replaceable> [-cdrom-device <replaceable>&lt;urządzenie&gt;</replaceable>]</screen>
Przykład:
<screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
Domyślnym urządzeniem VCD jest <filename>/dev/cdrom</filename>. Jeśli
Twoje ustawienia są inne, utwórz dowiązanie symboliczne
lub podaj prawidłowe urządzenie w linii poleceń za pomocą opcji
<option>-cdrom-device</option>
</para>

<note><para>
Przynajmniej napędy CD-ROM SCSI firmy Plextor i niektóre modele Toshiby
mają beznadziejną wydajność przy odczycie VCD. Jest to spowodowane
niekompletną implementacją <systemitem>ioctl</systemitem>'a CDROMREADRAW dla
tych urządzeń. Jeśli masz jakieś pojęcie o programowaniu SCSI,
<ulink url="../../tech/patches.txt">pomóż nam</ulink> zaimplementować ogólną
obsługę SCSI dla VCD.
</para></note>

<para>
W międzyczasie możesz wyciągać dane z VCD za pomocą
<ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink>
i odtwarzać plik wynikowy za pomocą <application>MPlayera</application>
</para>

<formalpara>
<title>Struktura VCD</title>
<para>
Video CD (VCD) składa się z sektorów CD-ROM XA, tzn. ścieżek CD-ROM
mode 2 form 1 i form 2:
<itemizedlist>
<listitem><para>
  Pierwsza ścieżka jest w formacie mode 2 form 2, który oznacza użycie korekcji
  błędów L2. Ścieżka ta zawiera system plików ISO-9660 o gęstości 2048
  bajtów/sektor.  Ten system plików z kolei zawiera metainformacje VCD, a także
  nieruchome klatki, często używane w menu. Segmenty MPEG dla menu mogą także
  być składowane w tejże pierwszej ścieżce, ale MPEGi muszą być podzielone na
  kawałki po 150 sektorów. System plików ISO-9660 może zawierać inne pliki bądź
  programy, niekonieczne dla eksploatacji VCD.
</para></listitem>

<listitem><para>
  Druga i pozostałe ścieżki są zwykle ścieżkami video MPEG typu raw o gęstości
  2324 bajtów/sektor, zawierającymi jeden pakiet danych MGEG PS na sektor.
  Ścieżki te są w formacje mode 2 form 1, więc przechowują one więcej danych na
  sektor, w zamian za słabszą korekcję błędów. Możliwe są też ścieżki CD-DA na
  VCD poza pierwszą ścieżką. Niektóre systemy operacyjne używają pewnych
  trików aby ścieżki nie zawierające systemu plików ISO-9660 były widoczne
  w systemie plików. W pozostałych systemach, jak na przykład w systemie
  GNU/Linux, nie ma takiej możliwości (jeszcze). W takim przypadku dane MPEG
  <emphasis role="bold">nie mogą być montowane</emphasis>.
  Jako że większość filmów znajduje się na tego typu ścieżce,
  powinieneś spróbować na początek opcji <option>vcd://2</option>.
</para></listitem>

<listitem><para>
  Istnieją również płyty VCD bez pierwszej ścieżki (pojedyncza ścieżka i
  brak systemu plików w ogóle). Je również da się odtwarzać, ale nie da
  się ich montować.
</para></listitem>

<listitem><para>
  Definicja standardu Video CD, nazywana "Białą Księgą" Phillipsa,
  generalnie nie jest dostępna online, musi być zakupiona u Phillipsa.
  Bardziej szczegółowe informacje na temat Video CD można znaleźć na
  <ulink url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">stronie dokumentacji vcdimagera</ulink>.
</para></listitem>
</itemizedlist>
</para>
</formalpara>

<formalpara>
<title>O plikach .DAT</title>
<para>
Plik o rozmiarze ok. 600 MB widoczny na pierwszej ścieżce zamontowanego VCD
nie jest prawdziwym plikiem ! Jest on tzw. bramką ISO, utworzoną by
Windows mógł obsługiwać takie ścieżki (Windows w ogóle nie zezwala aplikacjom
na dostęp do urządzeń w trybie raw). Pod Linuksem nie możesz kopiować ani
odtwarzać tych plików (zawierają "śmieci"). Pod Windows jest to możliwe, gdyż
jego sterownik iso9660 symuluje odczyt ścieżek w trybie raw za pomocą tego
pliku. By móc odtwarzać pliki .DAT, musisz mieć sterownik do jądra, który
dostarczany jest z linuksową wersją PowerDVD. Posiada on zmodyfikowany sterownik
systemu plików iso9660 (<filename>vcdfs/isofs-2.4.X.o</filename>), który jest w
stanie symulować odczyt ścieżek w trybie raw za pomocą pliku .DAT. Jeśli
podmontujesz płytę używając ich sterownika, możesz kopiować, a nawet odtwarzać
pliki .DAT za pomocą <application>MPlayera</application>. Ale nie będzie to
działało za pomocą standardowego sterownika iso9660 dostarczonego z jądrem
Linuksa! Zamiast tego użyj opcji <option>vcd://</option>. Alternatywą dla
kopiowania VCD jest nowy sterownik:
<ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink> (nie jest
częścią oficjalnego jądra), który wyświetla sesje CD jako pliki obrazów, oraz
<ulink url="http://cdrdao.sf.net/">cdrdao</ulink>, program do zgrywania
płyt CD bit po bicie.
</para>
</formalpara>
</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". 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).
</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, naciśnij <keycap>i</keycap>, 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.
</para>
</sect2>
</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="advaudio" xreflabel="Advanced Audio">
<title>Zaawansowane audio</title>

<sect2 id="advaudio-surround">
<title>Dźwięk przestrzenny/wielokanałowy</title>

<sect3 id="advaudio-surround-DVD">
<title>DVDs</title>

<para>
Większość płyt DVD, a także wiele innych plików, zawiera dźwięk przestrzenny.
<application>MPlayer</application> 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 <option>-channels</option>.
Na przykład, aby odtworzyć DVD z audio 5.1:
<screen>mplayer dvd://1 -channels 6</screen>
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ć <option>channels</option> do swojego pliku konfiguracyjnego
<application>MPlayera</application> (<filename>~/.mplayer/config</filename>).
Przykładowo, aby domyślnie włączyć efekt kwadrofonii, należy dodać wiersz:
<programlisting>channels=4</programlisting>
Od tego momentu, <application>MPlayer</application> będzie odtwarzał cztery
kanały audio, zawsze gdy będą one dostępne.
</para>
</sect3>


<sect3 id="advaudio-surround-stereoinfour">
<title>Odtwarzanie plików stereo przy użyciu czterech głośników</title>

<para>
<application>MPlayer</application> standardowo nie duplikuje kanałów, ani nie
robi tego większość sterowników audio. Jeżeli chcesz zrobić to ręcznie:
<screen>mplayer <replaceable>filename</replaceable> -af channels=2:2:0:1:0:0</screen>
Zobacz sekcję o
<link linkend="advaudio-channels-copying">kopiowaniu kanałów</link>,
jest tam wyjaśnienie tego polecenia.
</para>
</sect3>


<sect3 id="advaudio-surround-passthrough">
<title>Przekazywanie AC3/DTS</title>

<para>
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.
<application>MPlayer</application> 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).
</para>

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

<itemizedlist>
<title>Aby włączyć przekazywanie z wiersza poleceń:</title>
<listitem><para>
  dla AC3 użyj <option>-ac hwac3</option>
</para></listitem>
<listitem><para>
  dla DTS użyj <option>-ac hwdts</option>
</para></listitem>
<listitem><para>
  dla AC3 i DTS użyj <option>-afm hwac3</option>
</para></listitem>
</itemizedlist>

<itemizedlist>
<title>Aby włączyć przekazywanie w pliku konfiguracyjnym
  <application>MPlayera</application>: </title>
<listitem><para>
  dla AC3 użyj <option>ac=hwac3,</option>
</para></listitem>
<listitem><para>
  dla DTS użyj <option>ac=hwdts,</option>
</para></listitem>
<listitem><para>
  dla AC3 i DTS użyj <option>afm=hwac3</option>
</para></listitem>
</itemizedlist>

<para>
Zauważ, że na końcu opcji <option>ac=hwac3,</option> oraz
<option>ac=hwdts,</option> są przecinki. Powodują one, że
<application>MPlayer</application> 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 <option>afm=hwac3</option> nie wymaga przecinka,
samo podanie rodziny kodeków powoduje że <application>MPlayer</application>
wypróbuje inne gdy będzie musiał.
</para>
</sect3>


<sect3 id="hwmpa-surround-passthrough">
<title>Przekazywanie dźwięku MPEG</title>

<para>
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.
<application>MPlayer</application> może zostać tak skonfigurowany, aby przekazywać
dane audio bez ich dekodowania.
</para>

<para>
Aby użyć tego sposobu dekodowania:
<screen> mplayer -ac hwmpa </screen>
</para>
</sect3>


<sect3 id="advaudio-surround-matrix">
<title>Dźwięk zakodowany macierzowo</title>

<para>
<emphasis>***TODO***</emphasis>
</para>

<para>
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ą
<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-DOCS</ulink>
W temacie podaj "[matrix-encoded audio]".
</para>

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

<para>
Przydatne linki:
<itemizedlist>
<listitem><para>
  <ulink url="http://electronics.howstuffworks.com/surround-sound5.htm">http://electronics.howstuffworks.com/surround-sound5.htm</ulink>
</para></listitem>
<listitem><para>
  <ulink url="http://www.extremetech.com/article2/0,1697,1016875,00.asp">http://www.extremetech.com/article2/0,1697,1016875,00.asp</ulink>
</para></listitem>
</itemizedlist>
</para>
</sect3>


<sect3 id="advaudio-surround-hrtf">
<title>Emulacja przestrzeni w słuchawkach</title>

<para>
<application>MPlayer</application> posiada filtr HRTF (Head Related Transfer
Function) bazujący na <ulink url="http://sound.media.mit.edu/KEMAR.html">projekcie MIT</ulink>,
w ramach którego wykonane zostały pomiary z mikrofonów zamontowanych na głowie
ludzkiego manekina.
</para>

<para>
Chociaż nie jest możliwe dokładne zasymulowanie systemu dźwięku przestrzennego,
filtr HRTF zawarty w <application>MPlayerze</application> 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. <option>hrtf</option>,
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.
</para>

<para>
Odtwarzanie DVD z HRTF:
<screen>mplayer dvd://1 -channels 6 -af hrtf</screen>
</para>

<para>
<option>hrtf</option> 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ą
<option>hrtf</option>, musisz dokonać jego przepróbkowania tego pliku:
<screen>
mplayer <replaceable>filename</replaceable> -channels 6 -af resample=48000,hrtf
</screen>
</para>
</sect3>


<sect3 id="advaudio-surround-troubleshooting">
<title>Rozwiązywanie problemów</title>

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

<!-- ********** -->

<sect2 id="advaudio-channels">
<title>Manipulowanie kanałami</title>

<sect3 id="advaudio-channels-general">
<title>Ogólne informacje</title>

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

<orderedlist spacing="compact">
<title>mono</title>
  <listitem override="0"><para>środkowy</para></listitem>
</orderedlist>

<orderedlist spacing="compact">
<title>stereo</title>
  <listitem override="0"><para>lewy</para></listitem>
  <listitem><para>prawy</para></listitem>
</orderedlist>

<orderedlist spacing="compact">
<title>kwadrofonia</title>
  <listitem override="0"><para>lewy przedni</para></listitem>
  <listitem><para>prawy przedni</para></listitem>
  <listitem><para>lewy tylny</para></listitem>
  <listitem><para>prawy tylny</para></listitem>
</orderedlist>

<orderedlist spacing="compact">
<title>surround 4.0</title>
  <listitem override="0"><para>lewy przedni</para></listitem>
  <listitem><para>prawy przedni</para></listitem>
  <listitem><para>środkowy tylny</para></listitem>
  <listitem><para>środkowy przedni</para></listitem>
</orderedlist>

<orderedlist spacing="compact">
<title>surround 5.0</title>
  <listitem override="0"><para>lewy przedni</para></listitem>
  <listitem><para>prawy przedni</para></listitem>
  <listitem><para>lewy tylny</para></listitem>
  <listitem><para>prawy tylny</para></listitem>
  <listitem><para>środkowy przedni</para></listitem>
</orderedlist>

<orderedlist spacing="compact">
<title>surround 5.1</title>
  <listitem override="0"><para>lewy przedni</para></listitem>
  <listitem><para>prawy przedni</para></listitem>
  <listitem><para>lewy tylny</para></listitem>
  <listitem><para>prawy tylny</para></listitem>
  <listitem><para>środkowy przedni</para></listitem>
  <listitem><para>subwoofer (głośnik niskotonowy)</para></listitem>
</orderedlist>
</para>

<para>
Opcja <option>-channels</option> 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 <option>-channels 4</option>
aby odtworzyć plik stereo MP3, otrzymamy 2 kanały wyjściowe, bowiem kodek MP3
nie potrafi spreparować dodatkowych kanałów.
</para>

<para>
Filtr audio <option>channels</option> 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.
</para>
</sect3>


<sect3 id="advaudio-channels-mono">
<title>Odtwarzanie dźwięku mono przy użyciu dwóch głośników</title>

<para>
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
<option>extrastereo</option>:
<screen>mplayer <replaceable>filename</replaceable> -af extrastereo=0</screen>
</para>

<para>
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 <option>volume</option>. Na przykład:
<screen>mplayer <replaceable>filename</replaceable> -af extrastereo=0,volume=5</screen>
</para>
</sect3>


<sect3 id="advaudio-channels-copying">
<title>Kopiowanie i przesuwanie kanałów</title>

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

<orderedlist spacing="compact">
<listitem><para>
  Zdecyduj ile wyjściowych kanałów audio potrzebujesz. Oto pierwsza podopcja.
</para></listitem>
<listitem><para>
  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:
  <programlisting>
kanał 2 --> kanał 3
kanał 2 --> kanał 2<!--
  --></programlisting>
</para></listitem>
<listitem><para>
  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
  <replaceable>źródło:cel</replaceable>.
</para></listitem>
</orderedlist>
</para>

<bridgehead>Przykład: jeden kanał w dwóch głośnikach</bridgehead>
<para>
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:
<orderedlist>
<listitem><para>
  Aby dostarczyć dźwięk do każdego z dwóch głośników, pierwsza opcja musi mieć
  wartość "2".
</para></listitem>
<listitem><para>
  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".
</para></listitem>
<listitem><para>
  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.
</para></listitem>
</orderedlist>
Po połączeniu wszystkiego razem otrzymamy:
<screen>
mplayer <replaceable>filename</replaceable> -af channels=2:2:0:1:0:0
</screen>
</para>

<para>
Przewaga tego przykładu nad opcją <option>extrastereo</option> 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ć.
</para>

<bridgehead>Przykład: lewy kanał w obu głośnikach (skrót)</bridgehead>
<para>
Istnieje znacznie łatwiejsza metoda na użycie filtru <option>channels</option> w
celu odtworzenia lewego kanału w dwóch głośnikach:
<screen>mplayer <replaceable>filename</replaceable> -af channels=1</screen>
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.
</para>

<bridgehead>Przykład: kopiowanie kanałów przednich do kanałów tylnych</bridgehead>
<para>
Kolejną typową operacją jest kopiowanie kanałów przednich i odtwarzanie ich
z tylnych głośników zestawu kwadrofonicznego.
<orderedlist>
<listitem><para>
  Potrzebujemy czterech kanałów wyjściowych, więc pierwsza podopcja to "4".
</para></listitem>
<listitem><para>
  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".
</para></listitem>
<listitem><para>
  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".
</para></listitem>
</orderedlist>
Po połączeniu wszystkich podopcji otrzymujemy:
<screen>
mplayer <replaceable>filename</replaceable> -af channels=4:4:0:2:0:0:1:3:1:1
</screen>
</para>
</sect3>


<sect3 id="advaudio-channels-mixing">
<title>Miksowanie kanałów</title>

<para>
Filtr <option>pan</option> potrafi zmiksować kanały w określonych przez
użytkownika proporcjach. Pozwala to na wykonanie wszystkiego tego co potrafi
filtr <option>channels</option> i wiele więcej. Niestety podopcje są tutaj
znacznie bardziej skomplikowane.
<orderedlist>
<listitem><para>
  Zdecyduj z iloma kanałami chcesz pracować. Aby to określić możesz potrzebować
  użyć <option>-channels</option> i/lub <option>-af channels</option>.
  Późniejsze przykłady pokażą kiedy użyć którego.
</para></listitem>
<listitem><para>
  Zdecyduj ile kanałów ma zostać wprowadzonych do <option>pan</option> (dalsze
  dekodowane kanały zostaną porzucone). To jest pierwsza podopcja. Kontroluje
  ona także liczbę kanałów używanych jako wyjście.
</para></listitem>
<listitem>
  <para>
  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.
  </para>
  <para>
  <option>pan</option> 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
  <option>pan</option> dopisać <option>,volume</option>, co włączy obcinanie
  głośności, jednak najlepiej używać na tyle małych wartości parametrów
  <option>pan</option>, aby przycinanie nie było potrzebne.
  </para>
</listitem>
</orderedlist>
</para>

<bridgehead>Przykład: jeden kanał w dwóch głośnikach</bridgehead>
<para>
Oto jeszcze jeden przykład, jak odtworzyć lewy kanał w dwóch głośnikach.
Postępując zgodnie z krokami opisanymi powyżej:
<orderedlist>
<listitem><para>
  <option>pan</option> powinien używać dwóch kanałów wyjściowych, więc pierwsza
  podopcja to "2".
</para></listitem>
<listitem><para>
  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.
</para></listitem>
</orderedlist>
Po złączeniu wszystkich podopcji otrzymamy:
<screen>mplayer <replaceable>filename</replaceable> -af pan=2:1:1:0:0</screen>
Jeżeli pożądanym kanałem jest prawy, a nie lewy, podopcje zmienią się na
"2:0:0:1:1".
</para>


<bridgehead>Przykład: lewy kanał w dwóch głośnikach (skrót)</bridgehead>
<para>
Podobnie jak przy użyciu <option>channels</option>, istnieje skrót działający
tylko z lewym kanałem:
<screen>mplayer <replaceable>filename</replaceable> -af pan=1:1</screen>
Jeżeli <option>pan</option> 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.
</para>

<bridgehead>Przykład: zmniejszanie liczy kanałów w 6-kanałowym PCM</bridgehead>
<para>
Dekoder 6-kanałowego PCM zawarty w <application>MPlayerze</application> nie potrafi
zmniejszać liczby kanałów przez miksowanie. Oto metoda dokonania tego przy użyciu
opcji <option>pan</option>:
<orderedlist>
<listitem><para>
  Liczba kanałów wyjściowych to 2, więc pierwsza podopcja to "2".
</para></listitem>
<listitem><para>
  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:
  <programlisting>
0 - lewy przedni
1 - prawy przedni
2 - lewy tylny
3 - prawy tylny
4 - środkowy przedni
5 - subwoofer (głośnik niskotonowy)<!--
  --></programlisting>
  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".
</para></listitem>
</orderedlist>
Połącz wszystko razem, a otrzymasz:
<screen>
mplayer <replaceable>6-channel.wav</replaceable> -af pan=2:1:0:0:1:1:0:0:1:0.5:0.5:1:1
</screen>
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.
</para>

<bridgehead>Przykład: Odtwarzanie audio 5.1 przy pomocy dużych głośników, bez subwoofera</bridgehead>
<para>
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 <option>-channels 5</option>,
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 <option>pan</option>:
<orderedlist>
<listitem><para>
  Jako, że <option>pan</option> musi analizować wszystkie 6 kanałów,
  podaj opcję <option>-channels 6</option>, aby liba52 zdekodował je wszystkie.
</para></listitem>
<listitem><para>
  Ponieważ <option>pan</option> będzie używał pięciu kanałów wyjściowych,
  pierwsza podopcja to "5".
</para></listitem>
<listitem><para>
  Sześć kanałów wejściowych i pięć wyjściowych oznacza 6 grup po 5 podopcji.
  <itemizedlist spacing="compact">
  <listitem><para>
    Lewy przedni kanał replikuje samego siebie:
    "1:0:0:0:0"
  </para></listitem>
  <listitem><para>
    Identycznie dla prawego przedniego kanału:
    "0:1:0:0:0"
  </para></listitem>
  <listitem><para>
    Tak samo dla lewego tylnego:
    "0:0:1:0:0"
  </para></listitem>
  <listitem><para>
    Oraz tak samo dla prawego tylnego:
    "0:0:0:1:0"
  </para></listitem>
  <listitem><para>
    Środkowy też:
    "0:0:0:0:1"
  </para></listitem>
  <listitem><para>
    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"
  </para></listitem>
  </itemizedlist>
</para></listitem>
</orderedlist>
Po połączeniu wszystkich opcji otrzymasz:
<screen>
mplayer <replaceable>dvd://1</replaceable> -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
</screen>
</para>
</sect3>
</sect2>

<!-- ********** -->

<sect2 id="advaudio-volume">
<title>Programowa regulacja głośności</title>

<para>
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 <option>-softvol</option> instruuje <application>MPlayera</application>,
aby ten używał wewnętrznego miksera. Możesz wtedy używać klawiszy strojenia
głośności (domyślnie <keycap>9</keycap> i <keycap>0</keycap>), aby uzyskać
większe poziomy głośności. Pamiętaj, że nie omija to miksera Twojej karty
muzycznej; <application>MPlayer</application> 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:
<screen>
mplayer <replaceable>cichy-plik</replaceable> -softvol -softvol-max 300
</screen>
Opcja <option>-softvol-max</option> określa maksymalny dozwolony poziom głośności,
jako procent głośności oryginalnej. Przykładowo, <option>-softvol-max 200</option>
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 <option>-softvol-max</option>;
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ż <application>MPlayer</application> 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
<option>-softvol-max</option> i/lub dodaj opcję <option>-volstep 1</option>
aby uzyskać większą precyzję.
</para>

<para>
Opcja <option>-softvol</option> działa poprzez kontrolę filtru
<option>volume</option>. Jeżeli chcesz odtwarzać plik z określoną głośnością,
możesz podać opcję dla <option>volume</option> ręcznie:
<screen>mplayer <replaceable>cichy-plik</replaceable> -af volume=10</screen>
Pozwoli to na odtworzenie pliku z 10-decybelowym wzmocnieniem. Bądź ostrożny
używając filtru <option>volume</option> - 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 <option>volume</option> 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.
</para>
</sect2>
</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="tv-input" xreflabel="TV input">
<title>Wejście TV</title>

<para>
Sekcja ta opisuje jak <emphasis role="bold">oglądać/nagrywać obraz
za pomocą tunera TV kompatybilnego z V4L</emphasis>. Zajrzyj do strony man
by zobaczyć opis opcji TV i klawiszy sterujących.
</para>

<!-- ********** -->

<sect2 id="tv-compilation">
<title>Kompilacja</title>

<procedure>
<step><para>
  Najpierw musisz przekompilować. <filename>./configure</filename> wykryje
  automatycznie nagłówki jądra związane z V4L i obecność urządzeń
  <filename>/dev/video*</filename>. Jeśli istnieją, obsługa TV zostanie
  wbudowana (zobacz wynik działania <filename>./configure</filename>).
</para></step>
<step><para>
  Upewnij się, że Twój tuner działa z innymi programami do obsługi TV pod
  Linuksem, na przykład <application>XawTV</application>.
</para></step>
</procedure>
</sect2>

<!-- ********** -->

<sect2 id="tv-tips">
<title>Wskazówki użytkowania</title>

<para>
Kompletna lista opcji dostępna jest na stronie man.
Tu jest tylko kilka wskazówek:

<itemizedlist>
<listitem><para>
  Używaj opcji <option>channels</option>. Przykład:
  <screen>-tv channels=26-MTV1,23-TV2</screen>
  Wyjaśnienie: Jeśli użyjesz tej opcji, dostępne będą tylko kanały 23 i 26 oraz
  przy zmianie kanału pojawi się ładny napis na OSD, wyświetlający jego nazwę.
  Odstępy w nazwie kanału muszą zostać zastąpione znakiem "_".
</para></listitem>
<listitem><para>
  Używaj rozsądnych rozmiarów obrazu. Rozmiary obrazu wynikowego powinny
  być podzielne przez 16.
</para></listitem>
<listitem>
  <para>
  Jeśli nagrywasz obraz video o pionowej rozdzielczości większej niż połowa
  rozdzielczości pełnej (np. 288 dla PAL lub 240 dla NTSC), wtedy 'ramki'
  które otrzymasz będą tak naprawdę parami poprzeplatanych (interleaved) pól.
  W zależności od tego, co chcesz zrobić ze strumieniem video, możesz go
  zostawić w takiej formie, użyć destrukcyjnego usuwania przeplotu
  (deinterlacing), albo rozdzielić pary na pojedyncze pola.
  </para>
  <para>
  W przeciwnym wypadku dostaniesz film, który jest zniekształcony w trakcie
  scen o dużej dynamice, a wskazana szybkość transmisji (bitrate)
  prawdopodobnie nie będzie nawet mogła być utrzymana przez kontroler szybkości
  (bitrate controller), ponieważ artefakty przeplotu tworzą duże ilości
  szczegółów, a co za tym idzie, potrzebują dużej przepustowości. Możesz
  włączyć usuwanie przeplotu za pomocą opcji <option>-vf pp=TYP_DEINT</option>.
  Zwykle <option>pp=lb</option> spisuje się dobrze, ale to kwestia gustu.
  Poczytaj o innych algorytmach usuwania przeplotu na stronie man i zacznij
  eksperymentować.
  </para>
</listitem>
<listitem><para>
  Usuwaj "martwe miejsca". Kiedy nagrywasz video, są pewnie miejsca przy
  brzegach, które są zazwyczaj czarne lub zawierają szum.
  Jak się łatwo domyślić, niepotrzebnie zużywają sporo przepustowości
  (dokładniej, to nie same czarne miejsca, lecz ostre przejścia pomiędzy
  czarnym kolorem i jaśniejszym obrazem video, ale nie jest to akurat takie
  ważne). Zanim zaczniesz nagrywać, ustaw argumenty opcji <option>crop</option>
  by wyciąć wszystkie "śmieci" na brzegach.
  Oczywiście nie zapomnij o utrzymaniu prawidłowych wymiarów obrazu.
</para></listitem>
<listitem><para>
  Uważaj na obciążenie CPU. Przez większość czasu Nie powinno ono przekroczyć
  granicy 90%.
  Jeśli masz duży bufor nagrywania, <application>MEncoder</application> może
  przetrwać przeciążenie przez najwyżej kilka sekund i nic więcej.
  Lepiej więc wyłączyć wszystkie trójwymiarowe wygaszacze OpenGL i inne tego
  typu bajery.
</para></listitem>
<listitem><para>
  Nie mieszaj z zegarem systemowym. <application>MEncoder</application>
  korzysta z niego do synchronizacji A/V. Jeśli zmodyfikujesz zegar systemowy
  (zwłaszcza wstecz), <application>MEncoder</application> się pogubi i utraci
  klatki. Jest to bardzo ważna sprawa jeśli jesteś podpięty do sieci i używasz
  do synchronizacji czasu różnych programów typu NTP. Musisz wyłączyć NTP
  w trakcie nagrywania, jeśli chcesz, by było ono przeprowadzone niezawodnie.
</para></listitem>
<listitem><para>
  Nie zmieniaj opcji <option>outfmt</option>, chyba, że wiesz co robisz lub
  Twoja karta/sterownik naprawdę nie obsługuje ustawienia domyślnego
  (przestrzeń kolorów YV12). W poprzednich wersjach
  <application>MPlayera</application>/<application>MEncodera</application>
  konieczne było podanie formatu wyjścia.
  Ten problem powinien być rozwiązany w aktualnych wydaniach i opcja
  <option>outfmt</option> nie jest już wymagana, a ustawienie domyślne powinno
  pasować każdemu. Na przykład, jeśli nagrywasz do formatu DivX używając
  <systemitem class="library">libavcodec</systemitem> i podasz opcję
  <option>outfmt=RGB24</option> aby zwiększyć jakość nagrywanego obrazu,
  zostanie on i tak później z powrotem przekonwertowany do YV12, więc jedyne,
  co osiągniesz, to ogromna strata mocy obliczeniowej.
</para></listitem>
<listitem><para>
  By użyć przestrzeni kolorów I420 (<option>outfmt=i420</option>), musisz dodać
  opcję <option>-vc rawi420</option> z powodu konfliktu fourcc z kodekiem Intel
  Indeo.
</para></listitem>
<listitem><para>
  Jest kilka sposobów na nagrywanie audio. Możesz nagrywać dźwięk za pomocą
  Twojej karty dźwiękowej korzystając z zewnętrznego kabla pomiędzy kartą video
  i wejściem liniowym lub korzystając z wbudowanego w układ bt878 przetwornika
  ADC.  W tym drugim przypadku musisz załadować sterownik
  <emphasis role="bold">btaudio</emphasis>. Przeczytaj plik
  <filename>linux/Documentation/sound/btaudio</filename> (w drzewie jądra,
  a nie <application>MPlayera</application>) by dowiedzieć się jak korzystać
  z tego sterownika.
</para></listitem>
<listitem><para>
  Jeśli <application>MEncoder</application> nie może otworzyć urządzenia
  dźwiękowego, upewnij się, że jest ono rzeczywiście dostępne. Zdarzają się
  problemy z serwerami dźwięku typu aRts (KDE) lub ESD (GNOME). Jeśli masz
  kartę full-duplex (prawie wszystkie przyzwoite karty dostępne obecnie
  obsługują tę funkcję) i korzystasz z KDE, spróbuj zaznaczyć opcję "Działanie
  w pełni dupleksowe" ("full duplex") w konfiguracji serwera dźwięku.
</para></listitem>
</itemizedlist>
</para>
</sect2>

<!-- ********** -->

<sect2 id="tv-examples">
<title>Przykłady</title>

<informalexample><para>
Puste wyjście, do AAlib :)
<screen>
mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://
</screen>
</para></informalexample>

<informalexample><para>
Wejście ze standardowego V4L:
<screen>
mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://
</screen>
</para></informalexample>

<informalexample><para>
Bardziej skomplikowany przykład. Każe on <application>MEncoderowi</application>
nagrać pełen obraz PAL, wykadrować go i usunąć przeplot korzystając z algorytmu
liniowego zlewania (linear blend). Audio jest kompresowane ze stałą
szybkością równą 64kbps, przy użyciu kodeka LAME. To ustawienie jest
dobre do nagrywania filmów.
<screen>
mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64 \
     -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
     -vf crop=720:544:24:16,pp=lb -o <replaceable>wyjscie.avi</replaceable> tv://
</screen>
</para></informalexample>

<informalexample><para>
Ten przykład dodatkowo przeskaluje obraz do 384x288 i skompresuje video
z szybkością 350kbps w trybie wysokiej jakości. Opcja <option>vqmax</option>
uwalnia kwantyzator i pozwala kompresorowi video na osiągnięcie tak
niskiej szybkości nawet kosztem jakości obrazu. Może być to używane do
nagrywania długich seriali TV, kiedy jakość obrazu nie jest tak ważna.
<screen>
mencoder -tv driver=v4l:width=768:height=576 \
    -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
    -oac mp3lame -lameopts cbr:br=48 -sws 1 -o <replaceable>wyjscie.avi</replaceable> \
    -vf crop=720:540:24:18,pp=lb,scale=384:288 tv://
</screen>
Jest również możliwe podanie mniejszych wymiarów obrazu w opcji
<option>-tv</option> i pominięcie programowego skalowania, ale to podejście
wykorzystuje maksymalną ilość dostępnych informacji i jest trochę bardziej
odporne na szum.
Układy bt878, ze względu na ograniczenia sprzętowe, mogą stosować
uśrednianie pikseli jedynie w kierunku poziomym.
</para></informalexample>
</sect2>
</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="radio">
<title>Radio</title>

<sect2 id="radio-input" xreflabel="Słuchanie radia">
<title>Słuchanie radia</title>

<para>
Ten rozdział opisuje jak włączyć możliwość słuchania radia przy użyciu tunera
radiowego kompatybilnego z V4L. Opis opcji i sterowania klawiaturą znajduje się
na stronie man.
</para>

<!-- ********** -->

<sect3 id="radio-compilation">
<title>Kompilacja</title>

<procedure>
<step><para>
  Najpierw, musisz przekompilować <application>MPlayera</application> używając
  <filename>./configure</filename> z opcją <option>--enable-radio</option>
  i (jeśli chcesz móc przechwytywać radio)
  <option>--enable-radio-capture</option>.
</para></step>
<step><para>
  Upewnij się że Twój tuner działa z innym oprogramowaniem do radia w Linuksie,
  na przykład z <application>XawTV</application>.
</para></step>
</procedure>
</sect3>

<!-- ********** -->

<sect3 id="radio-tips">
<title>Rady przy stosowaniu</title>

<para>
Pełna lista opcji jest dostępna na stronie man.
Tu jest tylko kilka porad:

<itemizedlist>
<listitem><para>
  Używaj opcji <option>channels</option>. Na przykład:
  <screen>-radio channels=104.4-Sibir,103.9-Maximum</screen>
  Wyjaśnienie: Przy użyciu tej opcji dostępne będą tylko stacje na
  częstotliwościach 104.4 i 103.9. Przy przełączaniu kanału OSD będzie
  wyświetlać nazwę kanału. Spacje w nazwie kanału muszą zostać zastąpione przez
  znak "_".
</para></listitem>
<listitem><para>
  Jest kilka metod przechwytywania audio. Możesz przechwytywać dźwięk albo
  korzystając ze swojej karty dźwiękowej i zewnętrznego kabelka łączącego kartę
  video z wejściem dźwięku, albo używając wbudowanego w chip saa7134 konwertera
  ADC. W tym drugim przypadku, musisz załadować sterownik
  <systemitem>saa7134-alsa</systemitem> lub <systemitem>saa7134-oss</systemitem>.
</para></listitem>
<listitem><para>
  Do przechwytywania dźwięku nie można użyć
  <application>MEncodera</application>, ponieważ wymaga on do działania
  strumienia video. Możesz więc albo użyć <application>arecord</application>
  z projektu ALSA albo opcji <option>-ao pcm:file=file.wav</option>.
  W tym drugim przypadku nie będziesz słyszał dźwięku
  (chyba że masz kabelek do line-in i wyłączyłeś jego wyciszenie).
</para></listitem>
</itemizedlist>
</para>
</sect3>

<!-- ********** -->

<sect3 id="radio-examples">
<title>Przykłady</title>

<informalexample><para>
Wejście ze standardowego V4L (przy użyciu kabelka line-in, bez przechwytywania):
<screen>
mplayer radio://104.4
</screen>
</para></informalexample>

<informalexample><para>
Wejście ze standardowego V4L (przy użyciu kabelka line-in, bez przechwytywania,
interface V4Lv1):
<screen>
mplayer -radio driver=v4l radio://104.4
</screen>
</para></informalexample>

<informalexample><para>
Odtwarzanie drugiego kanału z listy:
<screen>
mplayer -radio channels=104.4=Sibir,103.9=Maximm radio://2
</screen>
</para></informalexample>

<informalexample><para>
Przesyłanie dźwięku szyną PCI z wewnętrznego konwertera ADC na karcie radiowej.
W tym przykładzie tuner jest używany jako druga karta dźwiękowa (urządzenia
alsa hw:1,0). Dla kart opartych na saa7134 musi być załadowany moduł
<systemitem>saa7134-alsa</systemitem> lub <systemitem>saa7134-oss</systemitem>.
<screen>
mplayer -rawaudio rate=32000 radio://2/capture \
  -radio adevice=hw=1.0:arate=32000:channels=104.4=Sibir,103.9=Maximm
</screen>
<note><para>
Jeśli używasz nazw urządzeń ALSA dwukropki muszą być zastąpione
znakami równości a przecinki kropkami.
</para></note>
</para>
</informalexample>
</sect3>
</sect2>

</sect1>
</chapter>
