1vdr(5)                     Video Disk Recorder Files                    vdr(5)
2
3
4

NAME

6       vdr_files - the Video Disk Recorder Files
7

DESCRIPTION

9       This  page describes the formats of the various files vdr uses to store
10       configuration data and recordings.
11

SYNTAX

13   CHANNELS
14       The file channels.conf contains the channel configuration.   Each  line
15       defines either a group delimiter or a channel.
16
17       A group delimiter is a line starting with a ':' as the very first char‐
18       acter, followed by arbitrary text. Example:
19
20       :First group
21
22       Group delimiters may also be used to specify the  number  of  the  next
23       channel.   To  do this, the character '@' and a number must immediately
24       follow the ':', as in
25
26       :@201 First group
27
28       The given number must be larger than the number of any previous channel
29       (otherwise it is silently ignored).
30
31       A  group delimiter can also be used to just set the next channel's num‐
32       ber, without an explicit delimiter text, as in
33
34       :@201
35
36       Such a delimiter will not appear in the Channels menu.
37
38       A channel definition is a line with channel data, where the fields  are
39       separated by ':' characters. Example:
40
41
42       RTL Television,RTL;RTL World:12187:hC34M2O0S0:S19.2E:27500:163=2:104=deu;106=deu:105:0:12003:1:1089:0
43
44       The line number of a channel definition (not counting group separators,
45       and based on a possible previous '@...' parameter)  defines  the  chan‐
46       nel's number in OSD menus and the timers.conf file.
47
48       The  fields  in  a  channel definition have the following meaning (from
49       left to right):
50
51       Name   The channel's name (if the name originally contains a ':'  char‐
52              acter it has to be replaced by '|').  Some TV stations provide a
53              way of deriving a "short name" from the channel name, which  can
54              be used in situations where there is not much space for display‐
55              ing a long name. If a short name is available for this  channel,
56              it follows the full name and is delimited by a comma, as in
57
58              RTL Television,RTL:...
59
60              If  the  short name itself would contain a comma, it is replaced
61              with a '.'.  Note that some long channel  names  may  contain  a
62              comma, so the delimiting comma is always the rightmost one.
63
64              If  present,  the  name  of the service provider or "bouquet" is
65              appended to the channel name, separated by a semicolon, as in
66
67              RTL Television,RTL;RTL World:...
68
69       Frequency
70              The transponder frequency (as an integer). For DVB-S this  value
71              is  in  MHz.  For DVB-C and DVB-T it can be given either in MHz,
72              kHz or Hz (the actual value given will  be  multiplied  by  1000
73              until it is larger than 1000000).
74
75       Parameters
76              Various  parameters, depending on whether this is a DVB-S, DVB-C
77              or DVB-T channel.  Each parameter consist of  a  key  character,
78              followed by an integer number that represents the actual setting
79              of that parameter. The valid key characters, their meaning  (and
80              allowed values) are
81
82              B   Bandwidth (1712, 5, 6, 7, 8, 10)
83              C   Code rate high priority (0, 12, 23, 34, 35, 45, 56, 67, 78, 89, 910)
84              D   coDe rate low priority (0, 12, 23, 34, 35, 45, 56, 67, 78, 89, 910)
85              G   Guard interval (4, 8, 16, 32, 128, 19128, 19256)
86              H   Horizontal polarization
87              I   Inversion (0, 1)
88              L   Left circular polarization
89              M   Modulation (2, 5, 6, 7, 10, 11, 12, 16, 32, 64, 128, 256, 999)
90              N   pilot mode (0, 1, 999)
91              O   rollOff (0, 20, 25, 35)
92              P   stream id (0-255)
93              Q   t2 system id (0-65535)
94              R   Right circular polarization
95              S   delivery System (0, 1)
96              T   Transmission mode (1, 2, 4, 8, 16, 32)
97              V   Vertical polarization
98              X   siso/miso mode (0, 1)
99              Y   hierarchY (0, 1, 2, 4)
100
101              Bandwidth:  The  bandwidth  of the channel in MHz (1712 in kHz):
102              (DVB-T/DVB-T2 only).
103
104              Code rate high priority: Forward Error Correction (FEC)  of  the
105              high  priority  stream  (DVB-T/DVB-T2).   For  DVB-S/DVB-S2 this
106              parameter specifies the inner FEC scheme.  12 = 1/2, 23  =  2/3,
107              34 = 3/4, ...
108
109              Code  rate  low  priority: Forward Error Correction (FEC) of the
110              low priority stream (DVB-T/DVB-T2 only).   If  no  hierarchy  is
111              used, set to 0.
112
113              Guard  interval: The guard interval value (DVB-T only): 4 = 1/4,
114              8 = 1/8, 16 = 1/16, 32 = 1/32, 128  =  1/128,  19128  =  19/128,
115              19256 = 19/256.
116
117              Inversion:  Specifies  whether  the  DVB frontend needs spectral
118              inversion (DVB-T and DVB-C only). This is frontend specific,  if
119              in doubt, omit.
120
121              Modulation:  Specifies the modulation/constellation of the chan‐
122              nel as follows:
123
124              2     QPSK (DVB-S, DVB-S2, DVB-T, DVB-T2, ISDB-T)
125              5     8PSK (DVB-S, DVB-S2)
126              6     16APSK (DVB-S2)
127              7     32APSK (DVB-S2)
128              10    VSB8 (ATSC aerial)
129              11    VSB16 (ATSC aerial)
130              12    DQPSK (ISDB-T)
131              16    QAM16 (DVB-T, DVB-T2, ISDB-T)
132
133              32    QAM32
134              64    QAM64 (DVB-C, DVB-T, DVB-T2, ISDB-T)
135              128   QAM128 (DVB-C)
136              256   QAM256 (DVB-C, DVB-T2)
137
138              Pilot mode: The pilot mode (0 = "off", 1 = "on", 999  =  "auto")
139              for DVB-S2 multiplex (DVB-S2 only).
140
141              Rolloff:  The  Nyquist  filter rolloff factor for DVB-S (35) and
142              DVB-S2 (35, 25, 20), 35 = 0.35, 25 = 0.25, 20 = 0.20, DVB-S/DVB-
143              S2 default value is 0.35
144
145              Stream id: Input Stream Identifier (ISI) (0-255) for DVB-S2 mul‐
146              tiplex or Physical Layer Pipe (PLP) id (0-255) for DVB-T2 multi‐
147              plex  (DVB-S2/DVB-T2  only,  with  devices  that  support "multi
148              streaming").
149
150              T2 System id: Unique identifier (0-65535) of  T2  system  within
151              the DVB network (DVB-T2).
152
153              Transmission mode: Number of DVB-T OFDM carriers, 32 = 32k, 16 =
154              16k, 8 = 8k, 4 = 4k, 2 = 2k, 1 = 1k. If in doubt, try 8k.
155
156              SISO/MISO mode: Specifies the  Single-Input/Multiple-Input  Sin‐
157              gle-Output mode (0 = SISO, 1 = MISO) (DVB-T2).
158
159              Hierarchy:  If set to 1, this transponder uses two streams, high
160              priority and low priority.  If in  doubt,  try  0  (off).  (DVB-
161              T/DVB-T2 only).
162
163              Delivery  System:  The  delivery  system (0 = "first generation"
164              (DVB-S/DVB-T), 1 = "second generation" (DVB-S2/DVB-T2).
165
166              Polarization: Satellite antenna polarization.  H = horizontal, V
167              = vertical, R = circular right, L = circular left.
168
169              The  polarization  parameters  have no integer numbers following
170              them. This is for compatibility with files from  older  versions
171              and also to keep the DVB-S entries as simple as possible.
172
173              The  special  value 999 is used for "automatic", which means the
174              driver will automatically determine the proper value (if  possi‐
175              ble).
176
177              An  example  of a parameter field for a DVB-T channel might look
178              like this: B8C23D12G8M16T8Y0S0
179
180              An example of a parameter field for a DVB-T2 channel might  look
181              like this: B8C23D12G8M16T8Y0P0S1
182
183              An  example  of a parameter field for a DVB-C channel might look
184              like this: C0M64
185
186              An example of a parameter field for a DVB-S channel  might  look
187              like this: HC56M2O35S0
188
189              An  example of a parameter field for a DVB-S2 channel might look
190              like this: HC910M2O35S1
191
192              Plugins that implement devices that need their own set of param‐
193              eters may store those in the parameters string in arbitrary for‐
194              mat  (not  necessarily  the  "character/number"  format   listed
195              above).  The  only  condition is that the string may not contain
196              colons (':') or newline characters.
197
198       Source The signal source of  this  channel,  as  defined  in  the  file
199              sources.conf.
200
201       Srate  The symbol rate of this channel (DVB-S and DVB-C only).
202
203       VPID   The  video PID (set to '0' for radio channels).  If this channel
204              uses a separate PCR PID, it follows the  VPID,  separated  by  a
205              plus sign, as in
206
207              ...:164+17:...
208
209              If  this channel has a video mode other than 0, the mode follows
210              the pids, separated by an '=' sign, as in
211
212              ...:164+17=27:...
213
214       APID   The audio PID (either one number, or several, separated by  com‐
215              mas).   If  this  channel  also carries Dolby Digital sound, the
216              Dolby PIDs follow the audio PIDs, separated by a  semicolon,  as
217              in
218
219              ...:101,102;103,104:...
220
221              If  certain audio PIDs broadcast in specific languages, the lan‐
222              guage codes for these can be appended to the individual audio or
223              Dolby PID, separated by an '=' sign, as in
224
225              ...:101=deu,102=eng;103=deu,104=eng:...
226
227              Some  channels  broadcast  two  different  languages  in the two
228              stereo channels, which can be indicated by adding a second  lan‐
229              guage code, delimited by a '+' sign, as in
230
231              ...:101=deu,102=eng+spa;103=deu,104=eng:...
232
233              The  audio  type is appended with a separating '@' character, as
234              in
235
236              ...:101=deu@4,102=eng+spa@4,105=@4:...
237
238              Note that if there is no language code, there still is the sepa‐
239              rating '=' if there is an audio type.
240
241
242       TPID   The  teletext  PID.  If this channel also carries DVB subtitles,
243              the DVB subtitling PIDs follow the teletext PID, separated by  a
244              semicolon, as in
245
246              ...:201;2001,2002:...
247
248              If  certain subtitling PIDs broadcast in specific languages, the
249              language codes for these can be appended to the individual  sub‐
250              titling PID, separated by an '=' sign, as in
251
252              ...:201;2001=deu,2002=eng:...
253
254
255       Conditional access
256              A hexadecimal integer defining how this channel can be accessed:
257
258              0000          Free To Air
259              0001...000F   explicitly requires the device with the given number
260              0010...00FF   reserved for user defined assignments
261              0100...FFFF   specific decryption methods as broadcast in the data stream
262              Values  in  the  range  0001...00FF will not be overwritten, all
263              other values will be automatically replaced  by  the  actual  CA
264              system  identifiers  received  from the data stream. If there is
265              more than one CA system id broadcast, they will be separated  by
266              commas, as in
267
268              ...:1702,1722,1801:...
269
270              The values are in hex because that's the way they are defined in
271              the "ETR 162" document. Leading zeros may be omitted.
272
273       SID    The Service ID of this channel.
274
275       NID    The Network ID of this channel.
276
277       TID    The Transport stream ID of this channel.
278
279       RID    The Radio ID of this channel (typically 0, may be used  to  dis‐
280              tinguish channels where NID, TID and SID are all equal).
281
282       A  particular  channel  can  be  uniquely identified by its channel ID,
283       which is a string that looks like this:
284
285       S19.2E-1-1089-12003-0
286
287       The components of this string are the Source  (S19.2E),  NID  (1),  TID
288       (1089), SID (12003) and RID (0) as defined above.  The last part can be
289       omitted if it is 0, so the above  example  could  also  be  written  as
290       S19.2E-1-1089-12003).
291       The  channel ID  is used in the timers.conf and epg.data files to prop‐
292       erly identify the channels.
293
294       If a channel has both NID and TID set to 0, the channel ID will use the
295       Frequency instead of the TID. For satellite channels an additional off‐
296       set of 100000, 200000, 300000  or  400000  is  added  to  that  number,
297       depending  on  the  Polarization  (H, V, L or R, respectively). This is
298       necessary because on some satellites the same frequency is used for two
299       different transponders, with opposite polarization.
300
301   TIMERS
302       The  file timers.conf contains the timer setup.  Each line contains one
303       timer definition, with individual fields separated by  ':'  characters.
304       Example:
305
306       1:10:-T-----:2058:2150:50:5:Quarks & Co:
307
308       The  fields in a timer definition have the following meaning (from left
309       to right):
310
311       Flags  The individual bits in this field have the following meaning:
312
313              1   the timer is active (and will record if it hits)
314              2   this is an instant recording timer
315              4   this timer uses VPS
316              8   this timer is currently recording (may only be up-to-date with SVDRP)
317
318              All other bits are reserved for future use.
319
320       Channel
321              The channel to record from. This is either the channel number as
322              shown  in  the  on-screen  menus, or a complete channel ID. When
323              reading timers.conf any channel numbers will be  mapped  to  the
324              respective channel ids and when the file is written again, there
325              will only be channel ids. Channel numbers are accepted as  input
326              in  order to allow easier creation of timers when manually edit‐
327              ing timers.conf. Also, when timers are  listed  via  SVDRP  com‐
328              mands, the channels are given as numbers.
329
330       Day    The day when this timer shall record.
331
332              If this is a `single-shot' timer, this is the date on which this
333              timer shall record, given in ISO notation (YYYY-MM-DD), as in:
334
335              2005-03-19
336
337              For compatibility with earlier versions of VDR this may also  be
338              just  the day of month on which this timer shall record (must be
339              in the range 1...31).
340
341              In case of a `repeating' timer this is a  string  consisting  of
342              exactly  seven  characters, where each character position corre‐
343              sponds to one day of the week (with Monday being the first day).
344              The  character  '-'  at  a certain position means that the timer
345              shall not record on that day. Any other character will cause the
346              timer to record on that day. Example:
347
348              MTWTF--
349
350              will  define  a  timer that records on Monday through Friday and
351              does not record on weekends.  Note that only letters may be used
352              here,  no  digits.   For  compatibility with timers created with
353              earlier versions of VDR, the same result could be achieved  with
354              ABCDE--  (which was used to allow setting the days with language
355              specific characters).  Since version 1.5.3  VDR  can  use  UTF-8
356              characters to present data to the user, but the weekday encoding
357              in the timers.conf file always uses single byte characters.
358
359              The day definition of a `repeating' timer may be followed by the
360              date  when  that  timer shall hit for the first time. The format
361              for this is @YYYY-MM-DD, so a  complete  definition  could  look
362              like this:
363
364              MTWTF--@2002-02-18
365
366              which  would  implement a timer that records Monday through Fri‐
367              day, and will hit for the first time on or  after  February  18,
368              2002.  This first day feature can be used to disable a repeating
369              timer for a couple of days, or for  instance  to  define  a  new
370              Mon...Fri timer on Wednesday, which actually starts "Monday next
371              week". The first day date given need not be that of a  day  when
372              the timer would actually hit.
373
374       Start  A  four  digit  integer  defining  when  this  timer shall start
375              recording.  The format is hhmm, so 1430 would  mean  "half  past
376              two" in the afternoon.
377
378       Stop   A four digit integer defining when this timer shall stop record‐
379              ing.  The format is the same as for the start time.
380
381       Priority
382              An integer in the range 0...99, defining the  priority  of  this
383              timer and of recordings created by this timer.  0 represents the
384              lowest value, 99 the highest.  The priority is  used  to  decide
385              which  timer  shall  be  started  in  case there are two or more
386              timers with the exact same start time. The first  timer  in  the
387              list with the highest priority will be used.
388
389              This  value  is also stored with the recording and is later used
390              to decide which recording to remove from disk in order  to  free
391              space  for  a  new  recording.  If  the disk runs full and a new
392              recording needs more space, an existing recording with the  low‐
393              est  priority  (and  which has exceeded its guaranteed lifetime)
394              will be removed.
395
396              If all available DVB cards are currently occupied, a timer  with
397              a  higher priority will interrupt the timer with the lowest pri‐
398              ority in order to start recording.
399
400       Lifetime
401              The guaranteed lifetime (in days) of a recording created by this
402              timer.  0 means that this recording may be automatically deleted
403              at any time by a new recording with higher  priority.  99  means
404              that  this  recording  will  never be automatically deleted. Any
405              number in the range 1...98 means that this recording may not  be
406              automatically  deleted  in  favour of a new recording, until the
407              given number of days since the start time of the  recording  has
408              passed by.
409
410       File   The  file name this timer will give to a recording.  If the name
411              contains any ':' characters, these have to be replaced  by  '|'.
412              If  the  name  shall  contain  subdirectories,  these have to be
413              delimited by '~' (since the '/' character may be part of a regu‐
414              lar programme name).
415
416              The  special  keywords  TITLE  and  EPISODE, if present, will be
417              replaced by the title and episode information from the EPG  data
418              at  the time of recording (if that data is available). If at the
419              time of recording either of these cannot  be  determined,  TITLE
420              will  default to the channel name, and EPISODE will default to a
421              blank.
422
423       Auxiliary data
424              An arbitrary string that can be used by external applications to
425              store  any  kind  of data related to this timer. The string must
426              not contain any newline characters. If this field is not  empty,
427              its contents will be written into the info file of the recording
428              with the '@' tag.
429
430   SOURCES
431       The file sources.conf defines the codes to be used in the Source  field
432       of  channels  in  channels.conf  and assigns descriptive texts to them.
433       Example:
434
435       S19.2E  Astra 1
436
437       Anything after (and including) a '#' character is comment.
438
439       The first character of the code must be one of
440
441       A   ATSC
442       C   Cable
443       S   Satellite
444       T   Terrestrial
445
446       and is followed by further data pertaining to that  particular  source.
447       In  case of Satellite this is the orbital position in degrees, followed
448       by E for east or W for west.  Plugins may  define  additional  sources,
449       using other characters in the range 'A'...'Z'.
450
451   DISEQC
452       The file diseqc.conf defines the DiSEqC control sequences to be sent to
453       the DVB-S card in order to access a  given  satellite  position  and/or
454       band.  Example:
455
456       S19.2E  11700 V  9750  t v W15 [E0 10 38 F0] W15 A W15 t
457
458       Anything after (and including) a '#' character is comment.
459
460       The  first word in a parameter line must be one of the codes defined in
461       the file sources.conf and tells which satellite this line applies to.
462
463       Following is the "switch frequency" of the LNB  (slof),  which  is  the
464       transponder  frequency  up to which this entry shall be used; the first
465       entry with an slof greater than the actual transponder  frequency  will
466       be  used.  Typically  there  is  only  one slof per LNB, but the syntax
467       allows any number of frequency ranges to be defined.  Note  that  there
468       should  be  a last entry with the value 99999 for each satellite, which
469       covers the upper frequency range.
470
471       The third parameter  defines  the  polarization  to  which  this  entry
472       applies.  It can be either H for horizontal, V for vertical, L for cir‐
473       cular left or R for circular right.
474
475       The fourth parameter specifies the "local oscillator  frequency"  (lof)
476       of  the  LNB  to use for the given frequency range. This number will be
477       subtracted from the actual transponder frequency  when  tuning  to  the
478       channel.
479
480       The  rest of the line holds the actual sequence of DiSEqC actions to be
481       taken.  The code letters used here are
482
483       t          22kHz tone off
484       T          22kHz tone on
485       v          voltage low (13V)
486       V          voltage high (18V)
487       A          mini A
488       B          mini B
489       Pn         use positioner to move dish to satellite position n (or to the satellite's orbital position, if no position number is given)
490       Sn         Satellite channel routing code sequence for bank n follows
491       Wnn        wait nn milliseconds (nn may be any positive integer number)
492       [xx ...]   hex code sequence (max. 6)
493       There can be any number of actions in a line, including none at  all  -
494       in  which  case  the entry would be used only to set the LOF to use for
495       the given frequency range and polarization.
496
497       By default it is assumed that every  DVB-S  device  can  receive  every
498       satellite.  If this is not the case in a particular setup, lines of the
499       form
500
501       1 2 4:
502
503       may be inserted in the diseqc.conf file, defining the devices that  are
504       able to receive the satellites following thereafter. In this case, only
505       the devices 1, 2 and 4 would be able to receive any satellites  follow‐
506       ing  this  line  and  up to the next such line, or the end of the file.
507       Devices may be listed more than once.
508
509   SATELLITE CHANNEL ROUTING (SCR)
510       The file scr.conf contains the channel definitions of the SCR device in
511       use.  The format is
512
513       channel frequency [pin]
514
515       where channel is the SCR device's channel index (0-7), frequency is the
516       user band frequency of the given channel, and pin is  an  optional  pin
517       number  (0-255). The actual values are device specific and can be found
518       in the SCR device's manual.
519
520       Examples:
521
522       0 1284
523       1 1400
524       2 1516
525       3 1632
526       4 1748
527       5 1864
528       6 1980
529       7 2096
530
531       By default it is assumed that  the  SCR  configurations  apply  to  all
532       devices,  and  each  device  will pick one. If you have several SCR sat
533       cables connected to one VDR machine,  or  if  you  want  to  explicitly
534       assign the SCR channels to your devices, lines of the form
535
536       1 2 4:
537
538       may  be  inserted  in  the scr.conf file, defining the devices that are
539       allowed to use the SCR channels thereafter.  In  this  case,  only  the
540       devices  1,  2 and 4 would be allowed to use the SCR channels following
541       this line and up to the next such line, or the end of the  file.  If  a
542       device is listed more than once, only its first appearance counts.
543
544   REMOTE CONTROL KEYS
545       The  file  remote.conf contains the key assignments for all remote con‐
546       trol units. Each line consists of one key assignment in  the  following
547       format:
548
549       name.key  code
550
551       where  name is the name of the remote control (for instance KBD for the
552       PC keyboard, or LIRC for the "Linux Infrared Remote Control"),  key  is
553       the  name  of  the  key that is defined (like Up, Down, Menu etc.), and
554       code is a character string that this remote control delivers  when  the
555       given key is pressed.
556
557   KEY MACROS
558       The  file keymacros.conf contains user defined macros that will be exe‐
559       cuted whenever the given key is pressed. The format is
560
561       macrokey  [@plugin] key1 key2 key3...
562
563       where macrokey is the key that shall initiate execution of  this  macro
564       and  can be one of Up, Down, Ok, Back, Left, Right, Red, Green, Yellow,
565       Blue, 0...9 or User1...User9. The rest of the line consists of a set of
566       keys,  which  will  be executed just as if they had been pressed in the
567       given sequence. The optional  @plugin  can  be  used  to  automatically
568       select  the given plugin.  plugin is the name of the plugin, exactly as
569       given in the -P option when starting VDR. There can be only one @plugin
570       per key macro.  For instance
571
572       User1 @abc Down Down Ok
573
574       would  call  the main menu function of the "abc" plugin and execute two
575       "Down" key presses, followed by "Ok".
576       Note that the color keys will only  execute  their  macro  function  in
577       "normal  viewing"  mode  (i.e. when no other menu or player is active).
578       The User1...User9 keys will always execute their macro function.  There
579       may be up to 15 keys in such a key sequence.
580
581   FOLDERS
582       The  file  folders.conf contains the definitions of folders that can be
583       used in the "Edit timer" menu. Each line contains  one  folder  defini‐
584       tion.  Leading  whitespace  and everything after and including a '#' is
585       ignored. A line ending with '{' defines a sub  folder  (i.e.  a  folder
586       that  contains  other  folders), and a line consisting of only '}' ends
587       the definition of a sub folder.
588
589       Example:
590
591       Daily {
592         News
593         Soaps
594         }
595       Archive {
596         Movies
597         Sports
598         Sci-Fi {
599           Star Trek
600           U.F.O.
601           }
602         }
603       Comedy
604       Science
605
606       Note that these folder definitions are only used to set the  file  name
607       under  which  a  timer will store its recording. Changing these defini‐
608       tions in any way has no effect on existing timers or recordings.
609
610   COMMANDS
611       The file commands.conf contains the definitions of commands that can be
612       executed  from  the  vdr main menu's "Commands" option.  Each line con‐
613       tains one command definition in the following format:
614
615       title : command
616
617       where title is the string that will  be  displayed  in  the  "Commands"
618       menu,  and  command  is the actual command string that will be executed
619       when this option is selected. The delimiting ':' may be  surrounded  by
620       any  number of white space characters. If title ends with the character
621       '?', there will be a confirmation prompt before actually executing  the
622       command.  This can be used for commands that might have serious results
623       (like deleting files etc) to make sure they are not  executed  inadver‐
624       tently.
625
626       Everything  following  (and including) a '#' character is considered to
627       be comment.
628
629       You can have nested layers of command menus by surrounding  a  sequence
630       of commands with '{'...'}' and giving it a title, as in
631
632       My Commands {
633         First list {
634           Do something: some command
635           Do something else: another command
636           }
637         Second list {
638           Even more: yet another command
639           So much more: and yet another one
640           }
641         }
642
643       Command lists can be nested to any depth.
644
645       By  default  the  menu  entries in the "Commands" menu will be numbered
646       '1'...'9' to make them selectable by pressing the corresponding  number
647       key.  If  you want to use your own numbering scheme (maybe to skip cer‐
648       tain numbers), just precede the titles with the numbers of your choice.
649       vdr  will  suppress  its automatic numbering if the first entry in com‐
650       mands.conf starts with a digit in the range '1'...'9',  followed  by  a
651       blank.
652
653       In  order  to avoid error messages to the console, every command should
654       have stderr redirected to stdout. Everything the command prints to std‐
655       out will be displayed in a result window, with title as its title.
656
657       Examples:
658
659       Check for new mail?: /usr/local/bin/checkmail 2>&1
660       CPU status: /usr/local/bin/cpustatus 2>&1
661       Disk space: df -h | grep '/video' | awk '{ print 100 - $5 "% free"; }'
662       Calendar: date;echo;cal
663
664       Note  that  the commands 'checkmail' and 'cpustatus' are only examples!
665       Don't send emails to the author asking where to find these ;-)
666       The '?' at the end of the "Check for new mail?" entry will  prompt  the
667       user whether this command shall really be executed.
668
669   RECORDING COMMANDS
670       The  file  reccmds.conf  can  be  used  to  define commands that can be
671       applied to the currently  highlighted  recording  in  the  "Recordings"
672       menu.  The  syntax  is  exactly the same as described for the file com‐
673       mands.conf. When executing a command, the directory name of the record‐
674       ing  will  be  appended to the command string, separated by a blank and
675       enclosed in single quotes.
676
677   SVDRP HOSTS
678       The file svdrphosts.conf contains the IP numbers of all hosts that  are
679       allowed  to access the SVDRP port.  Each line contains one IP number in
680       the format
681
682       IP-Address[/Netmask]
683
684       where IP-Address is the address of a host or a network in the usual dot
685       separated  notation  (as  in 192.168.100.1). If the optional Netmask is
686       given only the given number  of  bits  of  IP-Address  are  taken  into
687       account.  This  allows  you  to  grant  SVDRP access to all hosts of an
688       entire network. Netmask can be any integer from 1 to  32.  The  special
689       value  of 0 is only accepted if the IP-Address is 0.0.0.0, because this
690       will give access to any host (USE THIS WITH CARE!).
691
692       Everything following (and including) a '#' character is  considered  to
693       be comment.
694
695       Examples:
696
697       127.0.0.1        # always accept localhost
698       192.168.100.0/24 # any host on the local net
699       204.152.189.113  # a specific host
700       0.0.0.0/0        # any host on any net (USE WITH CARE!)
701
702   SETUP
703       The  file  setup.conf contains the basic configuration options for vdr.
704       Each line contains one option in the format "Name =  Value".   See  the
705       MANUAL file for a description of the available options.
706
707   THEMES
708       The  files  /var/lib/vdr/data/themes/<skin>-<theme>.theme  contain  the
709       color theme definitions for the various skins. In the actual file names
710       <skin>  will be replaced by the name if the skin this theme belongs to,
711       and <theme> will be the name of this theme.  Each line in a theme  file
712       contains  one option in the format "Name = Value".  Anything after (and
713       including) a '#' character is comment.
714
715       The definitions in a theme file are either colors or a description.
716       Colors are in the form
717
718       clrTitle = FF123456
719
720       where the name (clrTitle) is one of the names  defined  in  the  source
721       code  of  the skin that uses this theme, through the THEME_CLR() macro.
722       The value (FF123456) is an eight digit hex number that consist of  four
723       bytes, representing alpha (transparency), red, green and blue component
724       of the color.  An alpha value of 00 means the color will be  completely
725       transparent,  while  FF means it will be opaque. An RGB value of 000000
726       results in black, while FFFFFF is white.
727
728       A description can be given as
729
730       Description = Shades of blue
731
732       and will be used in the Setup/OSD menu to select a theme  for  a  given
733       skin.   The  description  should  give the user an idea what this theme
734       will be like (for instance, in the given example it would  use  various
735       shades  of blue), and shouldn't be too long to make sure it fits on the
736       Setup screen.  The default description always should be given  in  Eng‐
737       lish. If you want, you can provide language specific descriptions as
738
739       Description.eng = Shades of blue
740       Description.ger = Blautöne
741
742       where  the  language  code is added to the keyword "Description", sepa‐
743       rated by a dot. You can enter as many language specific descriptions as
744       you like, but only those that have a corresponding locale messages file
745       will be actually used.  If a theme file doesn't contain a  Description,
746       the name of the theme (as given in the theme's file name) will be used.
747
748   AUDIO/VIDEO DATA
749       The  files  00001.ts...65535.ts  are the actual recorded data files. In
750       order to keep the size of an individual file below  a  given  limit,  a
751       recording  may be split into several files. The contents of these files
752       is Transport Stream (TS) and contains data packets that  are  each  188
753       byte  long  and start with 0x47. Data is stored exactly as it is broad‐
754       cast, with a generated PAT/PMT inserted right before every  independent
755       frame.
756
757   INDEX
758       The  file  index  (if  present  in  a recording directory) contains the
759       (binary)  index  data  into   each   of   the   the   recording   files
760       00001.ts...65535.ts.  It is used during replay to determine the current
761       position within the recording, and to implement skipping and fast  for‐
762       ward/back  functions.   See  the definition of the cIndexFile class for
763       details about the actual contents of this file.
764
765   INFO
766       The file info (if present in a recording directory) contains a descrip‐
767       tion  of the recording, derived from the EPG data at recording time (if
768       such data was available). The Aux field of the corresponding timer  (if
769       given)  is  copied  into this file, using the '@' tag.  This is a plain
770       ASCII file and contains tagged lines like the EPG DATA  file  (see  the
771       description  of  the  epg.data file). Note that the lowercase tags ('c'
772       and 'e') will not appear in an info file.  Lines tagged  with  '#'  are
773       ignored  and  can be used by external tools to store arbitrary informa‐
774       tion.
775
776       In addition to the tags used in the epg.data file,  the  following  tag
777       characters are defined:
778
779       F   <frame rate>
780       L   <lifetime>
781       P   <priority>
782       @   <auxiliary data>
783
784   RESUME
785       The  file  resume  (if  present  in a recording directory) contains the
786       position within the recording where the last replay session  left  off.
787       The  file consists of tagged lines that describe the various parameters
788       necessary to pick up replay where it left off.
789
790       The following tag characters are defined:
791
792       I   <offset into the file index>
793
794   MARKS
795       The file marks (if present in a recording directory) contains the edit‐
796       ing  marks  defined for this recording.  Each line contains the defini‐
797       tion of one mark in the following format:
798
799       hh:mm:ss.ff comment
800
801       where hh:mm:ss.ff is a frame position within the  recording,  given  as
802       "hours,  minutes, seconds and (optional) frame number".  comment can be
803       any string and may be used to describe this mark.  If present,  comment
804       must be separated from the frame position by at least one blank.
805
806       The  lines in this file need not necessarily appear in the correct tem‐
807       poral sequence, they will be automatically sorted by time index.
808
809       If a frame position doesn't point to an I-frame  of  the  corresponding
810       recording,  it  will  be shifted towards the next I-frame (either up or
811       down, whichever is closer).
812
813       CURRENT RESTRICTIONS:
814
815       - the comment is currently not used by VDR
816
817   SORT MODE
818       The file .sort (if present in a directory) contains an  integer  number
819       defining  the  mode  by  which this directory shall be sorted when pre‐
820       sented in a menu.
821
822       The following values are defined:
823
824       0   sort by name
825       1   sort by time
826
827   RECORDING TIMER
828       The file .timer (if present in a recording directory) contains the full
829       id of the timer that is currently recording into this directory.  Timer
830       ids are of the form
831
832       id@hostname
833
834       where id is the timer's numerical id on the VDR with the name hostname.
835       This  file  is  created when the timer starts recording, and is deleted
836       when it ends.
837
838   EPG DATA
839       The file epg.data contains the EPG data in an easily  parsable  format.
840       The  first  character  of each line defines what kind of data this line
841       contains.
842
843       The following tag characters are defined:
844
845       C   <channel id> <channel name>
846       E   <event id> <start time> <duration> <table id> <version>
847       T   <title>
848       S   <short text>
849       D   <description>
850       G   <genre> <genre>...
851       R   <parental rating>
852       X   <stream> <type> <language> <descr>
853       V   <vps time>
854       @   <auxiliary data>
855       e
856       c
857
858       Lowercase characters mark the end of a sequence that was started by the
859       corresponding  uppercase  character.  The  outer  frame  consists  of a
860       sequence of one or more C...c (Channel) entries. Inside these any  num‐
861       ber  of E...e (Event) entries are allowed.  All other tags are optional
862       (although every event should at least have a T entry).
863
864       There may be several X tags, depending on the number of tracks  (video,
865       audio etc.)  the event provides.
866
867       <channel id>        is the "channel ID", made up from the parameters defined in 'channels.conf'
868       <channel name>      is the "name" as in 'channels.conf' (for information only, may be left out)
869       <event id>          is a 32 bit unsigned int, uniquely identifying this event
870       <start time>        is the time (as a time_t integer) in UTC when this event starts
871       <duration>          is the time (in seconds) that this event will take
872       <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)
873       <version>           is a hex number that indicates the event's version number inside its table (optional, ignored when reading EPG data)
874       <title>             is the title of the event
875       <short text>        is the short text of the event (typically the name of the episode etc.)
876       <description>       is the description of the event (any '|' characters will be interpreted as newlines)
877       <genre>             is a two digit hex code, as defined in  ETSI EN 300 468, table 28 (up to 4 genre codes are supported)
878       <parental rating>   is the minimum age of the intended audience
879       <stream>            is the stream content (1 = MPEG2 video, 2 = MP2 audio, 3 = subtitles, 4 = AC3 audio, 5 = H.264 video, 6 = HEAAC audio)
880       <type>              is the stream type according to ETSI EN 300 468
881       <language>          is the three letter language code (optionally two codes, separated by '+')
882       <descr>             is the description of this stream component
883       <vps time>          is the Video Programming Service time of this event
884       <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.
885
886       This  file  will  be  read  at  program startup in order to restore the
887       results of previous EPG scans.
888
889       Note that the event id that comes from the DVB data stream is  actually
890       just  16 bit wide. The internal representation in VDR allows for 32 bit
891       to be used, so that external tools can generate EPG data that is  guar‐
892       anteed not to collide with the ids of existing data.
893
894       The  auxiliary data can be used for plugin specific purposes and has no
895       meaning whatsoever to VDR itself. It will not be written into the  info
896       file of a recording that is made for such an event.
897
898   CAM DATA
899       The  file  cam.data  contains information about which CAM in the system
900       can decrypt a particular channel.  Each line in this  file  contains  a
901       channel id, followed by one or more (blank separated) numbers, indicat‐
902       ing the CAMs that have successfully decrypted this channel earlier.
903
904       When tuning to an encrypted channel, this information is used to select
905       the  proper CAM for decrypting this channel. This channel/CAM relation‐
906       ship is not hardcoded, though. If a given channel  can't  be  decrypted
907       with  a CAM listed in this file, other CAMs will be tried just as well.
908       The main purpose of this file is to speed up channel switching in  sys‐
909       tems with more than one CAM.
910
911       This  file  will  be read at program startup and saved when the program
912       ends.  If the file is read-only, it will not be overwritten.
913
914   CAM AUTO RESPONSE
915       If your CAM keeps popping up annoying messages or you want to make sure
916       VDR  can record programmes with parental rating without having to enter
917       the PIN (in case you can't turn that off in your CAM), you can  set  up
918       auto responses in the file camresponses.conf.
919
920       Each  line  in  this file specifies one rule to apply to texts received
921       from the CAM. If the CAM's menu text matches the text in one  of  these
922       rules,  the  given  action is taken and sent to the CAM as an automatic
923       response, without any menu appearing on the  screen.  The  first  match
924       wins.
925
926       The format of these rules is:
927
928       nr text action
929
930       where
931
932       nr          is the number of the CAM this action applies to (0 = all CAMs)
933       text        is the text in the CAM menu to react on (must be quoted with '"' if it contains blanks, escape '"' with '\')
934       action      is the action to take if the given text is encountered
935
936       Possible actions are:
937
938       DISCARD     simply discard the menu (equivalent to pressing 'Back' on the RC)
939       CONFIRM     confirm the menu (equivalent to pressing 'OK' without selecting a particular item)
940       SELECT      select the menu item containing the text (equivalent to positioning the cursor on the item and pressing 'OK')
941       <number>    the given number is sent to the CAM as if it were tyed in by the user (provided this is an input field).
942
943       Note  that  the  text given in a rule must match exactly, including any
944       leading or trailing blanks. If in doubt, you can  get  the  exact  text
945       from the log file.  Action keywords are case insensitive.
946
947       Everything  following  (and including) a '#' character is considered to
948       be comment.
949
950   COMMANDLINE OPTIONS
951       If started without any options, vdr tries to  read  any  files  in  the
952       directory  /etc/vdr/conf.d  with names that do not begin with a '.' and
953       that end with '.conf'.  These files are read in alphabetical order. The
954       format of these files is
955
956       # comment
957       [name]
958       -a
959       -b 123
960       --long
961       --longarg=123
962
963       Any lines that begin with '#' as the first non-whitespace character are
964       considered comments and are ignored.  A command line option  file  con‐
965       sists  of  one or more sections, indicated by '[name]', where 'name' is
966       either the fixed word 'vdr' (if this section contains options  for  the
967       main  VDR  program)  or the name of the plugin this section applies to.
968       Each option must be written on a separate line, including  the  leading
969       '-' (for a short option) or '--' (for a long option). If the option has
970       additional arguments, they have to be written on the same line  as  the
971       option itself, separated from the option with a blank (short option) or
972       equal sign (long option).
973

SEE ALSO

975       vdr(1)
976

AUTHOR

978       Written by Klaus Schmidinger.
979

REPORTING BUGS

981       Report bugs to <vdr-bugs@tvdr.de>.
982
984       Copyright © 2018 Klaus Schmidinger.
985
986       This is free software; see the source for copying conditions.  There is
987       NO  warranty;  not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
988       PURPOSE.
989
990
991
9922.4                               15 Apr 2018                           vdr(5)
Impressum