11156
|
1 <?xml version="1.0" encoding="utf-8"?>
|
21735
|
2 <!-- synced with r21748 -->
|
19027
|
3 <!-- Opiekun: Cobra -->
|
|
4 <chapter id="tv">
|
|
5 <title>TV</title>
|
|
6
|
11156
|
7 <sect1 id="tv-input" xreflabel="TV input">
|
20557
|
8 <title>Wejście TV</title>
|
11156
|
9
|
|
10 <para>
|
20557
|
11 Sekcja ta opisuje jak <emphasis role="bold">oglądać/nagrywać obraz
|
|
12 za pomocą tunera TV kompatybilnego z V4L</emphasis>. Zajrzyj do strony man
|
|
13 by zobaczyć opis opcji TV i klawiszy sterujących.
|
11156
|
14 </para>
|
|
15
|
21735
|
16 <!-- ********** -->
|
11156
|
17
|
|
18 <sect2 id="tv-compilation">
|
|
19 <title>Kompilacja</title>
|
|
20
|
|
21 <procedure>
|
|
22 <step><para>
|
20557
|
23 Najpierw musisz przekompilować. <filename>./configure</filename> wykryje
|
|
24 automatycznie nagłówki jądra związane z V4L i obecność urządzeń
|
|
25 <filename>/dev/video*</filename>. Jeśli istnieją, obsługa TV zostanie
|
|
26 wbudowana (zobacz wynik działania <filename>./configure</filename>).
|
21735
|
27 </para></step>
|
11156
|
28 <step><para>
|
20557
|
29 Upewnij się, że Twój tuner działa z innymi programami do obsługi TV pod
|
|
30 Linuksem, na przykład <application>XawTV</application>.
|
21735
|
31 </para></step>
|
11156
|
32 </procedure>
|
|
33 </sect2>
|
|
34
|
21735
|
35 <!-- ********** -->
|
|
36
|
11156
|
37 <sect2 id="tv-tips">
|
20557
|
38 <title>Wskazówki użytkowania</title>
|
21735
|
39
|
11156
|
40 <para>
|
20557
|
41 Kompletna lista opcji dostępna jest na stronie man.
|
|
42 Tu jest tylko kilka wskazówek:
|
21735
|
43
|
11156
|
44 <itemizedlist>
|
21735
|
45 <listitem><para>
|
|
46 Używaj opcji <option>channels</option>. Przykład:
|
|
47 <screen>-tv channels=26-MTV1,23-TV2</screen>
|
|
48 Wyjaśnienie: jeśli użyjesz tej opcji, dostępne będą tylko kanały 23 i 26 oraz
|
|
49 przy zmianie kanału pojawi się ładny napis na OSD, wyświetlający jego nazwę.
|
|
50 Odstępy w nazwie kanału muszą zostać zastąpione znakiem "_".
|
|
51 </para></listitem>
|
|
52 <listitem><para>
|
|
53 Używaj rozsądnych rozmiarów obrazu. Rozmiary obrazu wynikowego powinny
|
|
54 być podzielne przez 16.
|
|
55 </para></listitem>
|
11156
|
56 <listitem>
|
21735
|
57 <para>
|
|
58 Jeśli nagrywasz obraz video o pionowej rozdzielczości większej niż połowa
|
|
59 rozdzielczości pełnej (np. 288 dla PAL lub 240 dla NTSC), wtedy 'ramki'
|
|
60 które otrzymasz będą tak naprawdę parami poprzeplatanych (interleaved) pól.
|
|
61 W zależności od tego, co chcesz zrobić ze strumieniem video, możesz go
|
|
62 zostawić w takiej formie, użyć destrukcyjnego usuwania przeplotu
|
|
63 (deinterlacing), albo rozdzielić pary na pojedyncze pola.
|
|
64 </para>
|
|
65 <para>
|
|
66 W przeciwnym wypadku dostaniesz film, który jest zniekształcony w trakcie
|
|
67 scen o dużej dynamice, a wskazana szybkość transmisji (bitrate)
|
|
68 prawdopodobnie nie będzie nawet mogła być utrzymana przez kontroler szybkości
|
|
69 (bitrate controller), ponieważ artefakty przeplotu tworzą duże ilości
|
|
70 szczegółów, a co za tym idzie, potrzebują dużej przepustowości. Możesz
|
|
71 włączyć usuwanie przeplotu za pomocą opcji <option>-vf pp=TYP_DEINT</option>.
|
|
72 Zwykle <option>pp=lb</option> spisuje się dobrze, ale to kwestia gustu.
|
|
73 Poczytaj o innych algorytmach usuwania przeplotu na stronie man i zacznij
|
|
74 eksperymentować.
|
|
75 </para>
|
11156
|
76 </listitem>
|
21735
|
77 <listitem><para>
|
|
78 Usuwaj "martwe miejsca". Kiedy nagrywasz video, są pewnie miejsca przy
|
|
79 brzegach, które są zazwyczaj czarne lub zawierają szum.
|
|
80 Jak się łatwo domyślić, niepotrzebnie zużywają sporo przepustowości
|
|
81 (dokładniej, to nie same czarne miejsca, lecz ostre przejścia pomiędzy
|
|
82 czarnym kolorem i jaśniejszym obrazem video, ale nie jest to akurat takie
|
|
83 ważne). Zanim zaczniesz nagrywać, ustaw argumenty opcji <option>crop</option>
|
|
84 by wyciąć wszystkie "śmieci" na brzegach.
|
|
85 Oczywiście nie zapomnij o utrzymaniu prawidłowych wymiarów obrazu.
|
|
86 </para></listitem>
|
|
87 <listitem><para>
|
|
88 Uważaj na obciążenie CPU. Przez większość czasu Nie powinno ono przekroczyć
|
|
89 granicy 90%.
|
|
90 Jeśli masz duży bufor nagrywania, <application>MEncoder</application> może
|
|
91 przetrwać przeciążenie przez najwyżej kilka sekund i nic więcej.
|
|
92 Lepiej więc wyłączyć wszystkie trójwymiarowe wygaszacze OpenGL i inne tego
|
|
93 typu bajery.
|
|
94 </para></listitem>
|
|
95 <listitem><para>
|
|
96 Nie mieszaj z zegarem systemowym. <application>MEncoder</application>
|
|
97 korzysta z niego do synchronizacji A/V. Jeśli zmodyfikujesz zegar systemowy
|
|
98 (zwłaszcza wstecz), <application>MEncoder</application> się pogubi i utraci
|
|
99 klatki. Jest to bardzo ważna sprawa jeśli jesteś podpięty do sieci i używasz
|
|
100 do synchronizacji czasu różnych programów typu NTP. Musisz wyłączyć NTP
|
|
101 w trakcie nagrywania, jeśli chcesz, by było ono przeprowadzone niezawodnie.
|
|
102 </para></listitem>
|
|
103 <listitem><para>
|
|
104 Nie zmieniaj opcji <option>outfmt</option>, chyba, że wiesz co robisz lub
|
|
105 Twoja karta/sterownik naprawdę nie obsługuje ustawienia domyślnego
|
|
106 (przestrzeń kolorów YV12). W poprzednich wersjach
|
|
107 <application>MPlayera</application>/<application>MEncodera</application>
|
|
108 konieczne było podanie formatu wyjścia.
|
|
109 Ten problem powinien być rozwiązany w aktualnych wydaniach i opcja
|
|
110 <option>outfmt</option> nie jest już wymagana, a ustawienie domyślne powinno
|
|
111 pasować każdemu. Na przykład, jeśli nagrywasz do formatu DivX używając
|
|
112 <systemitem class="library">libavcodec</systemitem> i podasz opcję
|
|
113 <option>outfmt=RGB24</option> aby zwiększyć jakość nagrywanego obrazu,
|
|
114 zostanie on i tak później z powrotem przekonwertowany do YV12, więc jedyne,
|
|
115 co osiągniesz, to ogromna strata mocy obliczeniowej.
|
|
116 </para></listitem>
|
|
117 <listitem><para>
|
|
118 By użyć przestrzeni kolorów I420 (<option>outfmt=i420</option>), musisz dodać
|
|
119 opcję <option>-vc rawi420</option> z powodu konfliktu fourcc z kodekiem Intel
|
|
120 Indeo.
|
|
121 </para></listitem>
|
|
122 <listitem><para>
|
|
123 Jest kilka sposobów na nagrywanie audio. Możesz nagrywać dźwięk za pomocą
|
|
124 Twojej karty dźwiękowej korzystając z zewnętrznego kabla pomiędzy kartą video
|
|
125 i wejściem liniowym lub korzystając z wbudowanego w układ bt878 przetwornika
|
|
126 ADC. W tym drugim przypadku musisz załadować sterownik
|
|
127 <emphasis role="bold">btaudio</emphasis>. Przeczytaj plik
|
|
128 <filename>linux/Documentation/sound/btaudio</filename> (w drzewie jądra,
|
|
129 a nie <application>MPlayera</application>) by dowiedzieć się jak korzystać
|
|
130 z tego sterownika.
|
|
131 </para></listitem>
|
|
132 <listitem><para>
|
|
133 Jeśli <application>MEncoder</application> nie może otworzyć urządzenia
|
|
134 dźwiękowego, upewnij się, że jest ono rzeczywiście dostępne. Zdarzają się
|
|
135 problemy z serwerami dźwięku typu aRts (KDE) lub ESD (GNOME). Jeśli masz
|
|
136 kartę full-duplex (prawie wszystkie przyzwoite karty dostępne obecnie
|
|
137 obsługują tę funkcję) i korzystasz z KDE, spróbuj zaznaczyć opcję "Działanie
|
|
138 w pełni dupleksowe" ("full duplex") w konfiguracji serwera dźwięku.
|
|
139 </para></listitem>
|
|
140 </itemizedlist>
|
11156
|
141 </para>
|
|
142 </sect2>
|
|
143
|
21735
|
144 <!-- ********** -->
|
11156
|
145
|
|
146 <sect2 id="tv-examples">
|
20557
|
147 <title>Przykłady</title>
|
11156
|
148
|
21735
|
149 <informalexample><para>
|
20557
|
150 Puste wyjście, do AAlib :)
|
11156
|
151 <screen>
|
21735
|
152 mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://
|
|
153 </screen>
|
|
154 </para></informalexample>
|
11156
|
155
|
21735
|
156 <informalexample><para>
|
20557
|
157 Wejście ze standardowego V4L:
|
11156
|
158 <screen>
|
21735
|
159 mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://
|
|
160 </screen>
|
|
161 </para></informalexample>
|
11156
|
162
|
21735
|
163 <informalexample><para>
|
|
164 Bardziej skomplikowany przykład. Każe on <application>MEncoderowi</application>
|
|
165 nagrać pełen obraz PAL, wykadrować go i usunąć przeplot korzystając z algorytmu
|
20557
|
166 liniowego zlewania (linear blend). Audio jest kompresowane ze stałą
|
20559
|
167 szybkością równą 64kbps, przy użyciu kodeka LAME. To ustawienie jest
|
20557
|
168 dobre do nagrywania filmów.
|
11156
|
169 <screen>
|
21735
|
170 mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64 \
|
11156
|
171 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
|
11718
|
172 -vf crop=720:544:24:16,pp=lb -o <replaceable>wyjscie.avi</replaceable> tv://
|
11156
|
173 </screen>
|
21735
|
174 </para></informalexample>
|
11156
|
175
|
21735
|
176 <informalexample><para>
|
20557
|
177 Ten przykład dodatkowo przeskaluje obraz do 384x288 i skompresuje video
|
|
178 z szybkością 350kbps w trybie wysokiej jakości. Opcja <option>vqmax</option>
|
|
179 uwalnia kwantyzator i pozwala kompresorowi video na osiągnięcie tak
|
|
180 niskiej szybkości nawet kosztem jakości obrazu. Może być to używane do
|
|
181 nagrywania długich seriali TV, kiedy jakość obrazu nie jest tak ważna.
|
11156
|
182 <screen>
|
21735
|
183 mencoder -tv driver=v4l:width=768:height=576 \
|
|
184 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
|
|
185 -oac mp3lame -lameopts cbr:br=48 -sws 1 -o <replaceable>wyjscie.avi</replaceable> \
|
|
186 -vf crop=720:540:24:18,pp=lb,scale=384:288 tv://
|
11156
|
187 </screen>
|
20557
|
188 Jest również możliwe podanie mniejszych wymiarów obrazu w opcji
|
|
189 <option>-tv</option> i pominięcie programowego skalowania, ale to podejście
|
|
190 wykorzystuje maksymalną ilość dostępnych informacji i jest trochę bardziej
|
20559
|
191 odporne na szum.
|
|
192 Układy bt878, ze względu na ograniczenia sprzętowe, mogą stosować
|
20557
|
193 uśrednianie pikseli jedynie w kierunku poziomym.
|
21735
|
194 </para></informalexample>
|
11156
|
195 </sect2>
|
|
196 </sect1>
|
19027
|
197
|
20559
|
198 </chapter>
|