/[gentoo]/xml/htdocs/doc/en/vdr-guide.xml
Gentoo

Contents of /xml/htdocs/doc/en/vdr-guide.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (show annotations) (download) (as text)
Thu Nov 16 04:53:37 2006 UTC (7 years, 9 months ago) by nightmorph
Branch: MAIN
Changes since 1.3: +86 -9 lines
File MIME type: application/xml
updated vdr guide for bug 155176, thanks to diox for the patch and zzam for technical review

1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/vdr-guide.xml,v 1.3 2006/11/09 09:40:40 neysx Exp $ -->
3 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4
5 <guide link="/doc/en/vdr-guide.xml">
6 <title>Gentoo Linux VDR Guide</title>
7
8 <author title="Author">
9 <mail link="mail@ng-plasmon.de">Norman Golisz</mail>
10 </author>
11 <author title="Author">
12 <mail link="diox@gentoo.org">Dimitry Bradt</mail>
13 </author>
14 <author title="Editor">
15 <mail link="nightmorph@gentoo.org">Joshua Saddler</mail>
16 </author>
17
18 <abstract>
19 This guide shows you how to prepare Gentoo Linux for DVB and VDR.
20 </abstract>
21
22 <!-- The content of this document is licensed under the CC-BY-SA license -->
23 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
24 <license/>
25
26 <version>1.3</version>
27 <date>2006-11-15</date>
28
29 <chapter>
30 <title>General information to DVB</title>
31 <section>
32 <title>What is DVB?</title>
33 <body>
34
35 <p>
36 <e>DVB</e> stands for <e>Digital Video Broadcasting</e>. DVB describes methods
37 to transfer digital data of TV, radio, interactive services like MHP, EPG and
38 teletext. Through data compression with MPEG-2, or H.264 for HDTV, it's
39 possible to transfer several channels on the same frequency. The more data
40 compression, the more channels can be transferred, but you pay it with quality
41 loss.
42 </p>
43
44 <p>
45 DVB can be transferred in several ways. The trailing letter identifies the
46 method of transfer, e.g. DVB-<e>T</e> for terrestrial transmission. There are
47 several more types:
48 </p>
49
50 <ul>
51 <li>DVB-S for transmission over satellites</li>
52 <li>DVB-C for transmission over cable</li>
53 <li>DVB-H for transmission to mobile devices (terrestrial)</li>
54 <li>DVB-IPI for transmission over IP based networks, e.g. internet</li>
55 <li>
56 DVB-RC(S/C/T) return channel for the transmission of data services, e.g.
57 broadband internet
58 </li>
59 </ul>
60
61 </body>
62 </section>
63
64 <section>
65 <title>Types and requirement of DVB cards</title>
66 <body>
67
68 <p>
69 Besides the different methods available to receive a DVB stream, the cards are
70 classified by their type of produced output. There are cards with a decoder
71 implemented which offer direct access to the stream by the device
72 <path>/dev/video</path>. These cards are <e>full featured cards</e>. Other
73 cards have no own decoder implemented and require a software decoder on the
74 computer and are <e>budget cards</e>. This implies higher system requirements.
75 Your computer's CPU should run at at least 600 MHz, and have at least 256MB of
76 RAM. <uri link="http://linuxtv.org/wiki/index.php/DVB_Card_Vendors">This
77 list</uri> is useful for identifying your card.
78 </p>
79
80 </body>
81 </section>
82 </chapter>
83
84 <chapter>
85 <title>Preparing the system</title>
86 <section>
87 <title>Configuring the kernel</title>
88 <body>
89
90 <p>
91 First, we must ensure that your kernel supports DVB and your DVB device. Since
92 kernel version 2.6 the necessary drivers are included. Check your kernel
93 configuration and make sure the following options are selected as a static
94 driver or as modules.
95 </p>
96
97 <pre caption="Required kernel options">
98 Input Device Support ---&gt;
99 * Event Interface
100 Device Drivers ---&gt;
101 Multimedia Devices ---&gt;
102 Digital Video Broadcasting Devices ---&gt;
103 [*] DVB For Linux
104 * DVB Core Support
105 M [Your driver]
106 </pre>
107
108 <p>
109 Additionally we have to select the proper driver for your hardware. To find out
110 the right module for your card, we mark every driver as module. If you have a
111 PCI card, install <c>pciutils</c> if you haven't already. If you want built-in
112 drivers or you don't own a PCI card, skip this step and continue with <uri
113 link="#kernel_output">Checking the kernel output</uri>.
114 </p>
115
116 <pre caption="Installing pciutils">
117 # <i>emerge pciutils</i>
118 </pre>
119
120 <p>
121 After booting the new kernel, we run <c>pcimodules</c> to list the required
122 modules.
123 </p>
124
125 <pre caption="Listing the required modules">
126 # <i>pcimodules</i>
127 ohci-hcd
128 ehci-hcd
129 sis900
130 snd-emu10k1
131 b2c2-flexcop-pci
132 nvidia
133 nvidiafb
134 </pre>
135
136 <p>
137 In this case we have to load the module <c>b2c2-flexcop-pci</c>. We add the
138 name to <path>/etc/modules.autoload.d/kernel-2.6</path>.
139 </p>
140
141 <pre caption="Adding the module name">
142 # <i>echo b2c2-flexcop-pci &gt;&gt; /etc/modules.autoload.d/kernel-2.6</i>
143 </pre>
144
145 </body>
146 </section>
147
148 <section id="kernel_output">
149 <title>Checking the kernel output</title>
150 <body>
151
152 <p>
153 It's recommended to mark every driver as module, so you are able to add the
154 required module dynamically, especially if you don't know the module name. If
155 you know the module name already, select the driver as built-in driver. Compile
156 the kernel, install the modules and boot it. Check to see if your kernel has
157 successfully detected your card by using <c>dmesg</c>.
158 </p>
159
160 <pre caption="Checking kernel output">
161 # <i>dmesg | grep DVB</i>
162 <comment>(If you own a TerraTec Cinergy T2, your output might look like this:)</comment>
163 DVB: registering new adaptor (TerraTec/qanu USB2.0 Highspeed DVB-T Receiver).
164 input: TerraTec/qanu USB2.0 Highspeed DVB-T Receiver remote control as /class/input/input2
165 </pre>
166
167 <p>
168 Now continue with <uri link="#inst_lirc">installing LIRC</uri> if you want to
169 use a remote control.
170 </p>
171
172 </body>
173 </section>
174 </chapter>
175
176 <chapter id="inst_lirc">
177 <title>Configuring the remote control - LIRC</title>
178 <section>
179 <title>Installing LIRC</title>
180 <body>
181
182 <p>
183 If your card can be remotely controlled, you may wish to configure LIRC. LIRC
184 interprets the pressed keys and returns a name for each one. A program that
185 supports LIRC waits for key events and runs the action configured in the config
186 file, mostly stored in the config directory of the executing program (e.g.
187 <c>mplayer</c> loads the file <path>~/.mplayer/lircrc</path>). Before we
188 install LIRC, you have to add <c>lirc</c> to your USE flags and add an
189 additional entry to <path>/etc/make.conf</path>: <c>LIRC_DEVICES</c>. Use <uri
190 link="http://www.lirc.org/html/table.html">this list</uri> to find the proper
191 arguments for the option.
192 </p>
193
194 <pre caption="Installing LIRC">
195 # <i>nano -w /etc/make.conf</i>
196 <comment>(Replace "devinput" with the proper driver)</comment>
197 LIRC_DEVICES="devinput"
198 USE="lirc"
199 # <i>emerge lirc</i>
200 </pre>
201
202 <p>
203 At first we have to define each key code with a name. Most supported remote
204 controls are configured already, take a look at the <uri
205 link="http://lirc.sourceforge.net/remotes/">remote list</uri>. Download the
206 required file and save it as <path>/etc/lircd.conf</path>. Now we have to find
207 out where to access your remote control. Run the following command to get a
208 list of the current input devices (make sure your device is running).
209 </p>
210
211 <pre caption="List of current input devices">
212 # <i>cat /proc/bus/input/devices</i>
213 I: Bus=0000 Vendor=0000 Product=0000 Version=0000
214 N: Name="TerraTec/qanu USB2.0 Highspeed DVB-T Receiver remote control"
215 P: Phys=usb-0000:00:1d.7-1/input0
216 S: Sysfs=/class/input/input2
217 H: Handlers=kbd event1
218 B: EV=100003
219 B: KEY=108fc210 2043 0 0 0 0 8000 2080 1 9e1680 0 0 ffc
220 </pre>
221
222 <p>
223 In this case we have the Terratec Cinergy T2 device plugged in, so we can
224 access the device over <path>/dev/input/event1</path>. Replace <c>event1</c>
225 with the matching device in your output.
226 </p>
227
228 <p>
229 <c>lircd</c> needs to know the device to use. Add the following line to
230 <path>/etc/conf.d/lirc.conf</path>. Remember to replace <c>devinput</c> with
231 the name of your driver and <c>event1</c> with the actual device.
232 </p>
233
234 <pre caption="Adding options to lircd">
235 LIRCD_OPTS="-H devinput -d /dev/input/event1"
236 </pre>
237
238 <p>
239 It's time to start <c>lircd</c>:
240 </p>
241
242 <pre caption="Starting lircd">
243 # <i>/etc/init.d/lircd start</i>
244 </pre>
245
246 <p>
247 Next, add it to the default runlevel so that it starts automatically at boot.
248 </p>
249
250 <pre caption="Adding lircd to the default runlevel">
251 # <i>rc-update add lircd default</i>
252 </pre>
253
254 </body>
255 </section>
256 </chapter>
257
258 <chapter>
259 <title>Setting up VDR</title>
260 <section>
261 <title>Installing VDR</title>
262 <body>
263
264 <p>
265 To install VDR, we just emerge it.
266 </p>
267
268 <pre caption="Installing VDR">
269 # <i>emerge vdr</i>
270 </pre>
271
272 <p>
273 If you want to be able to use your remote control, we have to enable LIRC
274 support in VDR. Add the following line to the <path>/etc/conf.d/vdr</path>:
275 </p>
276
277 <pre caption="Enabling support for LIRC">
278 # <i>nano -w /etc/conf.d/vdr</i>
279 IR_CTRL="lirc"
280 </pre>
281
282 <note>
283 There's a remote configuration file available at Matthias Schwarzott's <uri
284 link="http://dev.gentoo.org/~zzam/remote.conf">devspace</uri>. You will need to
285 run <c>chown vdr:vdr</c> on the file to get it working.
286 </note>
287
288 <p>
289 You'll probably want to configure your channels at this point. The VDR project
290 provides you with some examples which can be found at
291 <path>/usr/share/doc/vdr-analogtv-$version/examples/</path>, as long as you've
292 installed &gt;=<c>media-plugins/vdr-analogtv-1.0.00-r1</c>.
293 </p>
294
295 <p>
296 Next, start VDR and add it to the default runlevel:
297 </p>
298
299 <pre caption="Adding vdr to the default runlevel">
300 # <i>/etc/init.d/vdr start</i>
301 # <i>rc-update add vdr default</i>
302 </pre>
303
304 <p>
305 Now that the basic installation is over, you need to configure VDR. Switch to
306 your output screen and follow the on-screen instructions. VDR asks you to press
307 various keys on your remote control to learn the correct key codes. In case you
308 don't own a remote control unit, you can use your keyboard. If you only have a
309 budget card, you need to install a software output plugin, or <e>softdevice
310 plugin</e>. This decodes the stream and offers a device to access.
311 </p>
312
313 </body>
314 </section>
315 <section id="softdevice">
316 <title>Optional: Installing a softdevice plugin</title>
317 <body>
318
319 <p>
320 To install a softdevice, we have to emerge <c>vdr-softdevice</c>. Don't forget
321 to configure the plugin.
322 </p>
323
324 <pre caption="Installing the softdevice plugin">
325 # <i>emerge vdr-softdevice</i>
326 # <i>emerge --config vdr-softdevice</i>
327 </pre>
328
329 <p>
330 To select the proper video and audio output, edit
331 <path>/etc/conf.d/vdr.softdevice</path>.
332 </p>
333
334 </body>
335 </section>
336 <section id="vdr-xineliboutput">
337 <title>Optional: Alternate installation of a softdevice plugin</title>
338 <body>
339
340 <p>
341 Some people prefer to use <c>vdr-xineliboutput</c>, because it can also work
342 remotely. We'll now teach you how to configure <c>vdr-xineliboutput</c> on your
343 host and client. First, the host setup:
344 </p>
345
346 <pre caption="Installing vdr-xineliboutput">
347 # <i>emerge vdr-xineliboutput</i>
348 # <i>emerge --config vdr-xineliboutput</i>
349 </pre>
350
351 <p>
352 Adding command line options at this point is crucial for your softdevice to
353 work. For more options, see <c>vdr --help</c>.
354 </p>
355
356 <pre caption="Adding command line options to /etc/conf.d/vdr.xineliboutput">
357 _EXTRAOPTS="--local=none --remote=37890"
358 </pre>
359
360 <p>
361 The next step is to edit <path>/etc/vdr/svdrphosts.conf</path>. This file
362 describes a number of host addresses that are allowed to connect to the SVDRP
363 port of the video disk recorder running on the host system.
364 </p>
365
366 <pre caption="Editing /etc/vdr/svdrphosts.conf">
367 <comment>(The proper syntax is: IP-Address[/Netmask])</comment>
368 127.0.0.1 <comment>(always accept localhost)</comment>
369 192.168.1.0/24 <comment>(any host on the local net)</comment>
370 #204.152.189.113 <comment>(a specific host)</comment>
371 #0.0.0.0/0 <comment>(any host on any net (USE THIS WITH CARE!))</comment>
372 </pre>
373
374 <p>
375 You must restart VDR for the changes to take effect:
376 </p>
377
378 <pre caption="Restarting VDR">
379 # <i>/etc/init.d/vdr restart</i>
380 * Stopping vdr ... [ ok ]
381 * Preparing start of vdr:
382 * config files ... [ ok ]
383 * Waiting for prerequisites (devices nodes etc.) ... [ ok ]
384 * Starting vdr ... [ ok ]
385 * Waiting for working vdr ... [ ok ]
386 </pre>
387
388 <p>
389 Now, simply <c>emerge media-plugins/vdr-xineliboutput</c> on your client, and
390 start it.
391 </p>
392
393 <pre caption="Client setup">
394 # <i>emerge vdr-xineliboutput</i>
395 $ <i>vdr-sxfe xvdr://hostname</i>
396 </pre>
397
398 <p>
399 Sit back and enjoy your new video streaming capabilities. :)
400 </p>
401
402 <note>
403 If you need any help, you can always ask someone in <uri
404 link="irc://irc.freenode.org/gentoo-vdr">#gentoo-vdr</uri>, or look around on
405 our <uri link="http://forums.gentoo.org/">forums</uri>.
406 </note>
407
408 </body>
409 </section>
410 </chapter>
411 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20