Video Disk Recorder File Formats -------------------------------- * channels.conf This file contains the channel setup. It consists of two types of lines: "group delimiters" and "channel definitions". A "group delimiter" is a line starting with a ':' as the very first character, followed by arbitrary text. Example: ":First group" A "channel definition" is a line with channel data, where the fields are separated by ':' characters: Example: "RTL:12188:h:1:27500:163:104:105:0:12003" The fields in a channel definition have the following meaning (from left to right): - Name: the channel's name (if the name originally contains a ':' character it has to be replaced by '|') - Frequency in MHz for DVB-S and DVB-C, kHz for DVB-T (as an integer) - Polarization (one of 'h', 'H', 'v', 'V') ** - Diseqc number ** - Symbol rate *** - Video PID - Audio PID (either one number, or two, separated by a comma) If this channel also carries Dolby Digital sound, the Dolby PIDs follow the audio PIDs, separated by a semicolon, as in "...:101,102;103,104:..." - Teletext PID - Conditional Access (0 = Free To Air, 1 = can be decrypted by the first DVB card, 2 = can be decrypted by the second DVB card) - Program Number Fields marked with ** are only meaningful for DVB-S receivers. DVB-C and DVB-T receivers simply ignore these. Fields marked with *** are only meaningful for DVB-S and DVB-C receivers. DVB-T receivers simply ignore these. * timers.conf This file contains the timer setup. The fields in a timer definition have the following meaning (from left to right): - Timer active (0 = inactive, 1 = active) Values larger than '1' can be used by external programs to mark active timers and recognize if the user has modified them. When a user modifes an active timer the 'active' field will be explicitly set to '1'. - Program number of the channel to record - Day of recording, either one or more of M------ = Monday -T----- = Tuesday --W---- = Wednesday ---T--- = Thrusday ----F-- = Friday -----S- = Saturday ------S = Sunday (any combination is possible, for example MTWTF--, and the days may be indicated by any characters except '-', so for example ABC---- would set a timer that records on monday, tuesday and wednesday) or the "day of month" (1..31) - Start time (first two digits for the hour, second two digits for the minutes) - End time (first two digits for the hour, second two digits for the minutes) - Priority (from 0 to 99, 0 = lowest prioity, 99 = highest priority) - Guaranteed lifetime of recording (in days); 0 means that this recording may be automatically deleted by a new recording with higher priority, 99 means that this recording will never be automatically deleted - Name of timer (will be used to name the recording); if the name contains any ':' characters, these have to be replaced with '|'. If the name shall contain subdirectories, these have to be delimited by '~' (since the '/' character may be part of a regular programme name). The special keywords TITLE and EPISODE, if present, will be replaced with the title and episode information from the EPG data at the time of recording (if that data is available). If at the time of recording either of these cannot be determined, TITLE will default to the channel name, and EPISODE will default to a blank. - Summary (any newline characters in the summary have to be replaced with '|'; the summary may contain ':' characters) * setup.conf This file contains the basic configuration options for VDR. Each line contains one option in the format "Name = Value". See the MANUAL file for a description of the available options. * commands.conf This file contains the definitions of commands that can be executed from the "Main" menus "Commands" option. Each line contains one command definition in the following format: title : command where 'title' is the string the will be displayed in the "Commands" menu, and 'command' is the actual command string that will be executed when this option is selected. The delimiting ':' may be surrounded by any number of white space characters. In order to avoid error messages to stderr, every command should have stderr redirected to stdout. Everything the command prints to stdout will be displayed in a result window, with 'title' as its title. Examples: 1 Check for new mail: /usr/local/bin/checkmail 2>&1 2 CPU status : /usr/local/bin/cpustatus 2>&1 3 Disk space : df -h | grep '/video' | awk '{ print 100 - $5 "% free"; }' If the first non-blank character of the 'title' is a digit in the range 1..9, the command can be selected directly by pressing the respective numerical key on the remote control. * svdrphosts.conf This file contains the IP numbers of all hosts that are allowed to access the SVDRP port. Each line contains one IP number in the format IP-Address[/Netmask] where 'IP-Address' is the address of a host or a network in the usual dot separated notation (as in 192.168.100.1). If the optional 'Netmask' is given only the given number of bits of 'IP-Address' are taken into account. This allows you to grant SVDRP access to all hosts of an entire network. 'Netmask' can be any integer from 1 to 32. The special value of 0 is only accepted if the 'IP-Address' is 0.0.0.0, because this will give access to any host (USE THIS WITH CARE!). Everything following (and including) a '#' character is considered to be comment. * marks.vdr This file (if present in a recording directory) contains the editing marks defined for this recording. Each line contains the definition of one mark in the following format: hh:mm:ss.ff comment where 'hh:mm:ss.ff' is a frame position within the recording, given as "hours, minutes, seconds and (optional) frame number". 'comment' can be any string and may be used to describe this mark. If present, 'comment' must be separated from the frame position by at least one blank. The lines in this file need not necessarily appear in the correct temporal sequence, they will be automatically sorted by time index. CURRENT RESTRICTIONS: - the 'comment' is currently not used by VDR - marks must have a frame number, and that frame MUST be an I-frame (this means that only marks generated by VDR itself can be used, since they will always be guaranteed to mark I-frames). * 001.vdr ... 255.vdr These are the actual recorded MPEG data files. In order to keep the size of an individual file below a given limit, a recording is split into several files. The contents of these files is "Packetized Elementary Stream" (PES) and contains ES packets with ids 0xE0 for video, 0xC0 for audio 1 and 0xC1 for audio 2 (if available). Dolby Digital data is stored in packets with ids 0xBD.