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

SEE ALSO

981       vdr(1)
982

AUTHOR

984       Written by Klaus Schmidinger.
985

REPORTING BUGS

987       Report bugs to <vdr-bugs@tvdr.de>.
988
990       Copyright © 2018 Klaus Schmidinger.
991
992       This is free software; see the source for copying conditions.  There is
993       NO warranty; not even for MERCHANTABILITY or FITNESS FOR  A  PARTICULAR
994       PURPOSE.
995
996
997
9982.4                               15 Apr 2018                           vdr(5)
Impressum