2003-10-17 08:23:12 +00:00
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
2006-10-31 22:28:16 +00:00
|
|
|
<!-- synced with r20551 -->
|
2006-07-12 14:06:43 +00:00
|
|
|
<!-- Opiekun: Cobra -->
|
|
|
|
<chapter id="tv">
|
|
|
|
<title>TV</title>
|
|
|
|
|
2003-10-17 08:23:12 +00:00
|
|
|
<sect1 id="tv-input" xreflabel="TV input">
|
2006-10-31 21:44:11 +00:00
|
|
|
<title>Wejście TV</title>
|
2003-10-17 08:23:12 +00:00
|
|
|
|
|
|
|
<para>
|
2006-10-31 21:44:11 +00:00
|
|
|
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.
|
2003-10-17 08:23:12 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
|
|
<sect2 id="tv-compilation">
|
|
|
|
<title>Kompilacja</title>
|
|
|
|
|
|
|
|
<procedure>
|
|
|
|
<step><para>
|
2006-10-31 21:44:11 +00:00
|
|
|
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>).
|
2003-10-17 08:23:12 +00:00
|
|
|
</para></step>
|
|
|
|
<step><para>
|
2006-10-31 21:44:11 +00:00
|
|
|
Upewnij się, że Twój tuner działa z innymi programami do obsługi TV pod
|
|
|
|
Linuksem, na przykład <application>XawTV</application>.
|
2003-10-17 08:23:12 +00:00
|
|
|
</para></step>
|
|
|
|
</procedure>
|
|
|
|
</sect2>
|
|
|
|
|
|
|
|
<sect2 id="tv-tips">
|
2006-10-31 21:44:11 +00:00
|
|
|
<title>Wskazówki użytkowania</title>
|
2003-10-17 08:23:12 +00:00
|
|
|
<para>
|
2006-10-31 21:44:11 +00:00
|
|
|
Kompletna lista opcji dostępna jest na stronie man.
|
|
|
|
Tu jest tylko kilka wskazówek:
|
2003-10-17 08:23:12 +00:00
|
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2006-10-31 21:44:11 +00:00
|
|
|
Używaj opcji <option>channels</option>. Przykład
|
2003-10-17 08:23:12 +00:00
|
|
|
<screen>-tv channels=26-MTV1,23-TV2</screen>
|
2006-10-31 22:28:16 +00:00
|
|
|
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ę.
|
2006-10-31 21:44:11 +00:00
|
|
|
Odstępy w nazwie kanału muszą zostać zastąpione znakiem "_".
|
2003-10-17 08:23:12 +00:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2006-10-31 21:44:11 +00:00
|
|
|
Używaj rozsądnych rozmiarów obrazu. Rozmiary obrazu wynikowego powinny
|
|
|
|
być podzielne przez 16.
|
2003-10-17 08:23:12 +00:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2006-10-31 21:44:11 +00:00
|
|
|
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 wideo, możesz go zostawić
|
|
|
|
w takiej formie, użyć destrukcyjnego usuwania przeplotu (deinterlacing),
|
|
|
|
albo rozdzielić pary na pojedyncze pola.
|
2006-07-12 14:06:43 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
W przeciwnym wypadku dostaniesz
|
2006-10-31 21:44:11 +00:00
|
|
|
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ć.
|
2003-10-17 08:23:12 +00:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2006-10-31 21:44:11 +00:00
|
|
|
Usuwaj "martwe miejsca". Kiedy nagrywasz video, są pewnie miejsca przy brzegach,
|
|
|
|
które są zazwyczaj czarne lub zawierają szum. Jak się łatwo domyślić,
|
2006-10-31 22:28:16 +00:00
|
|
|
niepotrzebnie zużywają sporo przepustowości (dokładniej, to nie same czarne
|
2006-10-31 21:44:11 +00:00
|
|
|
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
|
2006-10-31 22:28:16 +00:00
|
|
|
argumenty opcji <option>crop</option> by wyciąć wszystkie "śmieci" na
|
|
|
|
brzegach.
|
|
|
|
Oczywiście nie zapomnij o utrzymaniu prawidłowych wymiarów obrazu.
|
2003-10-17 08:23:12 +00:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2006-10-31 22:28:16 +00:00
|
|
|
Uważaj na obciążenie CPU. Przez większość czasu Nie powinno ono przekroczyć
|
|
|
|
granicy 90%.
|
|
|
|
Jeśli masz duży bufor nagrywania,
|
2006-10-31 21:44:11 +00:00
|
|
|
<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
|
2003-10-17 08:23:12 +00:00
|
|
|
wygaszacze OpenGL i inne tego typu bajery.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Nie mieszaj z zegarem systemowym. <application>MEncoder</application> korzysta z
|
2006-10-31 21:44:11 +00:00
|
|
|
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.
|
2003-10-17 08:23:12 +00:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2006-10-31 21:44:11 +00:00
|
|
|
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
|
2003-10-17 08:23:12 +00:00
|
|
|
<application>MPlayera</application>/<application>MEncodera</application>
|
2006-10-31 21:44:11 +00:00
|
|
|
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
|
2006-10-31 22:28:16 +00:00
|
|
|
<systemitem class="library">libavcodec</systemitem> i podasz opcję
|
|
|
|
<option>outfmt=RGB24</option>
|
2006-10-31 21:44:11 +00:00
|
|
|
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
|
2004-01-27 22:20:38 +00:00
|
|
|
strata mocy obliczeniowej.
|
2003-10-17 08:23:12 +00:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2006-10-31 21:44:11 +00:00
|
|
|
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
|
2003-11-30 17:32:17 +00:00
|
|
|
Indeo.
|
2003-10-17 08:23:12 +00:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2006-10-31 21:44:11 +00:00
|
|
|
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
|
2003-11-30 17:32:17 +00:00
|
|
|
<emphasis role="bold">btaudio</emphasis>. Przeczytaj plik
|
2006-10-31 21:44:11 +00:00
|
|
|
<filename>linux/Documentation/sound/btaudio</filename> (w drzewie jądra, a nie
|
|
|
|
<application>MPlayera</application>) by dowiedzieć się jak korzystać z tego
|
2003-11-30 17:32:17 +00:00
|
|
|
sterownika.
|
2003-10-17 08:23:12 +00:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2006-10-31 21:44:11 +00:00
|
|
|
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.
|
2003-10-17 08:23:12 +00:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
|
|
|
|
|
|
|
|
|
|
<sect2 id="tv-examples">
|
2006-10-31 21:44:11 +00:00
|
|
|
<title>Przykłady</title>
|
2003-10-17 08:23:12 +00:00
|
|
|
|
|
|
|
<informalexample>
|
|
|
|
<para>
|
2006-10-31 21:44:11 +00:00
|
|
|
Puste wyjście, do AAlib :)
|
2003-10-17 08:23:12 +00:00
|
|
|
<screen>
|
|
|
|
mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://<!--
|
|
|
|
--></screen>
|
|
|
|
</para>
|
|
|
|
</informalexample>
|
|
|
|
|
|
|
|
<informalexample>
|
|
|
|
<para>
|
2006-10-31 21:44:11 +00:00
|
|
|
Wejście ze standardowego V4L:
|
2003-10-17 08:23:12 +00:00
|
|
|
<screen>
|
|
|
|
mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://<!--
|
|
|
|
--></screen>
|
|
|
|
</para>
|
|
|
|
</informalexample>
|
|
|
|
|
|
|
|
<informalexample>
|
|
|
|
<para>
|
2006-10-31 21:44:11 +00:00
|
|
|
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łą
|
2006-10-31 22:28:16 +00:00
|
|
|
szybkością równą 64kbps, przy użyciu kodeka LAME. To ustawienie jest
|
2006-10-31 21:44:11 +00:00
|
|
|
dobre do nagrywania filmów.
|
2003-10-17 08:23:12 +00:00
|
|
|
<screen>
|
|
|
|
mencoder -tv driver=v4l:width=768:height=576 \
|
|
|
|
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
|
|
|
|
-oac mp3lame -lameopts cbr:br=64 \
|
2004-01-01 22:01:54 +00:00
|
|
|
-vf crop=720:544:24:16,pp=lb -o <replaceable>wyjscie.avi</replaceable> tv://
|
2003-10-17 08:23:12 +00:00
|
|
|
</screen>
|
|
|
|
</para>
|
|
|
|
</informalexample>
|
|
|
|
|
|
|
|
<informalexample>
|
|
|
|
<para>
|
2006-10-31 21:44:11 +00:00
|
|
|
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.
|
2003-10-17 08:23:12 +00:00
|
|
|
<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 \
|
2005-03-21 22:08:09 +00:00
|
|
|
-vf crop=720:540:24:18,pp=lb,scale=384:288 -sws 1 -o <replaceable>wyjscie.avi</replaceable> tv://
|
2003-10-17 08:23:12 +00:00
|
|
|
</screen>
|
2006-10-31 21:44:11 +00:00
|
|
|
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
|
2006-10-31 22:28:16 +00:00
|
|
|
odporne na szum.
|
|
|
|
Układy bt878, ze względu na ograniczenia sprzętowe, mogą stosować
|
2006-10-31 21:44:11 +00:00
|
|
|
uśrednianie pikseli jedynie w kierunku poziomym.
|
2003-10-17 08:23:12 +00:00
|
|
|
</para>
|
|
|
|
</informalexample>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|
2006-07-12 14:06:43 +00:00
|
|
|
|
2006-10-31 22:28:16 +00:00
|
|
|
</chapter>
|