vdr implements a complete digital Set-Top Box and Video Recorder. It can work with signals received from satellites (DVB-S) as well as cable (DVB-C) and terrestrial (DVB-T) signals.
At least one DVB card is required to run vdr. With it you can watch live TV while recording one or more other broadcasts from the same transponder. It is also possible to start watching a recorded programme before the live broadcast has ended (time shifting). In order to record from different transponders simultaneously two or more DVB cards are necessary. By default vdr can support up to eight DVB cards. The primary DVB card (the one your TV set is connected to) can either be a "full featured" card, which means it contains an MPEG decoder and provides audio and video signal outputs, or you can use some third party plugin that implements software decoding of the MPEG data and displays it via the system's graphics adapter.
vdr uses an On Screen Display (OSD) to display its menus. It can be controlled by the PC keyboard, the "Linux Infrared Remote Control" (LIRC), or any other means of remote control, implemented by a third party plugin.
Remote access is possible via the "Simple Video Disk Recorder Protocol" (SVDRP), which can be accessed on port 6419, for instance by telnet.
- -a cmd, --audio=cmd
Send Dolby Digital audio to stdin of command cmd.
Save cache files in dir (default is to save them in the video directory).
Set the character table to use for strings in the DVB data stream that don't begin with a character table indicator, but don't use the standard default character table (for instance ISO-8859-9).
- -c dir, --config=dir
Read config files from directory dir (default is to read them from /etc/vdr).
- -d, --daemon
Run in daemon mode (implies --no-kbd).
- -D num, --device=num
Use only the given DVB device (num = 0, 1, 2...). There may be several -D options (by default all DVB devices will be used). If -D- is given, no DVB devices will be used at all, independent of any other -D options.
Set the maximum directory path length to path (default is the maximum value allowed on the system). If name is also given, it defines the maximum directory name length (default is the maximum value allowed on the system). The optional enc can be 0 or 1, and controls whether special characters in directory names are encoded as hex values (default: 0). If path or name are left empty (as in ",,1" to only set enc), the defaults apply. The length of the video directory name and that of the actual recording directory is subtracted from path, to make sure the directory path will never become too long.
Edit the given recording. rec must be the full path name of an existing recording. The program will return immediately after editing the recording.
- -E file, --epgfile=file
Write the EPG data into the given file (default is epg.data in the cache directory). Use -E- to disable this. If file is a directory, the file epg.data will be created in that directory.
Limit video files to size bytes (default is 2000M). This option is only useful in conjunction with --edit, and must precede that option to have an effect. size is an integer number and may be followed by one of the letters K, M, G or T to abbreviate Kilo-, Mega-, Giga- or Terabyte, respectively. The given value is silently limited to the program's internal minimum and maximum values.
Generate the index file for the given recording. rec must be the full path name of an existing recording. The recording must be in TS format. If the recording already has an index file, it will be deleted before creating the new one. The program will return immediately after generating the index. Note that using this option while another instance of VDR is currently replaying the given recording, or if the recording has not been finished yet, may lead to unexpected results.
- -g, --grab=dir
Write images from the SVDRP command GRAB into the given directory dir. dir must be the full path name of an existing directory, without any "..", double '/' or symlinks. By default, or if -g- is given, grabbing images to disk is disabled.
- -h, --help
Print a help message and exit.
- -i instance, --instance=instance
Use instance as the id of this VDR instance (default is 0). In an environment where several instances of VDR use the same video directory, this parameter can be set to a positive integer value that's unique for each instance, so that they won't interfere with each other in case they record exactly the same broadcast. The number given here will be part of the directory name in which the recordings will be stored.
- -l level, --log=level
Set logging to level. 0 = no logging, 1 = errors only, 2 = errors and info, 3 = errors, info and debug. The default logging level is 3. If logging should be done to LOG_LOCALn instead of LOG_USER, add '.n' to LEVEL, as in 3.7 (n=0..7).
- -L dir, --lib=dir
Search for plugins in directory dir (default is /usr/lib64/vdr). There can be several -L options with different dir values. Each of them will apply to the -P options following it.
Use a LIRC remote control device. If path is omitted, vdr uses /var/run/lirc/lircd.
Search for locale files in dir (default is ./locale).
- -m, --mute
Mute audio of the primary DVB device at startup.
Don't use the keyboard as an input device.
- -p port, --port=port
Use port for SVDRP. A value of 0 turns off SVDRP. The default SVDRP port is 6419. You need to edit the file svdrphosts.conf in order to enable access to the SVDRP port from hosts other than the localhosts. Note that this option only changes the TCP port used for SVDRP commands. The UDP port for discovering peer VDRs in the same network is always set to 6419 and can't be changed.
- -P options, --plugin=options
Load a plugin, defined by the given options. The first word in options must be the name of an existing vdr plugin, optionally followed by a blank separated list of command line options for that plugin. If options contains any blanks, you need to enclose it in quotes, like for example
vdr -P "abc -a -b xyz"
which would load a plugin named abc, giving it the command line options -a -b xyz. If you want to load all available plugins (without any particular options) you can use
vdr -P "*"
(note the quotes around the asterisk to prevent wildcard expansion).
- -r cmd, --record=cmd
Call cmd before and after a recording. See the file INSTALL for more information.
Read resource files from dir (default is to read them from the config directory).
Read command line arguments from dir (default is /etc/vdr/conf.d), display them to the console and exit.
- -s cmd, --shutdown=cmd
Call cmd to shutdown the computer. See the file INSTALL for more information.
Split edited files at the editing marks. This option is only useful in conjunction with --edit, and must precede that option to have an effect.
- -t tty, --terminal=tty
Set the controlling terminal.
- -u user, --user=user
Run as user user in case vdr was started as user 'root'. Starting vdr as 'root' is necessary if the system time shall be set from the transponder data, but for security reasons vdr can switch to a lesser privileged user id during normal operation. user can be a user name or a numerical id.
Update the index file for the given recording. rec must be the full path name of an existing recording. The recording must be in TS format. If the recording already has an index file, it will be checked whether it is complete, and will be updated if it isn't. If there is no index file yet, a new one will be generated. The program will return immediately after updating the index. Note that using this option while another instance of VDR is currently replaying the given recording, or if the recording has not been finished yet, may lead to unexpected results.
Allow coredumps if -u is given (only for debugging).
For backwards compatibility (same as --dirnames= 250,40,1).
- -v dir, --video=dir
Use dir as video directory. The default is /var/lib/vdr/video.
- -V, --version
Print version information and exit.
- -w sec, --watchdog=sec
Activate the watchdog timer with a timeout of sec seconds. A value of 0 (default) disables the watchdog.
If started without any options, vdr tries to read command line options from files named '*.conf' in the directory /etc/vdr/conf.d. Files are read in alphabetical order. See vdr(5) for details.
- SIGINT, SIGTERM
Program exits with status 0.
Program exits with status 1. This can be used to force a reload, for example if an update has been installed.
Successful program execution.
An error has been detected which requires the DVB driver and vdr to be reloaded.
An non-recoverable error has been detected, vdr has given up.
User definable setup.
User definable commands (executed from the Commands menu).
SVDRP host configuration, defining which hosts or networks are given access to the SVDRP port.
Contains the editing marks defined for a recording.
Contains a description of the recording.
Contains the index into the recording where the last replay session left off.
Contains the file number, offset and type of each frame of the recording.
Contains the key assignments for the remote control.
Contains user defined remote control key macros.
- 00001.ts ... 65535.ts
The actual data files of a recording.
Contains all current EPG data. Can be used for external processing and will also be read at program startup to have the full EPG data available immediately.
If this file is present in the video directory, its last modification time will be used to trigger an update of the list of recordings in the "Recordings" menu.
Written by Klaus Schmidinger, with contributions from many others. See the file CONTRIBUTORS in the vdr source distribution.
Report bugs to <firstname.lastname@example.org>.
Copyright © 2018 Klaus Schmidinger.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
svdrpsend(1), vdr(5), w_scan(1).