/[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 - (hide annotations) (download) (as text)
Thu Nov 16 04:53:37 2006 UTC (7 years, 8 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 nightmorph 1.1 <?xml version="1.0" encoding="UTF-8"?>
2 nightmorph 1.4 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/vdr-guide.xml,v 1.3 2006/11/09 09:40:40 neysx Exp $ -->
3 nightmorph 1.1 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4    
5 nightmorph 1.2 <guide link="/doc/en/vdr-guide.xml">
6 nightmorph 1.1 <title>Gentoo Linux VDR Guide</title>
7    
8     <author title="Author">
9     <mail link="mail@ng-plasmon.de">Norman Golisz</mail>
10     </author>
11 nightmorph 1.4 <author title="Author">
12 neysx 1.3 <mail link="diox@gentoo.org">Dimitry Bradt</mail>
13 nightmorph 1.1 </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 nightmorph 1.4 <version>1.3</version>
27     <date>2006-11-15</date>
28 nightmorph 1.1
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 nightmorph 1.4 <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 nightmorph 1.1 <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 nightmorph 1.4 </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 nightmorph 1.1
351 nightmorph 1.4 <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 nightmorph 1.1
398     <p>
399 nightmorph 1.4 Sit back and enjoy your new video streaming capabilities. :)
400 nightmorph 1.1 </p>
401    
402 nightmorph 1.4 <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 nightmorph 1.1 </body>
409     </section>
410     </chapter>
411     </guide>

  ViewVC Help
Powered by ViewVC 1.1.20