diff --git a/VDR-command-reference.md b/VDR-command-reference.md index 97ce057..6cc6486 100644 --- a/VDR-command-reference.md +++ b/VDR-command-reference.md @@ -1,294 +1,398 @@ -
vdr(1) | -Video Disk Recorder | -vdr(1) | -
27 Dec 2021
+vdr - the Video Disk Recorder
-vdr [options]
-vdr [options]
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.
-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.
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).
-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).
+Read config files from directory dir (default is to read +them from the video directory).
+Run in daemon mode (implies --no-kbd).
+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.
+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.
+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.
+Print a help message and exit.
+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.
+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).
+Search for plugins in directory dir (default is +./PLUGINS/lib). 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).
+Mute audio of the primary DVB device at startup.
+Don't use the keyboard as an input device.
+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.
+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).
+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.
+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.
+Set the controlling terminal.
+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).
+Use dir as video directory. The default is +/video.
+Print version information and exit.
+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.
-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.
+Channel configuration.
+Timer configuration.
+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.
+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.
+Contains the names of recordings that have been done by pattern +timers with '@' as the first character of the pattern. File names are +appended to this file after a recording has finished, and the entire +file is read upon startup of VDR.
+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.
+vdr(5),svdrpsend(1)
-vdr(5),svdrpsend(1)
Written by Klaus Schmidinger, with contributions from many others. - See the file CONTRIBUTORS in the vdr source distribution.
-Report bugs to <vdr-bugs@tvdr.de>.
-Copyright © 2021 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.
-27 Dec 2021 | -2.6 | -
Copyright © 2021 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.
+ diff --git a/VDR-file-formats-and-conventions.md b/VDR-file-formats-and-conventions.md index fa473e3..838bfd0 100644 --- a/VDR-file-formats-and-conventions.md +++ b/VDR-file-formats-and-conventions.md @@ -1,742 +1,815 @@ -vdr(5) | -Video Disk Recorder Files | -vdr(5) | -
27 Dec 2021
+vdr_files - the Video Disk Recorder Files
-This page describes the formats of the various files vdr - uses to store configuration data and recordings.
-This page describes the formats of the various files +vdr uses to store configuration data and +recordings.
The file channels.conf contains the channel configuration. - Each line defines either a group delimiter or a channel.
-A group delimiter is a line starting with a ':' as the very - first character, followed by arbitrary text. Example:
-:First group
-Group delimiters may also be used to specify the number of the - next channel. To do this, the character '@' and a number must immediately - follow the ':', as in
-:@201 First group
+The file channels.conf contains the channel configuration. +Each line defines either a group delimiter or a +channel.
+A group delimiter is a line starting with a ':' as +the very first character, followed by arbitrary text. Example:
+:First group
+Group delimiters may also be used to specify the number of the next +channel. To do this, the character '@' and a number must immediately +follow the ':', as in
+:@201 First group
The given number must be larger than the number of any previous - channel (otherwise it is silently ignored).
+channel (otherwise it is silently ignored).A group delimiter can also be used to just set the next channel's - number, without an explicit delimiter text, as in
-:@201
+number, without an explicit delimiter text, as in +:@201
Such a delimiter will not appear in the Channels menu.
-A channel definition is a line with channel data, where the - fields are separated by ':' characters. Example:
- +A channel definition is a line with channel data, +where the fields are separated by ':' characters. Example:
RTL Television,RTL;RTL - World:12187:hC34M2O0S0:S19.2E:27500:163=2:104=deu;106=deu:105:0:12003:1:1089:0 | -
RTL Television,RTL;RTL +World:12187:hC34M2O0S0:S19.2E:27500:163=2:104=deu;106=deu:105:0:12003:1:1089:0 | +
The line number of a channel definition (not counting group - separators, and based on a possible previous '@...' parameter) defines the - channel's number in OSD menus and the timers.conf file.
-The fields in a channel definition have the following meaning - (from left to right):
+separators, and based on a possible previous '@...' parameter) defines +the channel's number in OSD menus and the timers.conf file. +The fields in a channel definition have the following meaning (from +left to right):
RTL Television,RTL:...
-If the short name itself would contain a comma, it is replaced - with a '.'. Note that some long channel names may contain a comma, so - the delimiting comma is always the rightmost one.
-If present, the name of the service provider or - "bouquet" is appended to the channel name, separated by a - semicolon, as in
-RTL Television,RTL;RTL World:...
-B | -Bandwidth (1712, 5, 6, 7, 8, 10) | -
C | -Code rate high priority (0, 12, 23, 34, 35, 45, 56, 67, 78, 89, 910, - 999) | -
D | -coDe rate low priority (0, 12, 23, 34, 35, 45, 56, 67, 78, 89, 910, - 999) | -
G | -Guard interval (4, 8, 16, 32, 128, 19128, 19256, 999) | -
H | -Horizontal polarization | -
I | -Inversion (0, 1, 999) | -
L | -Left circular polarization | -
M | -Modulation (2, 5, 6, 7, 10, 11, 12, 16, 32, 64, 128, 256, 999) | -
N | -pilot mode (0, 1, 999) | -
O | -rollOff (0, 20, 25, 35) | -
P | -stream id (0-255) | -
Q | -t2 system id (0-65535) | -
R | -Right circular polarization | -
S | -delivery System (0, 1) | -
T | -Transmission mode (1, 2, 4, 8, 16, 32, 999) | -
V | -Vertical polarization | -
X | -siso/miso mode (0, 1) | -
Y | -hierarchY (0, 1, 2, 4, 999) | -
Bandwidth: The bandwidth of the channel in MHz (1712 in - kHz): (DVB-T/DVB-T2 only).
-Code rate high priority: Forward Error Correction (FEC) - of the high priority stream (DVB-T/DVB-T2). For DVB-S/DVB-S2 this - parameter specifies the inner FEC scheme. 12 = 1/2, 23 = 2/3, 34 = 3/4, - ...
-Code rate low priority: Forward Error Correction (FEC) - of the low priority stream (DVB-T/DVB-T2 only). If no hierarchy is used, - set to 0.
-Guard interval: The guard interval value (DVB-T only): - 4 = 1/4, 8 = 1/8, 16 = 1/16, 32 = 1/32, 128 = 1/128, 19128 = 19/128, - 19256 = 19/256.
-Inversion: Specifies whether the DVB frontend needs - spectral inversion (DVB-T and DVB-C only). This is frontend specific, if - in doubt, omit.
-Modulation: Specifies the modulation/constellation of - the channel as follows:
-2 | -QPSK (DVB-S, DVB-S2, DVB-T, DVB-T2, ISDB-T) | -
5 | -8PSK (DVB-S, DVB-S2) | -
6 | -16APSK (DVB-S2) | -
7 | -32APSK (DVB-S2) | -
10 | -VSB8 (ATSC aerial) | -
11 | -VSB16 (ATSC aerial) | -
12 | -DQPSK (ISDB-T) | -
16 | -QAM16 (DVB-T, DVB-T2, ISDB-T) | -
32 | -QAM32 | -
64 | -QAM64 (DVB-C, DVB-T, DVB-T2, ISDB-T) | -
128 | -QAM128 (DVB-C) | -
256 | -QAM256 (DVB-C, DVB-T2) | -
Pilot mode: The pilot mode (0 = "off", 1 = - "on", 999 = "auto") for DVB-S2 multiplex (DVB-S2 - only).
-Rolloff: The Nyquist filter rolloff factor for DVB-S - (35) and DVB-S2 (35, 25, 20), 35 = 0.35, 25 = 0.25, 20 = - 0.20, DVB-S/DVB-S2 default value is 0.35
-Stream id: Input Stream Identifier (ISI) (0-255) - for DVB-S2 multiplex or Physical Layer Pipe (PLP) id (0-255) for - DVB-T2 multiplex (DVB-S2/DVB-T2 only, with devices that support - "multi streaming").
-T2 System id: Unique identifier (0-65535) of T2 - system within the DVB network (DVB-T2).
-Transmission mode: Number of DVB-T OFDM carriers, 32 = - 32k, 16 = 16k, 8 = 8k, 4 = 4k, 2 = 2k, 1 = 1k. If in doubt, try 8k.
-SISO/MISO mode: Specifies the - Single-Input/Multiple-Input Single-Output mode (0 = SISO, 1 = - MISO) (DVB-T2).
-Hierarchy: If set to 1, this transponder uses two - streams, high priority and low priority. If in doubt, try 0 (off). - (DVB-T/DVB-T2 only).
-Delivery System: The delivery system (0 = "first - generation" (DVB-S/DVB-T), 1 = "second generation" - (DVB-S2/DVB-T2).
-Polarization: Satellite antenna polarization. H = - horizontal, V = vertical, R = circular right, L = circular left.
-The polarization parameters have no integer numbers following - them. This is for compatibility with files from older versions and also - to keep the DVB-S entries as simple as possible.
-The special value 999 is used for - "automatic", which means the driver will automatically - determine the proper value (if possible).
-An example of a parameter field for a DVB-T channel might look - like this: B8C23D12G8M16T8Y0S0
-An example of a parameter field for a DVB-T2 channel might - look like this: B8C23D12G8M16T8Y0P0S1
-An example of a parameter field for a DVB-C channel might look - like this: C0M64
-An example of a parameter field for a DVB-S channel might look - like this: HC56M2O35S0
-An example of a parameter field for a DVB-S2 channel might - look like this: HC910M2O35S1
-Plugins that implement devices that need their own set of - parameters may store those in the parameters string in arbitrary format - (not necessarily the "character/number" format listed above). - The only condition is that the string may not contain colons (':') or - newline characters.
-...:164+17:...
-If this channel has a video mode other than 0, the mode - follows the pids, separated by an '=' sign, as in
-...:164+17=27:...
-...:101,102;103,104:...
-If certain audio PIDs broadcast in specific languages, the - language codes for these can be appended to the individual audio or - Dolby PID, separated by an '=' sign, as in
-...:101=deu,102=eng;103=deu,104=eng:...
-Some channels broadcast two different languages in the two - stereo channels, which can be indicated by adding a second language - code, delimited by a '+' sign, as in
-...:101=deu,102=eng+spa;103=deu,104=eng:...
-The audio type is appended with a separating '@' character, as - in
-...:101=deu@4,102=eng+spa@4,105=@4:...
-Note that if there is no language code, there still is the - separating '=' if there is an audio type.
- -...:201;2001,2002:...
-If certain subtitling PIDs broadcast in specific languages, - the language codes for these can be appended to the individual - subtitling PID, separated by an '=' sign, as in
-...:201;2001=deu,2002=eng:...
- -0000 | -Free To Air | -
0001...000F | -explicitly requires the device with the given number | -
0010...00FF | -reserved for user defined assignments | -
0100...FFFF | -specific decryption methods as broadcast in the data stream | -
...:1702,1722,1801:...
-The values are in hex because that's the way they are defined - in the "ETR 162" document. Leading zeros may be omitted.
-The channel's name (if the name originally contains a ':' character +it has to be replaced by '|'). Some TV stations provide a way of +deriving a "short name" from the channel name, which can be used in +situations where there is not much space for displaying a long name. If +a short name is available for this channel, it follows the full name and +is delimited by a comma, as in
+RTL Television,RTL:...
+If the short name itself would contain a comma, it is replaced with a +'.'. Note that some long channel names may contain a comma, so the +delimiting comma is always the rightmost one.
+If present, the name of the service provider or "bouquet" is appended +to the channel name, separated by a semicolon, as in
+RTL Television,RTL;RTL World:...
+The transponder frequency (as an integer). For DVB-S this value is in +MHz. For DVB-C and DVB-T it can be given either in MHz, kHz or Hz (the +actual value given will be multiplied by 1000 until it is larger than +1000000).
+Various parameters, depending on whether this is a DVB-S, DVB-C or +DVB-T channel. Each parameter consist of a key character, followed by an +integer number that represents the actual setting of that parameter. The +valid key characters, their meaning (and allowed values) are
+B | +Bandwidth (1712, 5, 6, 7, 8, 10, 999) | +
C | +Code rate high priority (0, 12, 23, 34, +35, 45, 56, 67, 78, 89, 910, 999) | +
D | +coDe rate low priority (0, 12, 23, 34, 35, +45, 56, 67, 78, 89, 910, 999) | +
G | +Guard interval (4, 8, 16, 32, 128, 19128, +19256, 999) | +
H | +Horizontal polarization | +
I | +Inversion (0, 1, 999) | +
L | +Left circular polarization | +
M | +Modulation (2, 5, 6, 7, 10, 11, 12, 16, +32, 64, 128, 256, 999) | +
N | +pilot mode (0, 1, 999) | +
O | +rollOff (0, 20, 25, 35) | +
P | +stream id (0-255) | +
Q | +t2 system id (0-65535) | +
R | +Right circular polarization | +
S | +delivery System (0, 1) | +
T | +Transmission mode (1, 2, 4, 8, 16, 32, +999) | +
V | +Vertical polarization | +
X | +siso/miso mode (0, 1) | +
Y | +hierarchY (0, 1, 2, 4, 999) | +
Bandwidth: The bandwidth of the channel in MHz (1712 +in kHz): (DVB-T/DVB-T2 only).
+Code rate high priority: Forward Error Correction +(FEC) of the high priority stream (DVB-T/DVB-T2). For DVB-S/DVB-S2 this +parameter specifies the inner FEC scheme. 12 = 1/2, 23 = 2/3, 34 = 3/4, +...
+Code rate low priority: Forward Error Correction +(FEC) of the low priority stream (DVB-T/DVB-T2 only). If no hierarchy is +used, set to 0.
+Guard interval: The guard interval value (DVB-T +only): 4 = 1/4, 8 = 1/8, 16 = 1/16, 32 = 1/32, 128 = 1/128, 19128 = +19/128, 19256 = 19/256.
+Inversion: Specifies whether the DVB frontend needs +spectral inversion (DVB-T and DVB-C only). This is frontend specific, if +in doubt, omit.
+Modulation: Specifies the modulation/constellation +of the channel as follows:
+2 | +QPSK (DVB-S, DVB-S2, DVB-T, DVB-T2, +ISDB-T) | +
5 | +8PSK (DVB-S, DVB-S2) | +
6 | +16APSK (DVB-S2) | +
7 | +32APSK (DVB-S2) | +
10 | +VSB8 (ATSC aerial) | +
11 | +VSB16 (ATSC aerial) | +
12 | +DQPSK (ISDB-T) | +
16 | +QAM16 (DVB-T, DVB-T2, ISDB-T) | +
32 | +QAM32 | +
64 | +QAM64 (DVB-C, DVB-T, DVB-T2, ISDB-T) | +
128 | +QAM128 (DVB-C) | +
256 | +QAM256 (DVB-C, DVB-T2) | +
Pilot mode: The pilot mode (0 = "off", 1 = "on", 999 += "auto") for DVB-S2 multiplex (DVB-S2 only).
+Rolloff: The Nyquist filter rolloff factor for DVB-S +(35) and DVB-S2 (35, 25, 20), 35 = +0.35, 25 = 0.25, 20 = 0.20, DVB-S/DVB-S2 default value is 0.35
+Stream id: Input Stream Identifier (ISI) +(0-255) for DVB-S2 multiplex or Physical Layer Pipe +(PLP) id (0-255) for DVB-T2 multiplex (DVB-S2/DVB-T2 +only, with devices that support "multi streaming").
+T2 System id: Unique identifier +(0-65535) of T2 system within the DVB network +(DVB-T2).
+Transmission mode: Number of DVB-T OFDM carriers, 32 += 32k, 16 = 16k, 8 = 8k, 4 = 4k, 2 = 2k, 1 = 1k. If in doubt, try +8k.
+SISO/MISO mode: Specifies the +Single-Input/Multiple-Input Single-Output mode (0 = +SISO, 1 = MISO) (DVB-T2).
+Hierarchy: If set to 1, this transponder uses two +streams, high priority and low priority. If in doubt, try 0 (off). +(DVB-T/DVB-T2 only).
+Delivery System: The delivery system (0 = "first +generation" (DVB-S/DVB-T), 1 = "second generation" (DVB-S2/DVB-T2).
+Polarization: Satellite antenna polarization. H = +horizontal, V = vertical, R = circular right, L = circular left.
+The polarization parameters have no integer numbers following them. +This is for compatibility with files from older versions and also to +keep the DVB-S entries as simple as possible.
+The special value 999 is used for "automatic", which +means the driver will automatically determine the proper value (if +possible).
+An example of a parameter field for a DVB-T channel might look like +this: B8C23D12G8M16T8Y0S0
+An example of a parameter field for a DVB-T2 channel might look like +this: B8C23D12G8M16T8Y0P0S1
+An example of a parameter field for a DVB-C channel might look like +this: C0M64
+An example of a parameter field for a DVB-S channel might look like +this: HC56M2O35S0
+An example of a parameter field for a DVB-S2 channel might look like +this: HC910M2O35S1
+Plugins that implement devices that need their own set of parameters +may store those in the parameters string in arbitrary format (not +necessarily the "character/number" format listed above). The only +condition is that the string may not contain colons (':') or newline +characters.
+The signal source of this channel, as defined in the file +sources.conf.
+The symbol rate of this channel (DVB-S and DVB-C only).
+The video PID (set to '0' for radio channels). If this channel uses a +separate PCR PID, it follows the VPID, separated by a plus sign, as +in
+...:164+17:...
+If this channel has a video mode other than 0, the mode follows the +pids, separated by an '=' sign, as in
+...:164+17=27:...
+The audio PID (either one number, or several, separated by commas). +If this channel also carries Dolby Digital sound, the Dolby PIDs follow +the audio PIDs, separated by a semicolon, as in
+...:101,102;103,104:...
+If certain audio PIDs broadcast in specific languages, the language +codes for these can be appended to the individual audio or Dolby PID, +separated by an '=' sign, as in
+...:101=deu,102=eng;103=deu,104=eng:...
+Some channels broadcast two different languages in the two stereo +channels, which can be indicated by adding a second language code, +delimited by a '+' sign, as in
+...:101=deu,102=eng+spa;103=deu,104=eng:...
+The audio type is appended with a separating '@' character, as in
+...:101=deu@4,102=eng+spa@4,105=@4:...
+Note that if there is no language code, there still is the separating +'=' if there is an audio type.
+The teletext PID. If this channel also carries DVB subtitles, the DVB +subtitling PIDs follow the teletext PID, separated by a semicolon, as +in
+...:201;2001,2002:...
+If certain subtitling PIDs broadcast in specific languages, the +language codes for these can be appended to the individual subtitling +PID, separated by an '=' sign, as in
+...:201;2001=deu,2002=eng:...
+A hexadecimal integer defining how this channel can be accessed:
+0000 | +Free To Air | +
0001...000F | +explicitly requires the device with the +given number | +
0010...00FF | +reserved for user defined assignments | +
0100...FFFF | +specific decryption methods as broadcast +in the data stream | +
Values in the range 0001...00FF will not be overwritten, all other +values will be automatically replaced by the actual CA system +identifiers received from the data stream. If there is more than one CA +system id broadcast, they will be separated by commas, as in
+...:1702,1722,1801:...
+The values are in hex because that's the way they are defined in the +"ETR 162" document. Leading zeros may be omitted.
+The Service ID of this channel.
+The Network ID of this channel.
+The Transport stream ID of this channel.
+The Radio ID of this channel (typically 0, may be used to distinguish +channels where NID, TID and SID are all equal).
+A particular channel can be uniquely identified by its - channel ID, which is a string that looks like this:
-S19.2E-1-1089-12003-0
-The components of this string are the Source (S19.2E),
- NID (1), TID (1089), SID (12003) and RID (0) as
- defined above. The last part can be omitted if it is 0, so the above
- example could also be written as S19.2E-1-1089-12003).
-
- The channel ID is used in the timers.conf and
- epg.data files to properly identify the channels.
If a channel has both NID and TID set to 0, the - channel ID will use the Frequency instead of the - TID. For satellite channels an additional offset of 100000, 200000, - 300000 or 400000 is added to that number, depending on the - Polarization (H, V, L or R, - respectively). This is necessary because on some satellites the same - frequency is used for two different transponders, with opposite - polarization.
-S19.2E-1-1089-12003-0
+The components of this string are the Source
+(S19.2E), NID (1), TID (1089),
+SID (12003) and RID (0) as defined
+above. The last part can be omitted if it is 0, so the
+above example could also be written as S19.2E-1-1089-12003).
+The channel ID is used in the timers.conf and
+epg.data files to properly identify the channels.
If a channel has both NID and TID +set to 0, the channel ID will use the +Frequency instead of the TID. For +satellite channels an additional offset of 100000, 200000, 300000 or +400000 is added to that number, depending on the +Polarization (H, V, +L or R, respectively). This is +necessary because on some satellites the same frequency is used for two +different transponders, with opposite polarization.
The file timers.conf contains the timer setup. Each line - contains one timer definition, with individual fields separated by ':' - characters. Example:
-1:10:-T-----:2058:2150:50:5:Quarks & Co:
+The file timers.conf contains the timer setup. Each line +contains one timer definition, with individual fields separated by ':' +characters. Example:
+1:10:-T-----:2058:2150:50:5:Quarks & Co:
The fields in a timer definition have the following meaning (from - left to right):
+left to right):0x0001 | -the timer is active (and will record if it hits) | -
0x0002 | -this is an instant recording timer | -
0x0004 | -this timer uses VPS | -
0x0008 | -this timer is currently recording (may only be up-to-date with - SVDRP) | -
0x0010 | -this timer was spawned from a pattern timer | -
0x0020 | -this timer will store the recording's name in donerecs.data | -
All other bits are reserved for future use.
-If this is a `single-shot' timer, this is the date on which - this timer shall record, given in ISO notation (YYYY-MM-DD), as - in:
-2005-03-19
-For compatibility with earlier versions of VDR this may also - be just the day of month on which this timer shall record (must be in - the range 1...31).
-In case of a `repeating' timer this is a string consisting of - exactly seven characters, where each character position corresponds to - one day of the week (with Monday being the first day). The character '-' - at a certain position means that the timer shall not record on that day. - Any other character will cause the timer to record on that day. - Example:
-MTWTF--
-will define a timer that records on Monday through Friday and - does not record on weekends. Note that only letters may be used here, no - digits. For compatibility with timers created with earlier versions of - VDR, the same result could be achieved with ABCDE-- (which was - used to allow setting the days with language specific characters). Since - version 1.5.3 VDR can use UTF-8 characters to present data to the user, - but the weekday encoding in the timers.conf file always uses - single byte characters.
-The day definition of a `repeating' timer may be followed by - the date when that timer shall hit for the first time. The format for - this is @YYYY-MM-DD, so a complete definition could look like - this:
-MTWTF--@2002-02-18
-which would implement a timer that records Monday through - Friday, and will hit for the first time on or after February 18, 2002. - This first day feature can be used to disable a repeating timer - for a couple of days, or for instance to define a new Mon...Fri timer on - Wednesday, which actually starts "Monday next week". The - first day date given need not be that of a day when the timer - would actually hit.
-This value is also stored with the recording and is later used - to decide which recording to remove from disk in order to free space for - a new recording. If the disk runs full and a new recording needs more - space, an existing recording with the lowest priority (and which has - exceeded its guaranteed lifetime) will be removed.
-If all available DVB cards are currently occupied, a timer - with a higher priority will interrupt the timer with the lowest priority - in order to start recording.
-The special keywords TITLE and EPISODE, if - present, will be replaced by the title and episode information from the - EPG data at the time of recording (if that data is available). If at the - time of recording either of these cannot be determined, TITLE - will default to the channel name, and EPISODE will default to a - blank.
-The file name can be prepended with a pattern, enclosed in - curly braces, as in
-{Columbo}Movies~TITLE
-which makes this a "pattern timer". A pattern timer - records every event on the given channel where the title contains the - pattern (case sensitive). The following special characters can be used - in a pattern:
-^ | -anchor to the beginning of the event's title | -
$ | -anchor to the end of the event's title | -
* | -match every event | -
@ | -avoid duplicate recordings | -
If @ is used, it must be the very first character of - the pattern. If both @ and ^ are used, @ must come - first. If * is used, it must be the only character in the pattern - and may only be prepended with @.
-In addition to TITLE and EPISODE you can use the following - macros to compose the file name (the curly braces are part of the - macros):
-{<} | -everything before the matching pattern | -
{>} | -everything after the matching pattern | -
{=} | -the matching pattern itself (just for completeness) | -
The individual bits in this field have the following meaning:
+0x0001 | +the timer is active (and will record if it +hits) | +
0x0002 | +this is an instant recording timer | +
0x0004 | +this timer uses VPS | +
0x0008 | +this timer is currently recording (may +only be up-to-date with SVDRP) | +
0x0010 | +this timer was spawned from a pattern +timer | +
0x0020 | +this timer will store the recording's name +in donerecs.data | +
All other bits are reserved for future use.
+The channel to record from. This is either the channel number as +shown in the on-screen menus, or a complete channel ID. When reading +timers.conf any channel numbers will be mapped to the +respective channel ids and when the file is written again, there will +only be channel ids. Channel numbers are accepted as input in order to +allow easier creation of timers when manually editing +timers.conf. Also, when timers are listed via SVDRP commands, +the channels are given as numbers.
+The day when this timer shall record.
+If this is a `single-shot' timer, this is the date on which this +timer shall record, given in ISO notation (YYYY-MM-DD), +as in:
+2005-03-19
+For compatibility with earlier versions of VDR this may also be just +the day of month on which this timer shall record (must be in the range +1...31).
+In case of a `repeating' timer this is a string consisting of exactly +seven characters, where each character position corresponds to one day +of the week (with Monday being the first day). The character '-' at a +certain position means that the timer shall not record on that day. Any +other character will cause the timer to record on that day. Example:
+MTWTF--
+will define a timer that records on Monday through Friday and does +not record on weekends. Note that only letters may be used here, no +digits. For compatibility with timers created with earlier versions of +VDR, the same result could be achieved with ABCDE-- +(which was used to allow setting the days with language specific +characters). Since version 1.5.3 VDR can use UTF-8 characters to present +data to the user, but the weekday encoding in the timers.conf +file always uses single byte characters.
+The day definition of a `repeating' timer may be followed by the date +when that timer shall hit for the first time. The format for this is +@YYYY-MM-DD, so a complete definition could look like +this:
+MTWTF--@2002-02-18
+which would implement a timer that records Monday through Friday, and +will hit for the first time on or after February 18, 2002. This +first day feature can be used to disable a repeating +timer for a couple of days, or for instance to define a new Mon...Fri +timer on Wednesday, which actually starts "Monday next week". The +first day date given need not be that of a day when the +timer would actually hit.
+A four digit integer defining when this timer shall +start recording. The format is hhmm, +so 1430 would mean "half past two" in the +afternoon.
+A four digit integer defining when this timer shall +stop recording. The format is the same as for the +start time.
+An integer in the range 0...99, defining the +priority of this timer and of recordings created by +this timer. 0 represents the lowest value, +99 the highest. The priority is used to decide which +timer shall be started in case there are two or more timers with the +exact same start time. The first timer in the list with +the highest priority will be used.
+This value is also stored with the recording and is later used to +decide which recording to remove from disk in order to free space for a +new recording. If the disk runs full and a new recording needs more +space, an existing recording with the lowest priority (and which has +exceeded its guaranteed lifetime) will be removed.
+If all available DVB cards are currently occupied, a timer with a +higher priority will interrupt the timer with the lowest priority in +order to start recording.
+The guaranteed lifetime (in days) of a recording +created by this timer. 0 means that this recording may +be automatically deleted at any time by a new recording with higher +priority. 99 means that this recording will never be +automatically deleted. Any number in the range 1...98 +means that this recording may not be automatically deleted in favour of +a new recording, until the given number of days since the +start time of the recording has passed by.
+The file name this timer will give to a recording. +If the name contains any ':' characters, these have to be replaced by +'|'. If the name shall contain subdirectories, these have to be +delimited by '~' (since the '/' character may be part of a regular +programme name).
+The special keywords TITLE and +EPISODE, if present, will be replaced by the title and +episode information from the EPG data at the time of recording (if that +data is available). If at the time of recording either of these cannot +be determined, TITLE will default to the channel name, +and EPISODE will default to a blank.
+The file name can be prepended with a pattern, enclosed in curly +braces, as in
+{Columbo}Movies~TITLE
+which makes this a "pattern timer". A pattern timer records every +event on the given channel where the title contains the pattern (case +sensitive). The following special characters can be used in a +pattern:
+^ | +anchor to the beginning of the event's +title | +
$ | +anchor to the end of the event's +title | +
* | +match every event | +
@ | +avoid duplicate recordings | +
If @ is used, it must be the very first character of +the pattern. If both @ and ^ are used, +@ must come first. If * is used, it +must be the only character in the pattern and may only be prepended with +@.
+In addition to TITLE and EPISODE you can use the following macros to +compose the file name (the curly braces are part of the macros):
+{<} | +everything before the matching +pattern | +
{>} | +everything after the matching pattern | +
{=} | +the matching pattern itself (just for +completeness) | +
An arbitrary string that can be used by external applications to +store any kind of data related to this timer. The string must not +contain any newline characters. If this field is not empty, its contents +will be written into the info file of the recording with the +'@' tag.
+The file sources.conf defines the codes to be used in the - Source field of channels in channels.conf and assigns - descriptive texts to them. Example:
-S19.2E Astra 1
+The file sources.conf defines the codes to be used in the +Source field of channels in channels.conf and +assigns descriptive texts to them. Example:
+S19.2E Astra 1
Anything after (and including) a '#' character is comment.
-The first character of the code must be one of
+The first character of the code must be one of
A | -ATSC | -
C | -Cable | -
S | -Satellite | -
T | -Terrestrial | -
A | +ATSC | +
C | +Cable | +
S | +Satellite | +
T | +Terrestrial | +
and is followed by further data pertaining to that particular - source. In case of Satellite this is the orbital position in degrees, - followed by E for east or W for west. Plugins may define - additional sources, using other characters in the range 'A'...'Z'.
-and is followed by further data pertaining to that particular source. +In case of Satellite this is the orbital position in +degrees, followed by E for east or W +for west. Plugins may define additional sources, using other characters +in the range 'A'...'Z'.
The file diseqc.conf defines the DiSEqC control - sequences to be sent to the DVB-S card in order to access a given satellite - position and/or band. Example:
-S19.2E 11700 V 9750 t v W15 [E0 10 38 F0] W15 A W15 t
+The file diseqc.conf defines the DiSEqC +control sequences to be sent to the DVB-S card in order to access a +given satellite position and/or band. Example:
+S19.2E 11700 V 9750 t v W15 [E0 10 38 F0] W15 A W15 +t
Anything after (and including) a '#' character is comment.
-The first word in a parameter line must be one of the codes - defined in the file sources.conf and tells which satellite this line - applies to.
-Following is the "switch frequency" of the LNB (slof), - which is the transponder frequency up to which this entry shall be used; the - first entry with an slof greater than the actual transponder frequency will - be used. Typically there is only one slof per LNB, but the syntax allows any - number of frequency ranges to be defined. Note that there should be a last - entry with the value 99999 for each satellite, which covers the upper - frequency range.
+The first word in a parameter line must be one of the codes defined +in the file sources.conf and tells which satellite this line +applies to.
+Following is the "switch frequency" of the LNB (slof), which is the +transponder frequency up to which this entry shall be used; the first +entry with an slof greater than the actual transponder frequency will be +used. Typically there is only one slof per LNB, but the syntax allows +any number of frequency ranges to be defined. Note that there should be +a last entry with the value 99999 for each satellite, +which covers the upper frequency range.
The third parameter defines the polarization to which this entry - applies. It can be either H for horizontal, V for vertical, - L for circular left or R for circular right.
-The fourth parameter specifies the "local oscillator - frequency" (lof) of the LNB to use for the given frequency range. This - number will be subtracted from the actual transponder frequency when tuning - to the channel.
-The rest of the line holds the actual sequence of DiSEqC actions - to be taken. The code letters used here are
+applies. It can be either H for horizontal, +V for vertical, L for circular left or +R for circular right. +The fourth parameter specifies the "local oscillator frequency" (lof) +of the LNB to use for the given frequency range. This number will be +subtracted from the actual transponder frequency when tuning to the +channel.
+The rest of the line holds the actual sequence of DiSEqC actions to +be taken. The code letters used here are
t | -22kHz tone off | -
T | -22kHz tone on | -
v | -voltage low (13V) | -
V | -voltage high (18V) | -
A | -mini A | -
B | -mini B | -
Pn | -use positioner to move dish to satellite position n (or to the - satellite's orbital position, if no position number is given) | -
Sn | -Satellite channel routing code sequence for bank n follows | -
Wnn | -wait nn milliseconds (nn may be any positive integer number) | -
[xx ...] | -hex code sequence (max. 6) | -
t | +22kHz tone off | +
T | +22kHz tone on | +
v | +voltage low (13V) | +
V | +voltage high (18V) | +
A | +mini A | +
B | +mini B | +
Pn | +use positioner to move dish to satellite +position n (or to the satellite's orbital position, if no position +number is given) | +
Sn | +Satellite channel routing code sequence +for bank n follows | +
Wnn | +wait nn milliseconds (nn may be any +positive integer number) | +
[xx ...] | +hex code sequence (max. 6) | +
There can be any number of actions in a line, including none at all - +in which case the entry would be used only to set the LOF to use for the +given frequency range and polarization.
By default it is assumed that every DVB-S device can receive every - satellite. If this is not the case in a particular setup, lines of the - form
-1 2 4:
-may be inserted in the diseqc.conf file, defining the - devices that are able to receive the satellites following thereafter. In - this case, only the devices 1, 2 and 4 would be able to receive any - satellites following this line and up to the next such line, or the end of - the file. Devices may be listed more than once.
-1 2 4:
+may be inserted in the diseqc.conf file, defining the +devices that are able to receive the satellites following thereafter. In +this case, only the devices 1, 2 and 4 would be able to receive any +satellites following this line and up to the next such line, or the end +of the file. Devices may be listed more than once.
The file scr.conf contains the channel definitions of the - SCR device in use. The format is
+The file scr.conf contains the channel definitions of the +SCR device in use. The format is
channel frequency [pin]
-where channel is the SCR device's channel index (0-7), frequency - is the user band frequency of the given channel, and pin is an optional pin - number (0-255). The actual values are device specific and can be found in - the SCR device's manual.
+where channel is the SCR device's channel index (0-7), frequency is +the user band frequency of the given channel, and pin is an optional pin +number (0-255). The actual values are device specific and can be found +in the SCR device's manual.
Examples:
- -0 1284 ++7 20960 1284 1 1400 2 1516 3 1632 4 1748 5 1864 6 1980 -7 2096 -
By default it is assumed that the SCR configurations apply to all - devices, and each device will pick one. If you have several SCR sat cables - connected to one VDR machine, or if you want to explicitly assign the SCR - channels to your devices, lines of the form
-1 2 4:
-may be inserted in the scr.conf file, defining the devices - that are allowed to use the SCR channels thereafter. In this case, only the - devices 1, 2 and 4 would be allowed to use the SCR channels following this - line and up to the next such line, or the end of the file. If a device is - listed more than once, only its first appearance counts.
-1 2 4:
+may be inserted in the scr.conf file, defining the devices +that are allowed to use the SCR channels thereafter. In this case, only +the devices 1, 2 and 4 would be allowed to use the SCR channels +following this line and up to the next such line, or the end of the +file. If a device is listed more than once, only its first appearance +counts.
The file remote.conf contains the key assignments for all - remote control units. Each line consists of one key assignment in the - following format:
-name.key code
-where name is the name of the remote control (for instance - KBD for the PC keyboard, or LIRC for the "Linux Infrared Remote - Control"), key is the name of the key that is defined (like Up, - Down, Menu etc.), and code is a character string that this remote - control delivers when the given key is pressed.
-The file remote.conf contains the key assignments for all +remote control units. Each line consists of one key assignment in the +following format:
+name.key code
+where name is the name of the remote control (for +instance KBD for the PC keyboard, or LIRC for the "Linux Infrared Remote +Control"), key is the name of the key that is defined +(like Up, Down, Menu etc.), and code is a character +string that this remote control delivers when the given key is +pressed.
The file keymacros.conf contains user defined macros that - will be executed whenever the given key is pressed. The format is
-macrokey [@plugin] key1 key2 key3...
-where macrokey is the key that shall initiate execution of - this macro and can be one of Up, Down, Ok, Back, - Left, Right, Red, Green, Yellow, - Blue, 0...9 or User1...User9. The rest of - the line consists of a set of keys, which will be executed just as if they - had been pressed in the given sequence. The optional @plugin can be - used to automatically select the given plugin. plugin is the name of - the plugin, exactly as given in the -P option when starting VDR. There can - be only one @plugin per key macro. For instance
-User1 @abc Down Down Ok
-would call the main menu function of the "abc" plugin
- and execute two "Down" key presses, followed by "Ok".
-
- Note that the color keys will only execute their macro function in
- "normal viewing" mode (i.e. when no other menu or player is
- active). The User1...User9 keys will always execute their
- macro function. There may be up to 15 keys in such a key sequence.
The file keymacros.conf contains user defined macros that +will be executed whenever the given key is pressed. The format is
+macrokey [@plugin] key1 key2 key3...
+where macrokey is the key that shall initiate +execution of this macro and can be one of Up, Down, +Ok, Back, Left, Right, Red, +Green, Yellow, Blue, 0...9 +or User1...User9. The rest of the line consists of a +set of keys, which will be executed just as if they had been pressed in +the given sequence. The optional @plugin can be used to +automatically select the given plugin. plugin is the +name of the plugin, exactly as given in the -P option when starting VDR. +There can be only one @plugin per key macro. For +instance
+User1 @abc Down Down Ok
+would call the main menu function of the "abc" plugin and execute two
+"Down" key presses, followed by "Ok".
+Note that the color keys will only execute their macro function in
+"normal viewing" mode (i.e. when no other menu or player is active). The
+User1...User9 keys will always execute their macro
+function. There may be up to 15 keys in such a key sequence.
The file folders.conf contains the definitions of folders - that can be used in the "Edit timer" menu. Each line contains one - folder definition. Leading whitespace and everything after and including a - '#' is ignored. A line ending with '{' defines a sub folder (i.e. a folder - that contains other folders), and a line consisting of only '}' ends the - definition of a sub folder.
+The file folders.conf contains the definitions of folders +that can be used in the "Edit timer" menu. Each line contains one folder +definition. Leading whitespace and everything after and including a '#' +is ignored. A line ending with '{' defines a sub folder (i.e. a folder +that contains other folders), and a line consisting of only '}' ends the +definition of a sub folder.
Example:
- -Daily { +-Daily { News Soaps } @@ -749,33 +822,30 @@ Archive { } } Comedy -Science -
Note that these folder definitions are only used to set the file - name under which a timer will store its recording. Changing these - definitions in any way has no effect on existing timers or recordings.
-
Note that these folder definitions are only used to set the file name +under which a timer will store its recording. Changing these definitions +in any way has no effect on existing timers or recordings.
The file commands.conf contains the definitions of commands - that can be executed from the vdr main menu's "Commands" - option. Each line contains one command definition in the following - format:
-title : command
-where title is the string that will be displayed in the - "Commands" menu, and command is the actual command string - that will be executed when this option is selected. The delimiting ':' may - be surrounded by any number of white space characters. If title ends - with the character '?', there will be a confirmation prompt before actually - executing the command. This can be used for commands that might have serious - results (like deleting files etc) to make sure they are not executed - inadvertently.
-Everything following (and including) a '#' character is considered - to be comment.
-You can have nested layers of command menus by surrounding a - sequence of commands with '{'...'}' and giving it a title, as in
- -My Commands { +The file commands.conf contains the definitions of commands +that can be executed from the vdr main menu's +"Commands" option. Each line contains one command definition in the +following format:
+title : command
+where title is the string that will be displayed in +the "Commands" menu, and command is the actual command +string that will be executed when this option is selected. The +delimiting ':' may be surrounded by any number of white space +characters. If title ends with the character '?', there +will be a confirmation prompt before actually executing the command. +This can be used for commands that might have serious results (like +deleting files etc) to make sure they are not executed +inadvertently.
+Everything following (and including) a '#' character is considered to +be comment.
+You can have nested layers of command menus by surrounding a sequence +of commands with '{'...'}' and giving it a title, as in
++ }My Commands { First list { Do something: some command Do something else: another command @@ -784,513 +854,499 @@ Science Even more: yet another command So much more: and yet another one } - } -
Command lists can be nested to any depth.
-By default the menu entries in the "Commands" menu will - be numbered '1'...'9' to make them selectable by pressing the corresponding - number key. If you want to use your own numbering scheme (maybe to skip - certain numbers), just precede the titles with the numbers of your - choice. vdr will suppress its automatic numbering if the first entry - in commands.conf starts with a digit in the range '1'...'9', followed - by a blank.
-In order to avoid error messages to the console, every command - should have stderr redirected to stdout. Everything the - command prints to stdout will be displayed in a result window, with - title as its title.
+By default the menu entries in the "Commands" menu will be numbered +'1'...'9' to make them selectable by pressing the corresponding number +key. If you want to use your own numbering scheme (maybe to skip certain +numbers), just precede the titles with the numbers of +your choice. vdr will suppress its automatic numbering +if the first entry in commands.conf starts with a digit in the +range '1'...'9', followed by a blank.
+In order to avoid error messages to the console, every command should +have stderr redirected to stdout. Everything the +command prints to stdout will be displayed in a result window, +with title as its title.
Examples:
- -Check for new mail?: /usr/local/bin/checkmail 2>&1 ++Disk space: df -h | grep '/video' | awk '{ print 100 - $5 "% free"; }' +Calendar: date;echo;calCheck for new mail?: /usr/local/bin/checkmail 2>&1 CPU status: /usr/local/bin/cpustatus 2>&1 -Disk space: df -h | grep '/video' | awk '{ print 100 - $5 "% free"; }' -Calendar: date;echo;cal -
Note that the commands 'checkmail' and 'cpustatus' are only
- examples! Don't send emails to the author asking where to find these
- ;-)
-
- The '?' at the end of the "Check for new mail?" entry will prompt
- the user whether this command shall really be executed.
The file reccmds.conf can be used to define commands that - can be applied to the currently highlighted recording in the - "Recordings" menu. The syntax is exactly the same as described for - the file commands.conf. When executing a command, the directory name - of the recording will be appended to the command string, separated by a - blank and enclosed in single quotes.
-The file reccmds.conf can be used to define commands that +can be applied to the currently highlighted recording in the +"Recordings" menu. The syntax is exactly the same as described for the +file commands.conf. When executing a command, the directory +name of the recording will be appended to the command string, separated +by a blank and enclosed in single quotes.
The file svdrphosts.conf contains the IP numbers of all - hosts that are allowed to access the SVDRP port. Each line contains one IP - number in the format
-IP-Address[/Netmask]
-where IP-Address is the address of a host or a network in - the usual dot separated notation (as in 192.168.100.1). If the optional - Netmask is given only the given number of bits of IP-Address - are taken into account. This allows you to grant SVDRP access to all hosts - of an entire network. Netmask can be any integer from 1 to 32. The - special value of 0 is only accepted if the IP-Address is 0.0.0.0, - because this will give access to any host (USE THIS WITH CARE!).
-Everything following (and including) a '#' character is considered - to be comment.
+The file svdrphosts.conf contains the IP numbers of all +hosts that are allowed to access the SVDRP port. Each line contains one +IP number in the format
+IP-Address[/Netmask]
+where IP-Address is the address of a host or a +network in the usual dot separated notation (as in 192.168.100.1). If +the optional Netmask is given only the given number of +bits of IP-Address are taken into account. This allows +you to grant SVDRP access to all hosts of an entire network. +Netmask can be any integer from 1 to 32. The special +value of 0 is only accepted if the IP-Address is +0.0.0.0, because this will give access to any host (USE THIS +WITH CARE!).
+Everything following (and including) a '#' character is considered to +be comment.
Examples:
- -127.0.0.1 # always accept localhost +-127.0.0.1 # always accept localhost 192.168.100.0/24 # any host on the local net 204.152.189.113 # a specific host -0.0.0.0/0 # any host on any net (USE WITH CARE!) -
The file setup.conf contains the basic configuration - options for vdr. Each line contains one option in the format - "Name = Value". See the MANUAL file for a description of the - available options.
-The file setup.conf contains the basic configuration options +for vdr. Each line contains one option in the format +"Name = Value". See the MANUAL file for a description of the available +options.
The files themes/<skin>-<theme>.theme in the - config directory contain the color theme definitions for the various skins. - In the actual file names <skin> will be replaced by the name if - the skin this theme belongs to, and <theme> will be the name of - this theme. Each line in a theme file contains one option in the format - "Name = Value". Anything after (and including) a '#' character is - comment.
-The definitions in a theme file are either colors or a
- description.
-
- Colors are in the form
clrTitle = FF123456
-where the name (clrTitle) is one of the names defined in the - source code of the skin that uses this theme, through the - THEME_CLR() macro. The value (FF123456) is an eight digit hex number - that consist of four bytes, representing alpha (transparency), red, green - and blue component of the color. An alpha value of 00 means the color will - be completely transparent, while FF means it will be opaque. An RGB value of - 000000 results in black, while FFFFFF is white.
-A description can be given as
-Description = Shades of blue
-and will be used in the Setup/OSD menu to select a theme for a - given skin. The description should give the user an idea what this theme - will be like (for instance, in the given example it would use various shades - of blue), and shouldn't be too long to make sure it fits on the Setup - screen. The default description always should be given in English. If you - want, you can provide language specific descriptions as
-Description.eng = Shades of blue
-
- Description.ger = Blautöne
where the language code is added to the keyword - "Description", separated by a dot. You can enter as many language - specific descriptions as you like, but only those that have a corresponding - locale messages file will be actually used. If a theme file doesn't contain - a Description, the name of the theme (as given in the theme's file name) - will be used.
-The files themes/<skin>-<theme>.theme in the +config directory contain the color theme definitions for the various +skins. In the actual file names <skin> will be replaced +by the name if the skin this theme belongs to, and +<theme> will be the name of this theme. Each line in a +theme file contains one option in the format "Name = Value". Anything +after (and including) a '#' character is comment.
+The definitions in a theme file are either colors or
+a description.
+Colors are in the form
clrTitle = FF123456
+where the name (clrTitle) is one of the names defined in the source +code of the skin that uses this theme, through the +THEME_CLR() macro. The value (FF123456) is an eight +digit hex number that consist of four bytes, representing alpha +(transparency), red, green and blue component of the color. An alpha +value of 00 means the color will be completely transparent, while FF +means it will be opaque. An RGB value of 000000 results in black, while +FFFFFF is white.
+A description can be given as
+Description = Shades of blue
+and will be used in the Setup/OSD menu to select a theme for a given +skin. The description should give the user an idea what this theme will +be like (for instance, in the given example it would use various shades +of blue), and shouldn't be too long to make sure it fits on the Setup +screen. The default description always should be given in English. If +you want, you can provide language specific descriptions as
+Description.eng = Shades of blue
+Description.ger = Blautöne
where the language code is added to the keyword "Description", +separated by a dot. You can enter as many language specific descriptions +as you like, but only those that have a corresponding locale messages +file will be actually used. If a theme file doesn't contain a +Description, the name of the theme (as given in the theme's file name) +will be used.
The files 00001.ts...65535.ts are the actual - recorded data files. In order to keep the size of an individual file below a - given limit, a recording may be split into several files. The contents of - these files is Transport Stream (TS) and contains data packets that - are each 188 byte long and start with 0x47. Data is stored exactly as it is - broadcast, with a generated PAT/PMT inserted right before every independent - frame.
-The files 00001.ts...65535.ts are the actual +recorded data files. In order to keep the size of an individual file +below a given limit, a recording may be split into several files. The +contents of these files is Transport Stream (TS) and +contains data packets that are each 188 byte long and start with 0x47. +Data is stored exactly as it is broadcast, with a generated PAT/PMT +inserted right before every independent frame.
The file index (if present in a recording directory) - contains the (binary) index data into each of the the recording files - 00001.ts...65535.ts. It is used during replay to determine the - current position within the recording, and to implement skipping and fast - forward/back functions. See the definition of the cIndexFile class - for details about the actual contents of this file.
-The file index (if present in a recording directory) +contains the (binary) index data into each of the the recording files +00001.ts...65535.ts. It is used during replay to +determine the current position within the recording, and to implement +skipping and fast forward/back functions. See the definition of the +cIndexFile class for details about the actual contents +of this file.
The file info (if present in a recording directory) - contains a description of the recording, derived from the EPG data at - recording time (if such data was available). The Aux field of the - corresponding timer (if given) is copied into this file, using the '@' tag. - This is a plain ASCII file and contains tagged lines like the EPG - DATA file (see the description of the epg.data file). Note that - the lowercase tags ('c' and 'e') will not appear in an info file. - Lines tagged with '#' are ignored and can be used by external tools to store - arbitrary information.
-In addition to the tags used in the epg.data file, the - following tag characters are defined:
+The file info (if present in a recording directory) contains +a description of the recording, derived from the EPG data at recording +time (if such data was available). The Aux field of the +corresponding timer (if given) is copied into this file, using the '@' +tag. This is a plain ASCII file and contains tagged lines like the +EPG DATA file (see the description of the +epg.data file). Note that the lowercase tags ('c' and 'e') will +not appear in an info file. Lines tagged with '#' are ignored +and can be used by external tools to store arbitrary information.
+In addition to the tags used in the epg.data file, the +following tag characters are defined:
F | -<frame rate> | -
L | -<lifetime> | -
P | -<priority> | -
O | -<errors> | -
@ | -<auxiliary data> | -
F | +<frame rate> | +
L | +<lifetime> | +
P | +<priority> | +
O | +<errors> | +
@ | +<auxiliary data> | +
The 'O' tag contains the number of errors that occurred during - recording. If it is zero, the recording can be safely considered error free. - The higher the value, the more damaged the recording is. If this is an - edited recording, the number of errors is that of the original - recording.
-The file resume (if present in a recording directory) - contains the position within the recording where the last replay session - left off. The file consists of tagged lines that describe the various - parameters necessary to pick up replay where it left off.
+The file resume (if present in a recording directory) +contains the position within the recording where the last replay session +left off. The file consists of tagged lines that describe the various +parameters necessary to pick up replay where it left off.
The following tag characters are defined:
I | -<offset into the file index> | -
I | +<offset into the file +index> | +
The file marks (if present in a recording directory) - contains the editing marks defined for this recording. Each line contains - the definition of one mark in the following format:
-hh:mm:ss.ff comment
-where hh:mm:ss.ff is a frame position within the recording, - given as "hours, minutes, seconds and (optional) frame number". - comment can be any string and may be used to describe this mark. If - present, comment must be separated from the frame position by at - least one blank.
+The file marks (if present in a recording directory) +contains the editing marks defined for this recording. Each line +contains the definition of one mark in the following format:
+hh:mm:ss.ff comment
+where hh:mm:ss.ff is a frame position within the +recording, given as "hours, minutes, seconds and (optional) frame +number". comment can be any string and may be used to +describe this mark. If present, comment must be +separated from the frame position by at least one blank.
The lines in this file need not necessarily appear in the correct - temporal sequence, they will be automatically sorted by time index.
-If a frame position doesn't point to an I-frame of the - corresponding recording, it will be shifted towards the next I-frame (either - up or down, whichever is closer).
-CURRENT RESTRICTIONS:
-- the comment is currently not used by VDR
-If a frame position doesn't point to an I-frame of the corresponding +recording, it will be shifted towards the next I-frame (either up or +down, whichever is closer).
+CURRENT RESTRICTIONS:
+- the comment is currently not used by VDR
The file .sort (if present in a directory) contains an - integer number defining the mode by which this directory shall be sorted - when presented in a menu.
+The file .sort (if present in a directory) contains an +integer number defining the mode by which this directory shall be sorted +when presented in a menu.
The following values are defined:
0 | -sort by name | -
1 | -sort by time | -
0 | +sort by name | +
1 | +sort by time | +
The file .timer (if present in a recording directory) - contains the full id of the timer that is currently recording into this - directory. Timer ids are of the form
-id@hostname
-where id is the timer's numerical id on the VDR with the - name hostname. This file is created when the timer starts recording, - and is deleted when it ends.
-The file .timer (if present in a recording directory) +contains the full id of the timer that is currently recording into this +directory. Timer ids are of the form
+id@hostname
+where id is the timer's numerical id on the VDR with +the name hostname. This file is created when the timer +starts recording, and is deleted when it ends.
The file epg.data contains the EPG data in an easily - parsable format. The first character of each line defines what kind of data - this line contains.
+The file epg.data contains the EPG data in an easily +parsable format. The first character of each line defines what kind of +data this line contains.
The following tag characters are defined:
C | -<channel id> <channel name> | -
E | -<event id> <start time> <duration> <table id> - <version> | -
T | -<title> | -
S | -<short text> | -
D | -<description> | -
G | -<genre> <genre>... | -
R | -<parental rating> | -
X | -<stream> <type> <language> <descr> | -
V | -<vps time> | -
@ | -<auxiliary data> | -
e | -|
c | -|
C | +<channel id> <channel +name> | +
E | +<event id> <start time> +<duration> <table id> <version> | +
T | +<title> | +
S | +<short text> | +
D | +<description> | +
G | +<genre> <genre>... | +
R | +<parental rating> | +
X | +<stream> <type> +<language> <descr> | +
V | +<vps time> | +
@ | +<auxiliary data> | +
e | ++ |
c | ++ |
Lowercase characters mark the end of a sequence that was started - by the corresponding uppercase character. The outer frame consists of a - sequence of one or more C...c (Channel) entries. Inside these - any number of E...e (Event) entries are allowed. All other - tags are optional (although every event should at least have a T - entry).
-There may be several X tags, depending on the number of - tracks (video, audio etc.) the event provides.
+Lowercase characters mark the end of a sequence that was started by +the corresponding uppercase character. The outer frame consists of a +sequence of one or more C...c +(Channel) entries. Inside these any number of +E...e (Event) entries are allowed. All +other tags are optional (although every event should at least have a +T entry).
+There may be several X tags, depending on the number +of tracks (video, audio etc.) the event provides.
<channel id> | -is the "channel ID", made up from the parameters defined in - 'channels.conf' | -
<channel name> | -is the "name" as in 'channels.conf' (for information only, may - be left out) | -
<event id> | -is a 32 bit unsigned int, uniquely identifying this event | -
<start time> | -is the time (as a time_t integer) in UTC when this event starts | -
<duration> | -is the time (in seconds) that this event will take | -
<table id> | -is a hex number that indicates the table this event is contained in (if - this is left empty it will be set to 0x00; and value less than 0x4E it - will be treated as if it were 0x4E) | -
<version> | -is a hex number that indicates the event's version number inside its - table (optional, ignored when reading EPG data) | -
<title> | -is the title of the event | -
<short text> | -is the short text of the event (typically the name of the episode - etc.) | -
<description> | -is the description of the event (any '|' characters will be interpreted - as newlines) | -
<genre> | -is a two digit hex code, as defined in ETSI EN 300 468, table 28 (up to - 4 genre codes are supported) | -
<parental rating> | -is the minimum age of the intended audience | -
<stream> | -is the stream content (1 = MPEG2 video, 2 = MP2 audio, 3 = subtitles, 4 - = AC3 audio, 5 = H.264 video, 6 = HEAAC audio, 0x09=H.265 video, 0x19 = - AC4 audio) | -
<type> | -is the stream type according to ETSI EN 300 468 | -
<language> | -is the three letter language code (optionally two codes, separated by - '+') | -
<descr> | -is the description of this stream component | -
<vps time> | -is the Video Programming Service time of this event | -
<auxiliary data> | -is an arbitrary string that can be used by external applications to - store data; newline characters will be replaced with '|' when writing the - epg.data file. | -
<channel id> | +is the "channel ID", made up from the +parameters defined in 'channels.conf' | +
<channel name> | +is the "name" as in 'channels.conf' (for +information only, may be left out) | +
<event id> | +is a 32 bit unsigned int, uniquely +identifying this event (see note) | +
<start time> | +is the time (as a time_t integer) in UTC +when this event starts | +
<duration> | +is the time (in seconds) that this event +will take | +
<table id> | +is a hex number that indicates the table +this event is contained in (if this is left empty it will be set to +0x00; and value less than 0x4E it will be treated as if it were +0x4E) | +
<version> | +is a hex number that indicates the event's +version number inside its table (optional, ignored when reading EPG +data) | +
<title> | +is the title of the event | +
<short text> | +is the short text of the event (typically +the name of the episode etc.) | +
<description> | +is the description of the event (any '|' +characters will be interpreted as newlines) | +
<genre> | +is a two digit hex code, as defined in +ETSI EN 300 468, table 28 (up to 4 genre codes are supported) | +
<parental rating> | +is the minimum age of the intended +audience | +
<stream> | +is the stream content (1 = MPEG2 video, 2 += MP2 audio, 3 = subtitles, 4 = AC3 audio, 5 = H.264 video, 6 = HEAAC +audio, 0x09=H.265 video, 0x19 = AC4 audio) | +
<type> | +is the stream type according to ETSI EN +300 468 | +
<language> | +is the three letter language code +(optionally two codes, separated by '+') | +
<descr> | +is the description of this stream +component | +
<vps time> | +is the Video Programming Service time of +this event | +
<auxiliary data> | +is an arbitrary string that can be used by +external applications to store data; newline characters will be replaced +with '|' when writing the epg.data file. | +
This file will be read at program startup in order to restore the - results of previous EPG scans.
-Note that the event id that comes from the DVB data stream - is actually just 16 bit wide. The internal representation in VDR allows for - 32 bit to be used, so that external tools can generate EPG data that is - guaranteed not to collide with the ids of existing data.
-The auxiliary data can be used for plugin specific purposes - and has no meaning whatsoever to VDR itself. It will not be written - into the info file of a recording that is made for such an event.
-Note that the event id that comes from the DVB data +stream is actually just 16 bit wide. The internal representation in VDR +allows for 32 bit to be used, so that external tools can generate EPG +data that is guaranteed not to collide with the ids of existing data. +Also note that some broadcasters change the event id +when an event is moved from one table to another.
+The auxiliary data can be used for plugin specific +purposes and has no meaning whatsoever to VDR itself. It will +not be written into the info file of a +recording that is made for such an event.
The file cam.data contains information about which CAM in - the system can decrypt a particular channel. Each line in this file contains - a channel id, followed by one or more (blank separated) numbers, indicating - the CAMs that have successfully decrypted this channel earlier.
+The file cam.data contains information about which CAM in +the system can decrypt a particular channel. Each line in this file +contains a channel id, followed by one or more (blank separated) +numbers, indicating the CAMs that have successfully decrypted this +channel earlier.
When tuning to an encrypted channel, this information is used to - select the proper CAM for decrypting this channel. This channel/CAM - relationship is not hardcoded, though. If a given channel can't be decrypted - with a CAM listed in this file, other CAMs will be tried just as well. The - main purpose of this file is to speed up channel switching in systems with - more than one CAM.
-This file will be read at program startup and saved when the - program ends. If the file is read-only, it will not be overwritten.
-This file will be read at program startup and saved when the program +ends. If the file is read-only, it will not be overwritten.
If your CAM keeps popping up annoying messages or you want to make - sure VDR can record programmes with parental rating without having to enter - the PIN (in case you can't turn that off in your CAM), you can set up auto - responses in the file camresponses.conf.
-Each line in this file specifies one rule to apply to texts - received from the CAM. If the CAM's menu text matches the text in one of - these rules, the given action is taken and sent to the CAM as an automatic - response, without any menu appearing on the screen. The first match - wins.
+sure VDR can record programmes with parental rating without having to +enter the PIN (in case you can't turn that off in your CAM), you can set +up auto responses in the file camresponses.conf. +Each line in this file specifies one rule to apply to texts received +from the CAM. If the CAM's menu text matches the text in one of these +rules, the given action is taken and sent to the CAM as an automatic +response, without any menu appearing on the screen. The first match +wins.
The format of these rules is:
nr text action
where
nr | -is the number of the CAM this action applies to (0 = all CAMs) | -
text | -is the text in the CAM menu to react on (must be quoted with '"' if - it contains blanks, escape '"' with '\') | -
action | -is the action to take if the given text is encountered | -
nr | +is the number of the CAM this action +applies to (0 = all CAMs) | +
text | +is the text in the CAM menu to react on +(must be quoted with '"' if it contains blanks, escape '"' with +'\') | +
action | +is the action to take if the given text is +encountered | +
Possible actions are:
DISCARD | -simply discard the menu (equivalent to pressing 'Back' on the RC) | -
CONFIRM | -confirm the menu (equivalent to pressing 'OK' without selecting a - particular item) | -
SELECT | -select the menu item containing the text (equivalent to positioning the - cursor on the item and pressing 'OK') | -
<number> | -the given number is sent to the CAM as if it were tyed in by the user - (provided this is an input field). | -
DISCARD | +simply discard the menu (equivalent to +pressing 'Back' on the RC) | +
CONFIRM | +confirm the menu (equivalent to pressing +'OK' without selecting a particular item) | +
SELECT | +select the menu item containing the text +(equivalent to positioning the cursor on the item and pressing +'OK') | +
<number> | +the given number is sent to the CAM as if +it were tyed in by the user (provided this is an input field). | +
Note that the text given in a rule must match exactly, including - any leading or trailing blanks. If in doubt, you can get the exact text from - the log file. Action keywords are case insensitive.
-Everything following (and including) a '#' character is considered - to be comment.
-Note that the text given in a rule must match exactly, including any +leading or trailing blanks. If in doubt, you can get the exact text from +the log file. Action keywords are case insensitive.
+Everything following (and including) a '#' character is considered to +be comment.
If started without any options, vdr tries to read any files in the - directory /etc/vdr/conf.d with names that do not begin with a '.' and that - end with '.conf'. These files are read in alphabetical order. The format of - these files is
- -# comment +directory /etc/vdr/conf.d with names that do not begin with a '.' and +that end with '.conf'. These files are read in alphabetical order. The +format of these files is +-# comment [name] -a -b 123 --long ---longarg=123 -
Any lines that begin with '#' as the first non-whitespace - character are considered comments and are ignored. A command line option - file consists of one or more sections, indicated by '[name]', where 'name' - is either the fixed word 'vdr' (if this section contains options for the - main VDR program) or the name of the plugin this section applies to. Each - option must be written on a separate line, including the leading '-' (for a - short option) or '--' (for a long option). If the option has additional - arguments, they have to be written on the same line as the option itself, - separated from the option with a blank (short option) or equal sign (long - option).
-
Any lines that begin with '#' as the first non-whitespace character +are considered comments and are ignored. A command line option file +consists of one or more sections, indicated by '[name]', where 'name' is +either the fixed word 'vdr' (if this section contains options for the +main VDR program) or the name of the plugin this section applies to. +Each option must be written on a separate line, including the leading +'-' (for a short option) or '--' (for a long option). If the option has +additional arguments, they have to be written on the same line as the +option itself, separated from the option with a blank (short option) or +equal sign (long option).
vdr(1)
-vdr(1)
Written by Klaus Schmidinger.
-Report bugs to <vdr-bugs@tvdr.de>.
-Copyright © 2021 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.
-27 Dec 2021 | -2.6 | -
Copyright © 2021 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.
+ diff --git a/svdrpsend-command-reference.md b/svdrpsend-command-reference.md index a7bae82..756a1ad 100644 --- a/svdrpsend-command-reference.md +++ b/svdrpsend-command-reference.md @@ -1,58 +1,39 @@ -svdrpsend(1) | -Video Disk Recorder | -svdrpsend(1) | -
27 Dec 2021
+svdrpsend - sends commands to VDR
-svdrpsend [options] command
-svdrpsend [options] command
This program sends commands to VDR (the Video Disk Recorder) and - displays the result. A list of available commands can be shown by sending - the HELP command.
-Accesses the VDR at the specified hostname (default is +localhost).
+Uses the SVDRP port number port (default is 6419).
+To request the available commands from the VDR running on the - local host:
+To request the available commands from the VDR running on the local +host:
svdrpsend HELP
-Written by Tobias Grimm <tg@e-tobi.net>
-Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU General Public License, Version 2 any - later version published by the Free Software Foundation.
+Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU General Public License, Version 2 any later +version published by the Free Software Foundation.
On Debian systems, the complete text of the GNU General Public - License can be found in /usr/share/common-licenses/GPL.
-vdr(1), vdr(5)
-27 Dec 2021 | -2.6 | -