mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	- Fixed setting the OSD size in the 'Confirm' interface call (thanks to
  Deti Fliegl).
- Removed the 'read incomplete section...' error message in the EIT processor.
- Fixed channel data for "DW TV" (thanks to Axel Gruber).
- Added DPID to "PREMIERE MOVIE 1" in channels.conf.cable (thanks to Stephan
  Schreiber).
- Prepared the OSD functions for multiple overlapping windows.
- Removed the check to see whether the system time is running linearly.
- Improved performance of SVDRP command entry.
- Removed EPGBugfixLevel '3' - after more than a year Pro-7 finally managed to
  broadcast the correct timestamps for EPG events between 0:00 and 6:00!
- Fixed failing watchdog timer if program hangs in OSD activities (thanks to
  Carsten Koch).
- No longer requiring 'libncurses' if compiling without DEBUG_OSD=1 and
  REMOTE=KBD (thanks to Lauri Pesonen).
- The "Recordings" menu now displays a hierarchical structure if there are
  subdirectories for the recordings. This can be controlled through the
  "RecordingDirs" parameter in the "Setup" menu.
  See "MANUAL/Replaying a Recording" for details.
- Improved speed of setting the Help button texts.
- Fixed handling file names that contain single quotes (') or dollar signs ($)
  in the call to the shutdown command (option '-s') and the recording command
  (option '-r').
- Improved error handling in the editing process; the resulting file will be
  deleted if an error occured.
- A message is now prompted at the end of the editing process, indicating
  whether the process succeeded or failed.
- Fixed setting the LastActivity timestamp after a shutdown prompt (thanks to
  Sergei Haller).
- A message is now prompted if free disk space becomes low during recording.
- The editing process now calls AssertFreeDiskSpace() to remove deleted
  recordings if the disk becomes full.
- The "Main" menu now displays in its title the used disk space (in percent)
  and the estimated free disk space (in hh:mm), assuming a data rate of 30 MB
  per minute.
- Activating the "Recordings" menu now displays "scanning recordings..." to
  give the user some feedback in case this takes longer.
- Status messages are now displayed centered.
- Removed the 'Tools' subdirectory from the VDR archive. All contributed tools
  can now be found at ftp://ftp.cadsoft.de/pub/people/kls/vdr/Tools.
		
	
		
			
				
	
	
		
			394 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			394 lines
		
	
	
		
			16 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.shtml
 | 
						|
 | 
						|
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
 | 
						|
 | 
						|
Locale
 | 
						|
------
 | 
						|
 | 
						|
When presenting the list of recordings, VDR sorts the entries according to
 | 
						|
the current "locale" settings. This makes sure that special characters (like
 | 
						|
the German "umlauts") appear at the expected positions. In order to benefit
 | 
						|
from this you may have to set the locale environment variable, for instance
 | 
						|
 | 
						|
  export LANG=de_DE
 | 
						|
 | 
						|
for a German locale. If you don't want this to result in German error messages
 | 
						|
in the log file, it is sufficient to just set
 | 
						|
 | 
						|
  export LC_COLLATE=de_DE
 | 
						|
 | 
						|
which only influences the way strings are sorted and leaves error messages
 | 
						|
in English.
 | 
						|
 | 
						|
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 five 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 and will call the shutdown
 | 
						|
program again after another MinUserInactivity minutes.
 | 
						|
 | 
						|
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'.
 | 
						|
 | 
						|
The third parameter contains the number of the channel that will be recorded
 | 
						|
by the next timer (or 0 if no timer is present), and the fourth parameter
 | 
						|
contains the file name of the recording as defined in the timer (or an empty
 | 
						|
string if no timer is present). These can be used by the shutdown program to
 | 
						|
show that information on some display interface etc.
 | 
						|
 | 
						|
The fifth parameter indicates the reason why the shutdown was requested.
 | 
						|
'0' means this is an automatic shutdown due to some timeout, while '1' means
 | 
						|
that this is a user requested shutdown (resulting from pressing the "Power"
 | 
						|
key). The shutdown program may use this information to decide whether or
 | 
						|
not to actually perform the system shutdown.
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
Executing commands before and after a recording:
 | 
						|
------------------------------------------------
 | 
						|
 | 
						|
You can use the '-r' option to define a program or script that gets called
 | 
						|
before and after a recording is performed, and after an editing process
 | 
						|
has finished.
 | 
						|
 | 
						|
The program will be called with two string parameters. The first parameter
 | 
						|
is one of
 | 
						|
 | 
						|
  before      if this is *before* a recording starts
 | 
						|
  after       if this is *after* a recording has finished
 | 
						|
  edited      if this is after a recording has been *edited*
 | 
						|
 | 
						|
and the second parameter contains the full name of the recording's
 | 
						|
directory (which may not yet exists at that moment in the "before" case).
 | 
						|
In the "edited" case it will be the name of the edited version.
 | 
						|
 | 
						|
Within this program you can do anything you would like to do before and/or
 | 
						|
after a recording or after an editing process. However, the program must return
 | 
						|
as soon as possible, because otherwise it will block further execution of VDR.
 | 
						|
Be especially careful to make sure the program returns before the watchdog
 | 
						|
timeout you may have set up with the '-w' option! If the operation you want to
 | 
						|
perform will take longer, you will have to run it as a background job.
 | 
						|
 | 
						|
An example script for use with the '-r' option could look like this:
 | 
						|
 | 
						|
#!/bin/sh
 | 
						|
case "$1" in
 | 
						|
     before)
 | 
						|
            echo "Before recording $2"
 | 
						|
            ;;
 | 
						|
     after)
 | 
						|
            echo "After recording $2"
 | 
						|
            ;;
 | 
						|
     edited)
 | 
						|
            echo "Edited recording $2"
 | 
						|
            ;;
 | 
						|
     *)
 | 
						|
            echo "ERROR: unknown state: $1"
 | 
						|
            ;;
 | 
						|
     esac
 | 
						|
 | 
						|
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) or DVB-T (terrestrial):
 | 
						|
------------------------------------------------------
 | 
						|
 | 
						|
VDR automatically recognizes if the DVB card in use is a cable or a
 | 
						|
terrestrial card. The only thing that needs to be different when using digital
 | 
						|
cable or terrestrial reception is the 'channels.conf' file. The distribution
 | 
						|
archive contains a default 'channels.conf.cable' and 'channels.conf.terr',
 | 
						|
respectively, which users of such cards can rename or copy to 'channels.conf'
 | 
						|
in order to receive digital cable or terrestrial channels. The format of these
 | 
						|
files is exactly the same as for satellite channels (the fields containing
 | 
						|
"Polarization" and "Diseqc" data are ignored in case of DVB-C and DVB-T, and
 | 
						|
the "Frequency" is in kHz in case of DVB-T).
 | 
						|
 | 
						|
You can even use a mixture of DVB-S, DVB-C and DVB-T cards in the same system.
 | 
						|
All you need to do is to put all the channel definitions into one big
 | 
						|
'channels.conf' file and set the 'Ca' parameter of each channel to the number
 | 
						|
of the card that can receive it.
 | 
						|
 | 
						|
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.
 | 
						|
 |