mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
313 lines
13 KiB
Plaintext
313 lines
13 KiB
Plaintext
Installation of the Video Disk Recorder
|
|
---------------------------------------
|
|
|
|
Compiling and running the program:
|
|
----------------------------------
|
|
|
|
Make sure the files from this package are located in a
|
|
directory that is "parallel" to the DVB directory of the
|
|
driver source for the Siemens DVB-S PCI card (refer to
|
|
http://linuxtv.org/dvb/siemens_dvb.html for more information
|
|
about that driver). For example, if the DVB driver was
|
|
extracted into the directory /home/kls/vdr/DVB, then this
|
|
package should be extracted into /home/kls/vdr/VDR.
|
|
If you have the DVB driver source in a different location
|
|
you will have to change the definition of DVBDIR in the
|
|
Makefile.
|
|
|
|
If you want to use your DVD drive you will need to compile VDR with
|
|
|
|
make DVD=1
|
|
|
|
to activate DVD support. VDR then also needs the package 'libdvdread'
|
|
in order to replay DVDs. This package is expected to be located in the
|
|
directory ../DVD (seen from the VDR directory). Adjust the definition
|
|
of DVDDIR in the Makefile if necessary.
|
|
You can find 'libdvdread' at
|
|
|
|
http://www.dtek.chalmers.se/groups/dvd/downloads.html
|
|
|
|
If you want to replay CSS encrypted DVDs you also need to get the 'libdvdcss'
|
|
library from
|
|
|
|
http://www.videolan.org/libdvdcss/download.html
|
|
|
|
VDR requires the Linux-DVB card driver version dated 2001-09-14 or higher
|
|
to work properly.
|
|
|
|
After extracting the package, change into the VDR directory
|
|
and type 'make'. This should produce an executable file
|
|
named 'vdr', which can be run after the DVB driver has been
|
|
installed.
|
|
|
|
IMPORTANT: See "Configuration files" below for information on how
|
|
========= to set up the configuration files at the proper location!
|
|
|
|
The 'vdr' program can be controlled via the PC keyboard or
|
|
an infrared remote control unit. Define the REMOTE macro to one of the
|
|
following values 'make' call to activate the respective control mode:
|
|
|
|
REMOTE=KBD control via the PC keyboard (default)
|
|
REMOTE=RCU control via the "Remote Control Unit" receiver
|
|
(see http://www.cadsoft.de/people/kls/vdr/remote.htm)
|
|
REMOTE=LIRC control via the "Linux Infrared Remote Control"
|
|
(see http://www.lirc.org)
|
|
REMOTE=NONE no remote control (in case only SVDRP shall be used)
|
|
|
|
Adding "DEBUG_OSD=1" will use the PC screen (or current window)
|
|
to display texts instead of the DVB card's on-screen display
|
|
interface. These modes are useful when testing new menus if you
|
|
only have a remote connection to the VDR (which, in my case, is
|
|
located in the living room and has neither a monitor nor a keyboard).
|
|
|
|
If your video directory will be on a VFAT partition, add the compile
|
|
time switch
|
|
|
|
VFAT=1
|
|
|
|
to the 'make' command.
|
|
|
|
When running, the 'vdr' program writes status information into the
|
|
system log file (/var/log/messages). You may want to watch these
|
|
messages (tail -f /var/log/mesages) to see if there are any problems.
|
|
|
|
The program can be controlled via a network connection to its SVDRP
|
|
port ("Simple Video Disk Recorder Protocol"). By default, it listens
|
|
on port 2001 (use the --port=PORT option to change this). For details
|
|
about the SVDRP syntax see the source file 'svdrp.c'.
|
|
|
|
WARNING: DUE TO THE OPEN SVDRP PORT THIS PROGRAM MAY CONSTITUTE A
|
|
======= POTENTIAL SECURITY HAZARD! IF YOU ARE NOT RUNNING VDR IN
|
|
A CONTROLLED ENVIRONMENT, YOU MAY WANT TO DISABLE SVDRP
|
|
BY USING '--port=0'!
|
|
|
|
If the program shall run as a daemon, use the --daemon option. This
|
|
will completely detach it from the terminal and will continue as a
|
|
background process.
|
|
|
|
When starting the program through an entry in /etc/inittab, use the --terminal
|
|
option to set the controlling terminal, as in
|
|
|
|
vdr:123:respawn:/usr/local/bin/vdr --terminal=/dev/tty8 -w 60
|
|
|
|
Automatic restart in case of hangups:
|
|
-------------------------------------
|
|
|
|
If you run VDR using the 'runvdr' shell script it will use the built-in
|
|
watchdog timer to restart the program in case something happens that
|
|
causes a program hangup. If you change the command line options for the
|
|
call to the VDR program, be sure to NOT use the '-d' option! Otherwise
|
|
VDR will go into 'deamon' mode and the initial program call will return
|
|
immediately!
|
|
|
|
Automatic shutdown:
|
|
-------------------
|
|
|
|
If you define a shutdown command via the '-s' command line option, VDR
|
|
will call the given command if there is currently no recording or replay
|
|
active, the user has been inactive for at least MinUserInactivity minutes
|
|
and the next timer event is at least MinEventTimeout minutes in the future
|
|
(see the Setup parameters in MANUAL).
|
|
|
|
The command given in the '-s' option will be called with two parameters.
|
|
The first one is the time (in UTC) of the next timer event (as a time_t
|
|
type number), and the second one is the number of seconds from the current
|
|
time until the next timer event. Your program can choose which one to use
|
|
for programming some sort of hardware device that makes sure the computer
|
|
will be restarted in time before the next timer event. Your program must
|
|
also initiate the actual shutdown procedure of the computer. After this
|
|
your program should return to VDR. VDR will not automatically exit after
|
|
calling the shutdown program, but will rather continue normally until it
|
|
receives a SIGTERM when the computer is actually shut down. So in case
|
|
the shutdown fails, or the shutdown program for some reason decides not to
|
|
perform a shutdown, VDR will stay up and running.
|
|
|
|
If there are currently no timers active, both parameters will be '0'.
|
|
In that case the program shall not set the hardware for automatic restart
|
|
and only perform the system shutdown. A program that uses the second parameter
|
|
to set the hardware for restart must therefore also check whether the first
|
|
parameter is '0'.
|
|
|
|
If a timer is currently recording, the parameters will reflect the start
|
|
time of that timer. This means that the first parameter will be a time in
|
|
the past, and the second parameter will be a negative number. This only
|
|
happens if the user presses the "Power" key while a timer is currently
|
|
recording.
|
|
|
|
Before the shutdown program is called, the user will be prompted to inform
|
|
him that the system is about to shut down. If any remote control key is
|
|
pressed while this prompt is visible, the shutdown will be cancelled (and
|
|
tried again after another MinUserInactivity minutes). The shutdown prompt
|
|
will be displayed for 5 minutes, which should be enough time for the user
|
|
to react.
|
|
|
|
A sample shell script to be used with the '-s' option might look like this:
|
|
|
|
#!/bin/sh
|
|
setRTCwakeup $(($1 - 300))
|
|
sudo halt
|
|
|
|
Here 'setRTCwakeup' would be some program that uses the first parameter
|
|
(which is the absolute time of the next timer event) to set the Real Time
|
|
Clock so that it wakes up the computer 5 minutes (i.e. 300 seconds) before
|
|
that event. The 'sudo halt' command then shuts down the computer.
|
|
You will have to substitute both commands with whatever applies to your
|
|
particular hard- and software environment.
|
|
|
|
If the '-s' option is present, the VDR machine can be turned off by pressing
|
|
the "Power" key on the remote control.
|
|
|
|
Command line options:
|
|
---------------------
|
|
|
|
Use "vdr --help" for a list of available command line options.
|
|
|
|
Replaying Dolby Digital audio:
|
|
------------------------------
|
|
|
|
To replay Dolby Digital audio you need a program that reads the DD data
|
|
from stdin and processes it in a way suitable for your audio hardware.
|
|
This program must be given to VDR with the '-a' option, as in
|
|
|
|
vdr -a ac3play
|
|
|
|
Accessing the DVD drive:
|
|
------------------------
|
|
|
|
By default VDR expects the DVD drive to be located at /dev/dvd (which
|
|
typically is a symbolic link to the actual device, for instance /dev/hdc).
|
|
You can use the '-V' option to overwrite this, as in
|
|
|
|
vdr -V /media/dvd
|
|
|
|
Note that the user id under which VDR runs needs to have write access to
|
|
the DVD device in order to replay CSS protected DVDs (which also requires
|
|
the presence of the 'libdvdcss' library).
|
|
|
|
The video data directory:
|
|
-------------------------
|
|
|
|
All recordings are written into directories below "/video". Please
|
|
make sure this directory exists, and that the user who runs the 'vdr'
|
|
program has read and write access to that directory.
|
|
If you prefer a different location for your video files, you can use
|
|
the '-v' option to change that. Please make sure that the directory
|
|
name you use with '-v' is a clean and absolute path name (no '..' or
|
|
multiple slashes).
|
|
|
|
Note that the file system need not be 64-bit proof, since the 'vdr'
|
|
program splits video files into chunks of about 1GB. You should use
|
|
a disk with several gigabytes of free space. One GB can store roughly
|
|
half an hour of video data.
|
|
|
|
If you have more than one disk and don't want to combine them to form
|
|
one large logical volume, you can set up several video directories as
|
|
mount points for these disks. All of these directories must have the
|
|
same basic name and must end with a numeric part, which starts at 0 for
|
|
the main directory and has increasing values for the rest of the
|
|
directories. For example
|
|
|
|
/video0
|
|
/video1
|
|
/video2
|
|
|
|
would be a setup with three directories. You can use more than one
|
|
numeric digit, and the directories need not be directly under '/':
|
|
|
|
/mnt/MyVideos/vdr.00
|
|
/mnt/MyVideos/vdr.01
|
|
/mnt/MyVideos/vdr.02
|
|
...
|
|
/mnt/MyVideos/vdr.11
|
|
|
|
would set up twelve disks (wow, what a machine that would be!).
|
|
|
|
To use such a multi directory setup, you need to add the '-v' option
|
|
with the name of the basic directory when running 'vdr':
|
|
|
|
vdr -v /video0
|
|
|
|
Configuration files:
|
|
--------------------
|
|
|
|
There are three configuration files that hold information about
|
|
channels, remote control keys and timers. By default these files are
|
|
assumed to be located in the video directory, but a different directory
|
|
can be used with the '-c' option. For starters just copy all *.conf files from
|
|
the VDR directory into your video directory.
|
|
|
|
The configuration files can be edited with any text editor, or will be written
|
|
by the 'vdr' program if any changes are made inside the on-screen menus.
|
|
The meaning of the data entries may still vary in future releases, so for the
|
|
moment please look at the source code (config.c) to see the meaning of the
|
|
various fields.
|
|
|
|
The files that come with this package contain the author's selections,
|
|
so please make sure you adapt these to your personal taste. Also make sure
|
|
that the channels defined in 'channels.conf' are correct before attempting
|
|
to record anything. Channel parameters may vary and not all of the channels
|
|
listed in the default 'channels.conf' file have been verified by the author.
|
|
|
|
As a starting point you can copy the 'channels.conf' file that comes with the
|
|
VDR archive into your video directory (or into your config directory,
|
|
respectively, in case you have redirected it with the -c option).
|
|
|
|
Setting up DiSEqC:
|
|
------------------
|
|
|
|
If you are using a DVB-S card with a satellite equipment that needs to be
|
|
accessed using DiSEqC, you have to go to the "Setup" menu and set the "DiSEqC"
|
|
parameter to "on". Also check the "DiSEqC" parameters for the various channels
|
|
and set them to the necessary values.
|
|
|
|
Running VDR with DVB-C (cable):
|
|
-------------------------------
|
|
|
|
VDR automatically recognizes if the DVB card in use is a cable card.
|
|
The only things that needs to be different when using digital cable
|
|
is the 'channels.conf' file. The distribution archive contains a default
|
|
'channels.conf.cable', which cable users can rename or copy to 'channels.conf'
|
|
in order to receive cable channels. The format of this file is exactly the
|
|
same as for satellite channels (the fields containing "Polarization" and
|
|
"Diseqc" data are ignored in case of DVB-C).
|
|
|
|
Learning the remote control keys:
|
|
---------------------------------
|
|
|
|
There is no default 'keys.conf' file, so if you compile the program
|
|
with 'REMOTE=RCU' you will have to go through a "teach-in"
|
|
session that allows the program to learn your remote control codes.
|
|
It will first attempt to determine the basic data transfer mode and
|
|
timing of your remote control unit, and then will ask you to press one
|
|
key after the other so that it can learn the various key codes. You will
|
|
at least need to provide an "Up" and a "Down" key, so that you can switch
|
|
channels. The rest of the key definitions is optional, but the more keys
|
|
you define, the more you will be able to navigate through the menus and
|
|
control recording/replaying. The program uses only a very small number
|
|
of keys which have multiple meanings in the various modes (see MANUAL
|
|
for a detailed description).
|
|
If the program has been built with "REMOTE=KBD", it will use the
|
|
key configuration file 'keys-pc.conf', so that you won't loose data
|
|
when switching between remote control and keyboard mode.
|
|
|
|
The default PC key assignments are:
|
|
|
|
Up, Down, Left, Right Crsr keys in numeric block
|
|
Menu 'Home' in numeric block
|
|
Ok '5' in numeric block
|
|
Back 'End' in numeric block
|
|
Red, Green, Yellow, Blue 'F1'..'F4'
|
|
0..9 '0'..'9' in top row
|
|
Power 'P'
|
|
Volume+/- '+', '-'
|
|
Mute 'm'
|
|
|
|
If you prefer different key assignments, or if the default doesn't work for
|
|
your keyboard, simply delete the file 'keys-pc.conf' and restart 'vdr' to get
|
|
into learning mode.
|
|
|
|
If the program has been compiled with 'REMOTE=LIRC', no 'keys.conf' file
|
|
will be used. Instead, the key names as listed in the source file 'config.c'
|
|
must be used when setting up LIRC. See http://www.lirc.org for more about LIRC.
|
|
|