Syntax of channels.conf

From VDR Wiki
Revision as of 21:28, 27 December 2009 by (talk) (→‎Links)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Parameters of VDR channel config file

Note that older versions of VDR (e.g 1.2.x) use a slightly different format of this file, and switching between vdr 1.2.x and vdr 1.3.x with the same channel file can lead to problems, see below under Differences. In the example below there are three different channel definitions:

  • digital satellite TV channel
  • digital terrestrian TV channel
  • digital cable TV channel
  • analog TV channel
Name Frequency Parameters Source SRate VPID APID TPID CA SID NID TID RID
RTL 12188 h S19.2E 27500 163 104 105 0 12003 0 0 0
Das Erste 522000 I0C23D0M16B8T8G8Y0 T 27500 1401 1402 1404 1 14 0 0 0
FS HH 402000 C0M64 C 6900 2401 2402 2404 0 28225 1 1073 16387
VHF K10 210250 C0D45B6 C 0 301 300 0 A0 28106 0 0 0

The VDR reads at startup all channel definitions from the config file $CONFIGDIR/vdr/channels.conf and writes any changing back to the file.


Changes to channels.conf while VDR is running will be overwritten. VDR has to be stopped if you want to edit this file!


Name of that channel. If the name includes a ":" it will be automatically replaced by "|". If you use VDR version 1.2.x please do NOT include commas or semicolons. Starting with VDR version 1.3.12 this field also includes the service providers name(aka "bouquet"), separated by a semikolon.


Transponder Frequency as Integer

Frequency in MHz.
Frequency in MHz, kHz or Hz.
Frequency in MHz, kHz or Hz.
analogue TV
Frequency in MHz. (analogTV plugin)

The values here will be multiplied by 1000 until it's bigger than 1000000.


The Parameters in this field depends on the type of DVB you use: DVB-S, DVB-C ,DVB-T or analogue TV. Each Parameter starts with an letter, followed by an Integer which represends the value of that parameter.

Valid identifiers and their ranges:

Identifier (Values) Meaning

I (0, 1) Inversion (for DVB-T should always be 0, except some cards that need 999 (auto), such as Hauppauge NOVA-T USB2)

C (0, 12, 23, 34, 45, 56, 67, 78, 89) Data rate high priority

for analogue TV is C the capture device:
C0  = /dev/video0
C12 = /dev/video1
C23 = /dev/video2
C34 = /dev/video3
C45 = /dev/video4

D (0, 12, 23, 34, 45, 56, 67, 78, 89) Data rate low priority

for analogue TV is D the video source used:
D0  = Television       (bttv)
D12 = Composite Video1 (bttv)
D23 = Composite Video2 (bttv)
D34 = S-Video          (bttv)
D0  = S-Video ext.     (Hauppauge PVR150/PVR250/350-cards only)
D45 = Composite Video  (Hauppauge PVR150-cards only)
D45 = Tuner 0          (Hauppauge PVR250/350-cards only)
D56 = Composite ext.   (Hauppauge PVR250/350-cards only)
D67 = TV Tuner         (Hauppauge PVR150-Karten only)

M (0, 16, 32, 64, 128, 256) Modulation

B (6, 7, 8) Bandwidth in MHz

for analogue TV is B the Video norm:
B6 = PAL

T (2, 8) Transmission mode

G (4, 8, 16, 32) Guard intervall

Y (0, 1, 2, 4) Hierarchy

H Horizontal Polarization

V Vertical Polarization

R Circular Polarization right

L Circular Polarization left

The Polarisation Parameter is NOT followed by an value for compatibility reasons.

The value 999 is used for automatic. If possible the driver will find the best settings, this is default.

Example for DVB-T:


Inversion off,
Data Rate High=23,
Data Rate Low=0,
Bandwidth 8MHz,
Transmission Mode 8,
Guard 1/8,
Hierarchy 0


Signal source of the channel, as defined in sources.conf.

Sxxxx, C, T

For compatbility reasons numeric values are accepted here, but preferred are literals.

Symbol Rate

Symbol Rate of the channel. Valid only for DVB-S and DVB-C, as DVB-T uses another modulation COFDM (Coded Orthogonal Frequency Division Multiplex).


Video PID (Program Identification).

  • 0 for Radio channels
  • 1 for encryted channels (pay tv)

If that channel uses a separate PCR PID this PCR PID follows the Video PID, separated by "+" (e.g. ...:164+17:...)

For analogue TV: mostly 301(ivtv > 0.1.9) or 160(ivtv <= 0.1.9, bttv)


Audio PID. Either one or more numbers separated by a comma. Each value stands for a language or two-channel audio. If that channel has AC3 (Dolby Digital Sound), the Dolby PIDs follows the mpeg audio PIDs, both lists are separated by semicolon (e.g.:...:101,102;103,104:...).

For analogue TV: mostly 301(ivtv > 0.1.9) or 160(ivtv <= 0.1.9, bttv)

The development VDR 1.3.x (but not VDR 1.2.x) accepts language markers like APID=eng, APID=deu, APID=2ch.


Teletext PID.

CA - Conditional access

This integer describes how to access the encrypted channel.

  • 0 Free To Air
  • 1..4 use DVB-Karte with that number.
  • 5..100 use this method for decrypting.
  • 32001 analog TV (VDR-1.2.x)
  • A0 analog TV (VDR-1.3.x)

The methods are described in ca.conf.


Service ID of channel.

For analogue TV: see ChannelMap.h from Analogtv-plugin source package.


Network ID. Placeholder for future development. Currently 0. (VDR-1.2.x only)


Transport Stream ID. Placeholder for future development. Currently 0. (VDR-1.2.x only)


Radio ID. Typical 0. Can be used to differentiate between channels having the same SID, NID and TID.


NID=0, TID=0, RID=0
VDR-1.2.x with AutoPID-Patch
NID<>0, TID<>0, RID<>0 valid
NID<>0, TID<>0, RID<>0 valid, starting from version 1.3.12 also service provider included in Name, in Audio-PID also language marker valid.


[2] Channel Editor
[4] Channel List Editor for Linux
[5] VDR Channel Listings for Astra 19.2East and Hotbird 13.0East - VDR 1.3 Format only
[6] DVB-T