/[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.15 - (show annotations) (download) (as text)
Tue Dec 10 08:30:24 2013 UTC (4 months, 1 week ago) by swift
Branch: MAIN
CVS Tags: HEAD
Changes since 1.14: +2 -2 lines
File MIME type: application/xml
Moved to https://wiki.gentoo.org/wiki/VDR

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

  ViewVC Help
Powered by ViewVC 1.1.20