diff --git a/VDR-file-formats-and-conventions.md b/VDR-file-formats-and-conventions.md new file mode 100644 index 0000000..90aa3f7 --- /dev/null +++ b/VDR-file-formats-and-conventions.md @@ -0,0 +1,1271 @@ + +
+vdr(5) | +Video Disk Recorder Files | +vdr(5) | +
vdr_files - the Video Disk Recorder Files
+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 given number must be larger than the number of any previous + 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
+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:
+ +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):
+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) | +
D | +coDe rate low priority (0, 12, 23, 34, 35, 45, 56, 67, 78, 89, + 910) | +
G | +Guard interval (4, 8, 16, 32, 128, 19128, 19256) | +
H | +Horizontal polarization | +
I | +Inversion (0, 1) | +
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) | +
V | +Vertical polarization | +
X | +siso/miso mode (0, 1) | +
Y | +hierarchY (0, 1, 2, 4) | +
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.
+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.
+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):
+1 | +the timer is active (and will record if it hits) | +
2 | +this is an instant recording timer | +
4 | +this timer uses VPS | +
8 | +this timer is currently recording (may only be up-to-date with + SVDRP) | +
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 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
+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'.
+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 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
+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) | +
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.
+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.
+Examples:
+ +0 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.
+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 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 { ++
+ News +
+ Soaps +
+ } +Archive { +
+ Movies +
+ Sports +
+ Sci-Fi { +
+ Star Trek +
+ U.F.O. +
+ } +
+ } +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.
+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 +
+ } +
+ Second list { +
+ 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.
+Examples:
+ +Check 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 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 +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 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 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:
+F | +<frame rate> | +
L | +<lifetime> | +
P | +<priority> | +
@ | +<auxiliary data> | +
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> | +
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
+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 | +
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 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 | +
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) | +
<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.
+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.
+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.
+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 | +
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). | +
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 +[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).
+vdr(1)
+Written by Klaus Schmidinger.
+Report bugs to <vdr-bugs@tvdr.de>.
+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.
+15 Apr 2018 | +2.4 | +