view DOCS/xml/pl/tvinput.xml @ 11156:0706b9c769d6

more files by Torinthiel <torinthiel@wp.pl> and crew
author diego
date Fri, 17 Oct 2003 08:23:12 +0000
parents
children 9e5ab5bd128b
line wrap: on
line source

<?xml version="1.0" encoding="utf-8"?>
<!-- synced with 1.6 -->
<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:
</para>
<itemizedlist>
<listitem>
<para>
Używaj opcji <option>channels</option>. Przykład
<screen>-tv channels=26-MTV1,23-TV2</screen>
Wyjaśnienie: używając tej opcji, tylko kanały 23 i 26 będą dostępne oraz pojawi
się fajny napis na OSD przy zmianie kanału, wyświetlający jego nazwę.
Odstępy w nazwie kanału muszą zostać zastąpione znakiem &quot;_&quot;.
</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), upewnij się, że włączyłeś
usuwanie przeplotu (deinterlacing). W przeciwnym wypadku dostaniesz film, który
jest zniekształcony w trakcie scen o dużej dynamice, a wskazana szybkość prawdopodobnie
nie będzie nawet mogła być utrzymana przez kontroler szybkości (bitrate
controller), gdyż 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
wymagają większej 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 wszystkie "śmieci" na brzegach zostały wycięte. Oczywiście nie zapomnij o utrzymaniu
prawidłowych wymiarów obrazu.
</para>
</listitem>

<listitem>
<para>
Uważaj na obciążenie CPU. Nie powinno ono przekroczyć granicy 90% przez większość
czasu. Jeśli masz duży bufor nagrywania, MEncoder 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), MEncoder 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 libavcodec
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 MPlayera) 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>
</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 MEncoderowi 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, korzystając z kodeka LAME. To ustawienie jest
dobre do nagrywania filmów.
<screen>
     mencoder -tv driver=v4l:width=768:height=576 \
     -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
     -oac mp3lame -lameopts cbr:br=64 \
     -vf crop=720:544:24:16,pp=lb -o output.avi 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 \
     -vf crop=720:540:24:18,pp=tn/lb,scale=384:288 -sws 1 -o output.avi 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. Z powodu
ograniczeń sprzętowych Układy bt878 mogą stosować uśrednianie pikseli jedynie
w kierunku poziomym.
</para>
</informalexample>
</sect2>
</sect1>