mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
- Implemented automatic shutdown (see INSTALL and MANUAL for details). - New SVDRP command NEXT to show the next timer event. - The new remote control key "Power" can be used to turn the VDR machine off (this requires the presence of the '-s' option). - Fixed code for the default "Ok" button on the PC keyboard (was 0x162 on the "good old" keyboards (with the F-keys at the left side), while it changed to 0x15E on the newer keyboards). - When a recording is edited, the summary information (if present) is now also copied. - When a recording is running on the primary interface, any attempt to change the current channel will now lead to a "Channel locked" message. - The main program loop now first checks whether any timer recordings are finished, before starting a new timer recording. This is important in case one timer ends at the same time another timer starts. - New setup parameter OSDMessageTime to define how long an OSD message shall be displayed. - The "File" parameter of a timer can now contain the '~' character to store the recording in a hierarchical directory structure. The '~' character has been chosen since the file system's directory delimiter '/' may be part of a regular programme name (showing the directory hierarchy in the "Recordings" menu will follow later). - Repeating timers now create recordings that contain the 'Subtitle' information from the EPG data in their file name. Typically (on tv stations that care about their viewers) this contains the episode title of a series. The subtitle is appended to the timer's file name, separated by a '~' character, so that it results in all recordings of this timer being collected in a common subdirectory. You can disable this with the 'UseSubtitle' parameter in the "Setup" menu. - The summary information is now taken from the EPG data at the actual time of recording (no longer at the time the timer is created in the "Schedule" menu). If a timer already has summary data, that data will be used. If you have repeating timers in your 'timers.conf', you may want to make sure they do NOT contain any summary information (that's the last field in the timer definitions). Use your favourite text editor to delete that information. That way every recording will store the actual summary data at the time of the recording.
303 lines
13 KiB
Plaintext
303 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
|
|
|
|
VDR requires the card driver version 0.9.0 or higher
|
|
to work properly. You need to load the dvb.o module *without* option
|
|
'outstream=0' (previous versions of VDR required this option to have
|
|
the driver supply the data in AV_PES format; as of version 0.70 VDR
|
|
works with PES format).
|
|
|
|
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 untit 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'.
|
|
|
|
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 'libcss' 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'
|
|
|
|
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.
|
|
|