/[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.6 - (show annotations) (download) (as text)
Wed Jan 3 15:04:27 2007 UTC (7 years, 9 months ago) by nightmorph
Branch: MAIN
Changes since 1.5: +17 -20 lines
File MIME type: application/xml
more grammar & sentence rephrasing stuff that i should have caught in the last update, purely englishification stuff, hence no revbump. thanks to diox for catching it and for the patch, bug 159142

1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/vdr-guide.xml,v 1.5 2007/01/03 00:58:38 nightmorph 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="Author">
15 <mail link="zzam@gentoo.org">Matthias Schwarzott</mail>
16 </author>
17 <author title="Editor">
18 <mail link="nightmorph@gentoo.org">Joshua Saddler</mail>
19 </author>
20
21 <abstract>
22 This guide shows you how to prepare Gentoo Linux for DVB and VDR.
23 </abstract>
24
25 <!-- The content of this document is licensed under the CC-BY-SA license -->
26 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
27 <license/>
28
29 <version>1.4</version>
30 <date>2007-01-02</date>
31
32 <chapter>
33 <title>General information to DVB</title>
34 <section>
35 <title>What is DVB?</title>
36 <body>
37
38 <p>
39 <e>DVB</e> stands for <e>Digital Video Broadcasting</e>. DVB describes methods
40 to transfer digital data of TV, radio, interactive services like MHP, EPG and
41 teletext. Through data compression with MPEG-2, or H.264 for HDTV, it's
42 possible to transfer several channels on the same frequency. The more data
43 compression, the more channels can be transferred, but you pay it with quality
44 loss.
45 </p>
46
47 <p>
48 DVB can be transferred in several ways. The trailing letter identifies the
49 method of transfer, e.g. DVB-<e>T</e> for terrestrial transmission. There are
50 several more types:
51 </p>
52
53 <ul>
54 <li>DVB-S for transmission over satellites</li>
55 <li>DVB-C for transmission over cable</li>
56 <li>DVB-H for transmission to mobile devices (terrestrial)</li>
57 <li>DVB-IPI for transmission over IP based networks, e.g. internet</li>
58 <li>
59 DVB-RC(S/C/T) return channel for the transmission of data services, e.g.
60 broadband internet
61 </li>
62 </ul>
63
64 </body>
65 </section>
66
67 <section>
68 <title>Types and requirement of DVB cards</title>
69 <body>
70
71 <p>
72 Besides the different methods available to receive a DVB stream, the cards are
73 classified by their type of produced output. There are cards with a decoder
74 implemented which offer direct access to the stream by the device
75 <path>/dev/video</path>. These cards are <e>full featured cards</e>. Other
76 cards have no own decoder implemented and require a software decoder on the
77 computer and are <e>budget cards</e>. This implies higher system requirements.
78 Your computer's CPU should run at at least 600 MHz, and have at least 256MB of
79 RAM. <uri link="http://linuxtv.org/wiki/index.php/DVB_Card_Vendors">This
80 list</uri> is useful for identifying your card.
81 </p>
82
83 </body>
84 </section>
85 </chapter>
86
87 <chapter>
88 <title>Preparing the system</title>
89 <section>
90 <title>Configuring the kernel</title>
91 <body>
92
93 <p>
94 First, we must ensure that your kernel supports DVB and your DVB device. Since
95 kernel version 2.6 the necessary drivers are included. Check your kernel
96 configuration and make sure the following options are selected as a static
97 driver or as modules.
98 </p>
99
100 <pre caption="Required kernel options">
101 Input Device Support ---&gt;
102 * Event Interface
103 Device Drivers ---&gt;
104 Multimedia Devices ---&gt;
105 Digital Video Broadcasting Devices ---&gt;
106 [*] DVB For Linux
107 * DVB Core Support
108 M [Your driver]
109 </pre>
110
111 <p>
112 Additionally we have to select the proper driver for your hardware. To find out
113 the right module for your card, we mark every driver as module. If you have a
114 PCI card, install <c>pciutils</c> if you haven't already. If you want built-in
115 drivers or you don't own a PCI card, skip this step and continue with <uri
116 link="#kernel_output">Checking the kernel output</uri>.
117 </p>
118
119 <pre caption="Installing pciutils">
120 # <i>emerge pciutils</i>
121 </pre>
122
123 <p>
124 After booting the new kernel, we run <c>pcimodules</c> to list the required
125 modules.
126 </p>
127
128 <pre caption="Listing the required modules">
129 # <i>pcimodules</i>
130 ohci-hcd
131 ehci-hcd
132 sis900
133 snd-emu10k1
134 b2c2-flexcop-pci
135 nvidia
136 nvidiafb
137 </pre>
138
139 <p>
140 In this case we have to load the module <c>b2c2-flexcop-pci</c>. We add the
141 name to <path>/etc/modules.autoload.d/kernel-2.6</path>.
142 </p>
143
144 <pre caption="Adding the module name">
145 # <i>echo b2c2-flexcop-pci &gt;&gt; /etc/modules.autoload.d/kernel-2.6</i>
146 </pre>
147
148 </body>
149 </section>
150
151 <section id="kernel_output">
152 <title>Checking the kernel output</title>
153 <body>
154
155 <p>
156 It's recommended to mark every driver as module, so that you can add the
157 required module dynamically, especially if you don't know the module name. If
158 you already know the module name, select the driver as a built-in driver.
159 Compile the kernel, install the modules and boot it. You can check if your
160 kernel has successfully detected your card by using <c>dmesg</c>.
161 </p>
162
163 <pre caption="Checking kernel output">
164 # <i>dmesg | grep DVB</i>
165 <comment>(If you own a TerraTec Cinergy T2, your output might look like this:)</comment>
166 DVB: registering new adaptor (TerraTec/qanu USB2.0 Highspeed DVB-T Receiver).
167 input: TerraTec/qanu USB2.0 Highspeed DVB-T Receiver remote control as /class/input/input2
168 </pre>
169
170 </body>
171 </section>
172 </chapter>
173
174 <chapter id="inst_vdr">
175 <title>Installing VDR</title>
176 <section>
177 <body>
178
179 <p>
180 To install VDR, we just emerge it.
181 </p>
182
183 <pre caption="Installing VDR">
184 # <i>emerge vdr</i>
185 </pre>
186
187 <p>
188 Now continue with <uri link="#inst_ir_remote">Installing the Remote Control</uri>.
189 </p>
190
191 </body>
192 </section>
193 </chapter>
194
195 <chapter id="inst_ir_remote">
196 <title>Installing the Remote Control</title>
197 <section>
198 <body>
199
200 <p>
201 There are at least two ways to control VDR via an infrared remote control. If
202 your TV card has an onboard IR receiver you can use <c>vdr-remote</c>.
203 Otherwise, you most likely need to use LIRC.
204 </p>
205
206 </body>
207 </section>
208 <section>
209 <title>Installing vdr-remote</title>
210 <body>
211
212 <p>
213 We first install the plugin via emerge:
214 </p>
215
216 <pre caption="Installing vdr-remote">
217 # <i>emerge vdr-remote</i>
218 # <i>emerge --config vdr-remote</i>
219 </pre>
220
221 <p>
222 When using the remote plugin for the IR port on your DVB card everything should
223 be fine with the default config. It automatically uses the input device which
224 has "dvb" in its name. For more advanced uses take a look at
225 <path>/etc/conf.d/vdr.remote</path>.
226 </p>
227
228 <p>
229 Now, continue with <uri link="#video-out">Video Output Methods</uri>.
230 </p>
231
232 </body>
233 </section>
234 <section>
235 <title>Alternative: installing LIRC</title>
236 <body>
237
238 <p>
239 If your card can be remotely controlled (but you cannot or do not want to use
240 <c>vdr-remote</c>), you may wish to configure LIRC. LIRC interprets the pressed
241 keys and returns a name for each one. A program that supports LIRC waits for key
242 events and runs the action configured in the config file, mostly stored in the
243 config directory of the executing program (e.g. <c>mplayer</c> loads the file
244 <path>~/.mplayer/lircrc</path>). Before we install LIRC, you have to add
245 <c>lirc</c> to your USE flags and add an additional entry to
246 <path>/etc/make.conf</path>: <c>LIRC_DEVICES</c>. Use <uri
247 link="http://www.lirc.org/html/table.html">this list</uri> to find the proper
248 arguments for the option.
249 </p>
250
251 <pre caption="Installing LIRC">
252 # <i>nano -w /etc/make.conf</i>
253 <comment>(Replace "devinput" with the proper driver)</comment>
254 LIRC_DEVICES="devinput"
255 USE="lirc"
256 # <i>emerge lirc</i>
257 </pre>
258
259 <p>
260 At first we have to define each key code with a name. Most supported remote
261 controls are configured already, take a look at the <uri
262 link="http://lirc.sourceforge.net/remotes/">remote list</uri>. Download the
263 required file and save it as <path>/etc/lircd.conf</path>. Now we have to find
264 out where to access your remote control. Run the following command to get a
265 list of the current input devices (make sure your device is running).
266 </p>
267
268 <pre caption="List of current input devices">
269 # <i>cat /proc/bus/input/devices</i>
270 I: Bus=0000 Vendor=0000 Product=0000 Version=0000
271 N: Name="TerraTec/qanu USB2.0 Highspeed DVB-T Receiver remote control"
272 P: Phys=usb-0000:00:1d.7-1/input0
273 S: Sysfs=/class/input/input2
274 H: Handlers=kbd event1
275 B: EV=100003
276 B: KEY=108fc210 2043 0 0 0 0 8000 2080 1 9e1680 0 0 ffc
277 </pre>
278
279 <p>
280 In this case we have the Terratec Cinergy T2 device plugged in, so we can
281 access the device over <path>/dev/input/event1</path>. Replace <c>event1</c>
282 with the matching device in your output.
283 </p>
284
285 <p>
286 <c>lircd</c> needs to know the device to use. Add the following line to
287 <path>/etc/conf.d/lirc.conf</path>. Remember to replace <c>devinput</c> with
288 the name of your driver and <c>event1</c> with the actual device.
289 </p>
290
291 <pre caption="Adding options to lircd">
292 LIRCD_OPTS="-H devinput -d /dev/input/event1"
293 </pre>
294
295 <p>
296 It's time to start <c>lircd</c>:
297 </p>
298
299 <pre caption="Starting lircd">
300 # <i>/etc/init.d/lircd start</i>
301 </pre>
302
303 <p>
304 Now it should be possible to watch <c>lircd</c> capturing and decoding key
305 presses. Just run the command <c>irw</c>. Stop it by pressing Ctrl+C when you
306 have enough.
307 </p>
308
309 <pre caption="Testing LIRC">
310 # <i>irw</i>
311 0000000000001aa2 00 Exit Technisat_TTS35AI.conf
312 0000000000001a8d 00 Mute Technisat_TTS35AI.conf
313 0000000000000a97 00 OK Technisat_TTS35AI.conf
314 0000000000000a97 01 OK Technisat_TTS35AI.conf
315 0000000000000a92 00 Menu Technisat_TTS35AI.conf
316 </pre>
317
318 <p>
319 Next, add it to the default runlevel so that it starts automatically at boot.
320 </p>
321
322 <pre caption="Adding lircd to the default runlevel">
323 # <i>rc-update add lircd default</i>
324 </pre>
325
326 <p>
327 To be able to use your remote control, you must enable LIRC support in VDR. Add
328 the following line to <path>/etc/conf.d/vdr</path>:
329 </p>
330
331 <pre caption="Enabling support for LIRC">
332 # <i>nano -w /etc/conf.d/vdr</i>
333 IR_CTRL="lirc"
334 </pre>
335
336 </body>
337 </section>
338 </chapter>
339
340 <chapter id="video-out">
341 <title>Video Output Methods</title>
342 <section>
343 <body>
344
345 <p>
346 You now need to decide on one (and only one!) of the following video output
347 devices which show the picture and the overlayed On Screen Display (OSD).
348 </p>
349
350 </body>
351 </section>
352 <section id="vdr-dxr3">
353 <title>Hardware decoding: full-featured DVB cards</title>
354 <body>
355
356 <p>
357 Users of these expensive cards need not install anything else, so you may
358 continue with <uri link="#channel_list">configuring your channel list</uri>.
359 </p>
360
361 </body>
362 </section>
363 <section id="vdr-dxr3">
364 <title>Hardware decoding: DXR3/Hollywood+ cards</title>
365 <body>
366
367 <p>
368 To use a DXR3 card for VDR output we need the <c>vdr-dxr3</c> plugin.
369 </p>
370
371 <pre caption="Installing the plugin">
372 # <i>emerge vdr-dxr3</i>
373 # <i>echo em8300 &gt;&gt; /etc/modules.autoload.d/kernel-2.6</i>
374 </pre>
375
376 <p>
377 The em8300 module need some configuration that depends on the exact revision of
378 that card.
379 </p>
380
381 <!--
382 <p>
383 Because we (the authors) don't own a card that uses the dxr3config, we decided
384 to skip this part till we have one at our disposal.
385 </p>
386 -->
387
388 <p>
389 Continue with <uri link="#channel_list">configuring your channel list</uri>.
390 </p>
391
392 </body>
393 </section>
394 <section id="vdr-pvr350">
395 <title>Hardware decoding: PVR350 cards</title>
396 <body>
397
398 <p>
399 As PVR350 cards have an onboard MPEG-Decoder chip we want to make use of that.
400 We need to install the <c>vdr-pvr350</c> plugin. If <c>ivtv-driver</c> is not
401 yet installed emerge will automatically install it for you. To have the ivtv
402 module loaded at boot we add it to
403 <path>/etc/modules.autoload.d/kernel-2.6</path>:
404 </p>
405
406 <pre caption="Installing PVR350-Plugin">
407 # <i>emerge vdr-pvr350</i>
408 # <i>echo ivtv &gt;&gt; /etc/modules.autoload.d/kernel-2.6</i>
409 </pre>
410
411 <p>
412 Continue with <uri link="#channel_list">configuring your channel list</uri>.
413 </p>
414
415 </body>
416 </section>
417 <section id="vdr-xineliboutput">
418 <title>Software decoding: vdr-softdevice</title>
419 <body>
420
421 <p>
422 To install it, we have to emerge <c>vdr-softdevice</c>. Don't forget
423 to enable the plugin.
424 </p>
425
426 <pre caption="Installing the softdevice plugin">
427 # <i>emerge vdr-softdevice</i>
428 # <i>emerge --config vdr-softdevice</i>
429 </pre>
430
431 <p>
432 To select the proper video and audio output, edit
433 <path>/etc/conf.d/vdr.softdevice</path>.
434 </p>
435
436 <p>
437 For now, we will only describe the shm ("shared memory") method. This is already
438 enabled in the installed config file (Setting SOFTDEVICE_VIDEO_OUT). Later you
439 need to start <c>ShmClient</c> to get a window showing the picture.
440 </p>
441
442 <note>
443 If you do not want to think about a separate keyboard layout for controlling VDR
444 with softdevice/shm there is a remote configuration file available at Matthias
445 Schwarzott's <uri
446 link="http://dev.gentoo.org/~zzam/remote.softdevice-shm.conf">devspace</uri>.
447 You will need to copy it to <path>/etc/vdr/remote.conf</path> and run <c>chown
448 vdr:vdr</c> on the file to get it working.
449 </note>
450
451 <p>
452 Continue with <uri link="#channel_list">configuring your channel list</uri>.
453 </p>
454
455 </body>
456 </section>
457 <section id="vdr-xineliboutput">
458 <title>Software decoding: vdr-xineliboutput</title>
459 <body>
460
461 <p>
462 Some people prefer to use <c>vdr-xineliboutput</c>, because it can also work
463 remotely. We'll now teach you how to configure <c>vdr-xineliboutput</c> on your
464 host and client. First, the host setup:
465 </p>
466
467 <pre caption="Installing vdr-xineliboutput">
468 # <i>emerge vdr-xineliboutput</i>
469 # <i>emerge --config vdr-xineliboutput</i>
470 </pre>
471
472 <p>
473 Adding command line options at this point is crucial for xineliboutput to work.
474 For more options, see <c>vdr --help</c>.
475 </p>
476
477 <pre caption="Adding command line options to /etc/conf.d/vdr.xineliboutput">
478 _EXTRAOPTS="--local=none --remote=37890"
479 </pre>
480
481 <p>
482 The next step is to edit <path>/etc/vdr/svdrphosts.conf</path>. This file
483 describes a number of host addresses that are allowed to connect to the SVDRP
484 port of the video disk recorder running on the host system.
485 </p>
486
487 <pre caption="Editing /etc/vdr/svdrphosts.conf">
488 <comment>(The proper syntax is: IP-Address[/Netmask])</comment>
489 127.0.0.1 <comment>(always accept localhost)</comment>
490 192.168.1.0/24 <comment>(any host on the local net)</comment>
491 #204.152.189.113 <comment>(a specific host)</comment>
492 #0.0.0.0/0 <comment>(any host on any net - USE THIS WITH CARE!)</comment>
493 </pre>
494
495 <p>
496 If you only want to use <c>vdr-xineliboutput</c> to view the picture on the same
497 computer as the one running VDR you can continue with <uri
498 link="#channel_list">configuring your channel list</uri>.
499 </p>
500
501 <p>
502 Otherwise, you now simply <c>emerge media-plugins/vdr-xineliboutput</c> on your
503 client:
504 </p>
505
506 <pre caption="Client setup">
507 # <i>emerge vdr-xineliboutput</i>
508 </pre>
509
510 <p>
511 Later (after having started VDR) you will use the command <c>vdr-sxfe
512 xvdr://hostname</c> to connect to VDR and view its picture and OSD.
513 </p>
514
515 <p>
516 Continue with <uri link="#channel_list">configuring your channel list</uri>.
517 </p>
518
519 <note>
520 There is also a plugin which just simulates the existance of a real
521 output device (<c>vdr-dummydevice</c>) for some fancy uses like record-only
522 servers, but that is more advanced than a normal VDR setup.
523 </note>
524
525 </body>
526 </section>
527 </chapter>
528
529 <chapter id="channel_list">
530 <title>Creating a Channel List</title>
531 <section>
532 <body>
533
534 <p>
535 To make VDR really useful you need to create an appropriate channel list. There
536 is more than one way to get a working list of channels (besides downloading
537 one). The channel list installed by default is for DVB-S reception on Astra on
538 19.2°E.
539 </p>
540
541 </body>
542 </section>
543 <section>
544 <title>Using dvbscan from linuxtv-dvb-apps</title>
545 <body>
546
547 <pre caption="Installing linuxtv-dvb-apps">
548 # <i>emerge linuxtv-dvb-apps</i>
549 </pre>
550
551 <p>
552 Find the correct frequency list for your region and type of reception. These
553 files are stored under <path>/usr/share/dvb/scan</path>. For reception with
554 DVB-T in Germany, Region Nuernberg you need to use
555 <path>/usr/share/dvb/scan/dvb-t/de-Nuernberg</path>.
556 </p>
557
558 <pre caption="Scanning with dvbscan">
559 $ <i>dvbscan -o vdr /usr/share/dvb/scan/dvb-t/de-Nuernberg &gt; /etc/vdr/channels.conf</i>
560 </pre>
561
562 </body>
563 </section>
564 <section>
565 <title>Using vdr-reelchannelscan</title>
566 <body>
567
568 <p>
569 First, delete the contents of the existing channel list.
570 </p>
571
572 <pre caption="Cleaning old channel-list">
573 # <i>rm /etc/vdr/channels.conf</i>
574 </pre>
575
576 <pre caption="Installing and activating vdr-reelchannelscan">
577 # <i>emerge vdr-reelchannelscan</i>
578 # <i>emerge --config vdr-reelchannelscan</i>
579 </pre>
580
581 </body>
582 </section>
583 <section>
584 <title>Channels for systems using vdr-analogtv</title>
585 <body>
586
587 <p>
588 You'll probably want to configure your channels at this point. The VDR project
589 provides you with some examples which can be found at
590 <path>/usr/share/doc/vdr-analogtv-$version/examples/</path>, as long as you've
591 installed &gt;=<c>media-plugins/vdr-analogtv-1.0.00-r1</c>.
592 </p>
593
594 </body>
595 </section>
596 </chapter>
597
598 <chapter>
599 <title>Starting VDR</title>
600 <section>
601 <body>
602
603 <p>
604 After having all basic software parts ready on the system you need to
605 configure VDR with its OSD.
606 </p>
607
608 <p>
609 If you use a hardware decoder for picture output you should switch on the
610 connected TV now. If you use software output the client for this must be started
611 after VDR.
612 </p>
613
614 <p>
615 First, you should learn your key definitions; that is, connecting keys on your
616 remote control to VDR's internal commands.
617 </p>
618
619 <note>
620 Just in case you need to edit the keyboard configuration, or (more likely) want
621 to delete it to go back to learning the keys: VDR stores its key-definitions in
622 <path>/etc/vdr/remote.conf</path>.
623 </note>
624
625 <p>
626 We begin with starting VDR:
627 </p>
628
629 <pre caption="Starting VDR">
630 # <i>/etc/init.d/vdr start</i>
631 * Preparing start of vdr:
632 * config files ... [ ok ]
633 * Waiting for prerequisites (devices nodes etc.) ... [ ok ]
634 * Starting vdr ... [ ok ]
635 * First start of vdr: No check for running vdr possible
636 * until control device (remote/keyboard) keys are learnt!
637 </pre>
638
639 <note>
640 Users of software decoders should now start the client program that opens the
641 window to show the TV picture and the OSD.
642 </note>
643
644 <pre caption="Activating the software decoder for the client">
645 <comment>(For users of vdr-softdevice)</comment>
646 # <i>ShmClient</i>
647 <comment>(For users of vdr-xineliboutput)</comment>
648 # <i>vdr-sxfe xvdr://hostname</i>
649 </pre>
650
651 <p>
652 The most useful keys for VDR are:
653 </p>
654 <ul>
655 <li>Cursor keys (Left/Right/Up/Down)</li>
656 <li>Menu/Exit/Ok</li>
657 <li>Colors (Red/Green/Yellow/Blue)</li>
658 <li>Number keys (0-9)</li>
659 </ul>
660
661 <impo>
662 If you don't have many keys, make sure to assign these. (Some remotes have
663 Play/Pause/etc. on the same keys as the colors, so use them for the colors).
664 </impo>
665
666 <p>
667 Now that the basic installation is over, you need to configure VDR. Switch to
668 your output screen and follow the on-screen instructions. VDR asks you to press
669 various keys on your remote control to learn the correct key codes. If you don't
670 own a remote control, you can use your keyboard.
671 </p>
672
673 <!--<p>
674 TODO: Add a configuration howto for remote controls etc.
675 </p>-->
676
677 <p>
678 Now you can add the VDR initscript to the default runlevel to get it started
679 every time your computer boots up.
680 </p>
681
682 <pre caption="Adding vdr to the default runlevel">
683 # <i>rc-update add vdr default</i>
684 </pre>
685
686 </body>
687 </section>
688 </chapter>
689
690 <chapter>
691 <title>Troubleshooting</title>
692 <section>
693 <body>
694
695 <note>
696 If you need any help, you can always ask someone in <uri
697 link="irc://irc.freenode.org/gentoo-vdr">#gentoo-vdr</uri>, or look around on
698 our <uri link="http://forums.gentoo.org/">forums</uri>.
699 </note>
700
701 </body>
702 </section>
703 </chapter>
704 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20