Mercurial > mplayer.hg
annotate DOCS/xml/en/tvinput.xml @ 27781:b98fceff7bc7
remove outdated message about outfmt=i420
author | compn |
---|---|
date | Thu, 23 Oct 2008 15:36:59 +0000 |
parents | d8e2eb33be6b |
children | b0c49f500418 |
rev | line source |
---|---|
20535 | 1 <?xml version="1.0" encoding="utf-8"?> |
10913
49b1a67e7381
Add revision keyword to english xml files, to ease translation synchronization
lumag
parents:
9948
diff
changeset
|
2 <!-- $Revision$ --> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17280
diff
changeset
|
3 <chapter id="tv"> |
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17280
diff
changeset
|
4 <title>TV</title> |
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17280
diff
changeset
|
5 |
9675 | 6 <sect1 id="tv-input" xreflabel="TV input"> |
7 <title>TV input</title> | |
8 | |
9 <para> | |
10 This section is about how to enable <emphasis role="bold">watching/grabbing | |
9776
861a40949bf3
fixes, some by Dmitry Baryshkov <lumag@qnc.ru>, some by me
nicolas
parents:
9683
diff
changeset
|
11 from V4L compatible TV tuner</emphasis>. See the man page for a description |
861a40949bf3
fixes, some by Dmitry Baryshkov <lumag@qnc.ru>, some by me
nicolas
parents:
9683
diff
changeset
|
12 of TV options and keyboard controls. |
9675 | 13 </para> |
14 | |
21521 | 15 <!-- ********** --> |
9675 | 16 |
17 <sect2 id="tv-compilation"> | |
18 <title>Compilation</title> | |
19 | |
20 <procedure> | |
21 <step><para> | |
22 First, you have to recompile. <filename>./configure</filename> will | |
23 autodetect kernel headers of v4l stuff and the existence of | |
24 <filename>/dev/video*</filename> entries. If they exist, TV support will | |
25 be built (see the output of <filename>./configure</filename>). | |
21521 | 26 </para></step> |
9675 | 27 <step><para> |
28 Make sure your tuner works with another TV software in Linux, for | |
9776
861a40949bf3
fixes, some by Dmitry Baryshkov <lumag@qnc.ru>, some by me
nicolas
parents:
9683
diff
changeset
|
29 example <application>XawTV</application>. |
21521 | 30 </para></step> |
9675 | 31 </procedure> |
32 </sect2> | |
33 | |
21521 | 34 <!-- ********** --> |
35 | |
9675 | 36 <sect2 id="tv-tips"> |
37 <title>Usage tips</title> | |
21521 | 38 |
9675 | 39 <para> |
40 The full listing of the options is available on the manual page. | |
41 Here are just a few tips: | |
21521 | 42 |
9675 | 43 <itemizedlist> |
21521 | 44 <listitem><para> |
45 Use the <option>channels</option> option. An example: | |
46 <screen>-tv channels=26-MTV1,23-TV2</screen> | |
23516 | 47 Explanation: Using this option, only the 26 and 23 channels will be usable, |
21521 | 48 and there will be a nice OSD text upon channel switching, displaying the |
49 channel's name. Spaces in the channel name must be replaced by the | |
21596 | 50 "_" character. |
21521 | 51 </para></listitem> |
52 <listitem><para> | |
53 Choose some sane image dimensions. The dimensions of the resulting image | |
54 should be divisible by 16. | |
55 </para></listitem> | |
9675 | 56 <listitem> |
21521 | 57 <para> |
58 If you capture the video with the vertical resolution higher than half | |
59 of the full resolution (i.e. 288 for PAL or 240 for NTSC), then the | |
60 'frames' you get will really be interleaved pairs of fields. | |
61 Depending on what you want to do with the video you may leave it in | |
62 this form, destructively deinterlace, or break the pairs apart into | |
63 individual fields. | |
64 </para> | |
65 <para> | |
66 Otherwise you'll get a movie which is distorted during | |
67 fast-motion scenes and the bitrate controller will be probably even unable | |
68 to retain the specified bitrate as the interlacing artifacts produce high | |
69 amount of detail and thus consume lot of bandwidth. You can enable | |
70 deinterlacing with <option>-vf pp=DEINT_TYPE</option>. | |
71 Usually <option>pp=lb</option> does a good job, but it can be matter of | |
72 personal preference. | |
73 See other deinterlacing algorithms in the manual and give it a try. | |
74 </para> | |
9675 | 75 </listitem> |
21521 | 76 <listitem><para> |
77 Crop out the dead space. When you capture the video, the areas at the edges | |
78 are usually black or contain some noise. These again consume lots of | |
79 unnecessary bandwidth. More precisely it's not the black areas themselves | |
80 but the sharp transitions between the black and the brighter video image | |
81 which do but that's not important for now. Before you start capturing, | |
82 adjust the arguments of the <option>crop</option> option so that all the | |
83 crap at the margins is cropped out. Again, don't forget to keep the resulting | |
84 dimensions sane. | |
85 </para></listitem> | |
86 <listitem><para> | |
87 Watch out for CPU load. It shouldn't cross the 90% boundary for most of the | |
88 time. If you have a large capture buffer, <application>MEncoder</application> | |
89 can survive an overload for few seconds but nothing more. It's better to | |
90 turn off the 3D OpenGL screensavers and similar stuff. | |
91 </para></listitem> | |
92 <listitem><para> | |
93 Don't mess with the system clock. <application>MEncoder</application> uses the | |
94 system clock for doing A/V sync. If you adjust the system clock (especially | |
95 backwards in time), <application>MEncoder</application> gets confused and you | |
96 will lose frames. This is an important issue if you are hooked to a network | |
97 and run some time synchronization software like NTP. You have to turn NTP | |
98 off during the capture process if you want to capture reliably. | |
99 </para></listitem> | |
100 <listitem><para> | |
101 Don't change the <option>outfmt</option> unless you know what you are doing | |
102 or your card/driver really doesn't support the default (YV12 colorspace). | |
103 In the older versions of <application>MPlayer</application>/ | |
104 <application>MEncoder</application> it was necessary to specify the output | |
105 format. This issue should be fixed in the current releases and | |
106 <option>outfmt</option> isn't required anymore, and the default suits the | |
107 most purposes. For example, if you are capturing into DivX using | |
108 <systemitem class="library">libavcodec</systemitem> and specify | |
109 <option>outfmt=RGB24</option> in order to increase the quality of the captured | |
110 images, the captured image will be actually later converted back into YV12 so | |
111 the only thing you achieve is a massive waste of CPU power. | |
112 </para></listitem> | |
113 <listitem><para> | |
114 There are several ways of capturing audio. You can grab the sound either using | |
115 your sound card via an external cable connection between video card and | |
116 line-in, or using the built-in ADC in the bt878 chip. In the latter case, you | |
117 have to load the <emphasis role="bold">btaudio</emphasis> driver. Read the | |
118 <filename>linux/Documentation/sound/btaudio</filename> file (in the kernel | |
119 tree, not <application>MPlayer</application>'s) for some instructions on using | |
120 this driver. | |
121 </para></listitem> | |
122 <listitem><para> | |
123 If <application>MEncoder</application> cannot open the audio device, make | |
124 sure that it is really available. There can be some trouble with the sound | |
125 servers like aRts (KDE) or ESD (GNOME). If you have a full duplex sound card | |
126 (almost any decent card supports it today), and you are using KDE, try to | |
127 check the "full duplex" option in the sound server preference menu. | |
128 </para></listitem> | |
9675 | 129 </itemizedlist> |
21732 | 130 </para> |
9675 | 131 </sect2> |
132 | |
21521 | 133 <!-- ********** --> |
9675 | 134 |
135 <sect2 id="tv-examples"> | |
136 <title>Examples</title> | |
137 | |
21521 | 138 <informalexample><para> |
9675 | 139 Dummy output, to AAlib :) |
21521 | 140 <screen>mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://</screen> |
141 </para></informalexample> | |
9675 | 142 |
21521 | 143 <informalexample><para> |
9675 | 144 Input from standard V4L: |
145 <screen> | |
21521 | 146 mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv:// |
147 </screen> | |
148 </para></informalexample> | |
9675 | 149 |
21521 | 150 <informalexample><para> |
11540 | 151 A more sophisticated example. This makes <application>MEncoder</application> |
152 capture the full PAL image, crop the margins, and deinterlace the picture | |
153 using a linear blend algorithm. Audio is compressed with a constant bitrate | |
154 of 64kbps, using LAME codec. This setup is suitable for capturing movies. | |
9675 | 155 <screen> |
21521 | 156 mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64\ |
157 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \ | |
158 -vf crop=720:544:24:16,pp=lb -o <replaceable>output.avi</replaceable> tv:// | |
9675 | 159 </screen> |
21521 | 160 </para></informalexample> |
9675 | 161 |
21521 | 162 <informalexample><para> |
9675 | 163 This will additionally rescale the image to 384x288 and compresses the |
164 video with the bitrate of 350kbps in high quality mode. The vqmax option | |
11271
252fb0cf331a
spelling fixes, mostly by <ismail.donmez@boun.edu.tr>
diego
parents:
10913
diff
changeset
|
165 looses the quantizer and allows the video compressor to actually reach so |
9675 | 166 low bitrate even at the expense of the quality. This can be used for |
167 capturing long TV series, where the video quality isn't so important. | |
168 <screen> | |
21521 | 169 mencoder -tv driver=v4l:width=768:height=576 \ |
170 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \ | |
171 -oac mp3lame -lameopts cbr:br=48 -sws 1 -o <replaceable>output.avi</replaceable>\ | |
172 -vf crop=720:540:24:18,pp=lb,scale=384:288 tv:// | |
9675 | 173 </screen> |
21521 | 174 It's also possible to specify smaller image dimensions in the |
175 <option>-tv</option> option and omit the software scaling but this approach | |
176 uses the maximum available information and is a little more resistant to noise. | |
177 The bt8x8 chips can do the pixel averaging only in the horizontal direction due | |
178 to a hardware limitation. | |
179 </para></informalexample> | |
9675 | 180 </sect2> |
181 </sect1> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17280
diff
changeset
|
182 |
24584 | 183 |
184 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
185 | |
186 | |
187 <sect1 id="tv-teletext"> | |
188 <title>Teletext</title> | |
189 | |
190 <para> | |
27018 | 191 Teletext is currently available only in <application>MPlayer</application> |
192 for v4l and v4l2 drivers. | |
24584 | 193 </para> |
194 | |
195 <sect2 id="tv-teletext-implementation-notes"> | |
196 <title>Implementation notes</title> | |
197 | |
198 <para> | |
199 <application>MPlayer</application> supports regular text, graphics and navigation links. | |
200 Unfortunately, colored pages are not fully supported yet - all pages are shown as grayscaled. | |
201 Subtitle pages (also known as Closed Captions) are supported, too. | |
202 </para> | |
203 | |
204 <para> | |
205 <application>MPlayer</application> starts caching all teletext pages upon | |
206 starting to receive TV input, so you do not need to wait until the requested page is loaded. | |
207 </para> | |
208 | |
209 <para> | |
210 Note: Using teletext with <option>-vo xv</option> causes strange colors. | |
211 </para> | |
212 </sect2> | |
213 | |
214 <sect2 id="tv-teletext-usage"> | |
215 <title>Using teletext</title> | |
216 | |
217 <para> | |
218 To enable teletext decoding you must specify the VBI device to get teletext data | |
219 from (usually <filename>/dev/vbi0</filename> for Linux). This can be done by specifying | |
220 <option>tdevice</option> in your configuration file, like shown below: | |
221 <screen>tv=tdevice=/dev/vbi0</screen> | |
222 </para> | |
223 | |
224 <para> | |
225 You might need to specify the teletext language code for your country. | |
226 To list all available country codes use | |
227 <screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>-1</replaceable></screen> | |
228 Here is an example for Russian: | |
229 <screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>33</replaceable></screen> | |
230 </para> | |
231 | |
232 <para> | |
233 </para> | |
234 </sect2> | |
235 | |
236 <sect2 id="tv-teletext-hotkeys"> | |
237 <title>Teletext hot keys</title> | |
238 | |
239 <informaltable frame="all"> | |
240 <tgroup cols="2"> | |
241 <thead> | |
242 <row> | |
243 <entry>Key</entry> | |
244 <entry>Description</entry> | |
245 </row> | |
246 </thead> | |
247 <tbody> | |
248 <row> | |
249 <entry>X</entry> | |
250 <entry>Switch teletext display on/off</entry> | |
251 </row> | |
252 <row> | |
253 <entry>C</entry> | |
254 <entry>Cycle through teletext rendering modes (opaque, transparent, inverted opaque, | |
255 inverted transparent</entry> | |
256 </row> | |
257 <row> | |
258 <entry>Left/Right</entry> | |
259 <entry>Go to previous/next teletext page</entry> | |
260 </row> | |
261 <row> | |
262 <entry>PageUp/PageDown</entry> | |
263 <entry>Go to next/previous teletext subpage</entry> | |
264 </row> | |
265 <row> | |
266 <entry>digits</entry> | |
267 <entry>Enter teletext page number to jump to</entry> | |
268 </row> | |
269 </tbody> | |
270 </tgroup> | |
271 </informaltable> | |
272 </sect2> | |
273 </sect1> | |
274 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17280
diff
changeset
|
275 </chapter> |