EPG Collector V2.0.16
EPG Collector is a Windows command line program for collecting DVB EPG data. It can retrieve and process EIT, MHEG5 or OpenTV format EPG
data and it produces an XMLTV compliant file.
It can retrieve the data using terrestrial (DVB-T), satellite (DVB-S) or cable (DVB-C) tuners.
There are 2, mutually exclusive, command line parameters. The first parameter (/tuners) is needed if multiple tuners are
available and causes the program to lists the tuners it can find along with an identifying number before terminating. The tuner numbers can
then be specified in the ini file to force the utility to use a specific range of tuners. If you do not specify a tuner ini the initialization
file in a configuration that has multiple tuners the program will use the first one that is available that is appropriate for the frequency it is
attempting to tune.
Note that the program requires exclusive access to any tuner that it uses.
The second command line parameter (/ini=filename) identifies the initialization file to be used by the program. It is optional and
the default is "EPG Collector.ini". If the filename contains spaces it must be enclosed in quotes (eg /ini="a file name.ini").
The initialization file defines the necessary DVB parameters (eg frequencies, dish parameters) and other parameters that control
the processing of the received data.
Each frequency defined in the initialization file is scanned until all data is collected or the timeout period defined in
the initialization file expires. The XMLTV file contains the aggregation of all the data collected. For most situations only one frequency
is required. EIT and MHEG5 data is normally the same on every frequency for a particular broadcaster and OpenTV is normally
broadcast on a single 'base' frequency'. If the 'base' frequency is not known run the program with all possible frequencies and the log
produced by the program will show which frequencies contain OpenTV data.
A number of initialization files are supplied in the 'Samples' directory as examples covering the various combinations of data.
They will require editing for specific configurations (eg dish parameters) before they are usable. If they are edited ensure that
they are also renamed otherwise future installs will overwrite them. The default file supplied with the installation collects MHEG5
data from New Zealand satellite Freeview frequencies.
The output file is created each time the utility is run. The full name of the file can be specified in the initialization file. The
default name if one is not specified in the initialization file is XMLTV.xml created in the executable directory. The name must NOT
be enclosed in quotes if it contains spaces.
Extensive logging information is output to the console window and a log file (EPG Collector.log). The log rolls round when it
reaches 8MB and is written to the executable directory. Other log files may be created by the different protocols. An easy to read
list of EPG data is also created in the file EPG Data.log.
The program can be abandoned at any time by pressing the 'Q' key. No output file will be produced.
An exit code is set prior to terminating which can be tested for in a command file. The values are as follows:
0 = run successful, all data collected
1 = no DVB tuners detected
2 = failed to open the initialization file
3 = the initialization parameters are incorrect
4 = the command line is incorrect
5 = a program exception has occurred
6 = run completed but data incomplete
7 = cancelled by user
8 = the initialization parameters do not match the tuner configuration or there is a parameter conflict.
Note that as the program writes to the executable directory it will need write access to be available. This is may not normally the case.
The program is supplied as a Windows Installer file (mis) or as a zipped collection of files. Both formats have the same contents. The program
does not install any drivers or DirectShow filters, nor does it store or alter any registry settings.
It is advisable to uninstall any old version before installing a new version. If you are using the default initialization file and have
changed it make sure that there it is backed up or the new installtion will overwrite it.
3.0 Initialization Parameters
This section describes the initialization parameters that can be used to control the collection process. There is a GUI available
that can also be used to set up parameters for the collection process. However the parameters created by that program have a different format
to those described here.
DO NOT try and mix manually created parameters with those created by the GUI. Parameters created manually must always be changed manually and
parameters created by the GUI must be changed by using the GUI.
Parameters start with a name terminated by the ':' character followed by parameter values all terminated by a comma except
the last. Unrecognised parameters are silently ignored. Some parameters are specific to certain protocols and if a
parameter is supplied that is not required it will be silently ignored. Parameters can be entered in any order.
Parameters can also be commented by adding a comment after the // characters. So, for example, the Station parameter could be entered
Station:169,2,1342,My Favourite Station // This changes the name of TV One
Function Specifies the path of the output file.
Format Output:full name of output file
Example Output:C:\Temp\TV Guide.xml
Notes This parameter is optional. If it is not present the xmltv data will be written to XMLTV.xml in the executable
Do not enclose the name in quotes even if it contains spaces.
Function To force the program to use specific tuners.
Format Tuner:tuner number, tuner number, tuner number
Notes This parameter should be used in a multi tuner configuration to ensure the correct tuners are used. The program must be
run with the /tuners command line parameter to obtain a list of tuner numbers.
If this parameter is not supplied the first available tuner of the appropriate type will be used. The tuners will be used
in the order defined.
The program cannot use DVBLink virtual tuners, this being a restriction of the DVBLink software. In a configuration having
DVBLink virtual tuners it is advisable to use this parameter to ensure the collection process does not try and use one of
the virtual tuners.
Function Defines the satellite to be used for DVB-S tuners. Not required for other tuner types.
Format Satellite:longitude in tenths of a degree (positive for east, negative for west)
Notes The longitude should be specified as a positive number for east (ie no sign or + sign preceedes the number) and a
negative number for west (ie - preceedes the number).
Function Defines the LNB parameters needed for DVB-S tuners. Not required for other tuner types.
Format Dish:LNB low band, LNB high band, LNB switch
Function Defines a frequency (mux) to be scanned for EPG data. Note that there are 3 different formats depending on the
Format Frequency:frequency,symbol rate,FEC,polarization,collection type //For satellite tuners
Frequency:frequency,bandwidth,collection type //For terrestrial tuners
Frequency:frequency,symbol rate,FEC,modulation,collection type //For cable tuners
Example Frequency:12456000,22500,3/4,H,MHEG5 //To collect MHEG5 data on satellite
Frequency:226500,8,EIT //To collect EIT data on terrestrial
Frequency:626000,6950,3/4,QAM64,OPENTV //To collect OpenTV data on cable
Notes The values for polarization are as follows
H = horizontal
V = vertical
L = circular left
R = circular right
The values for collection type are as follows
EIT = event information table collection
MHEG5 = MHEG5 collection
OPENTV = OPENTV collection
Typical values for modulation are QAM64 and QAM256.
Function To define timeouts and repeat counts. This parameter is optional.
Format Timeouts:signal lock timeout, data collection timeout, data collection repeats
Example Timeouts:10,120 //10 seconds max to acquire a signal, 2 minutes max to collect data.
Timeouts:15,180,10 //15 seconds to acquire a signal, 3 minutes to collect data, 10 data repeats
Notes Both timeouts are in seconds. If the parameter is not present the defaults of 10 seconds and 300 seconds are used. These
are normally sufficient.
The data collection repeat count is optional and is only used when collecting OpenTV data. With this protocol it is not
possible to determine that all data has been received so the program assumes completion when the number of EPG entries
remains the same for this number of attempts at receiving new data. The default of 5 is normally sufficient.
Function To exclude a station or to change the channel ID and/or station name.
Format Station:network ID, transport ID, service ID // To exclude a station
Station:network ID, transport ID, service ID, channel ID // To change a channel ID
station:network ID, transport ID, service ID, channel ID, name // To change a channel ID and station name
Station:network ID, transport ID, service ID, name // To change a station name
Example Station:169,2,1041 // To exclude the station broadcasting on NID 169, TID 2, SID 1041
Station:169,2,1041,101 // To change the channel ID of the station broadcasting on NID 169
// TID 2 SID 1041 to 101
Station:169,2,1041,101,Another C4 // To change the channel ID and name of the station broadcasting on NID 169
// TID 2 SID 1041 to 101 and 'Another C4' respectively.
Station:169,2,1041,Another C4 // To change the name of the station broadcasting on NID 169, TID 2, SID 1041
// to 'Another C4'
Notes The network ID (NID), transport ID (TID) and service ID (SID) can be determined from the Collector log. They are
listed for each station included in the collection.
The channel ID is present in the XMLTV file to identify the station. If this parameter is not present the service ID
is normally output as the channel ID (except for OpenTV collections - see 2.0.9 Option below).
Function To identify where the collection is being made. This parameter is only needed for collecting OpenTV data, where it is
Format Location:location code
Example Location:NZL // To identify that the collection is being made in New Zealand
Notes This parameter controls various aspects of the OpenTV data processing including data decompression and decoding. The
values currently recognized are as follows:
NZL use for collection in New Zealand
AUS use for collection in Australia
GBR use for collection in Great Britain
ITA use for collection in Italy
Function To select the channels appropriate for the users location.
Format Channel:area, region
Example Channel:5120 // To select the New Zealand Freeview channels for Dunedin
Channel:4097,11 // To select the UK OpenTV channels for the south east of England
Notes This parameter is currently only applicable to New Zealand Freeview (EIT or MHEG5) and the UK (OpenTV). Lists of
areas and regions can be found in Appendix 1.
Only one channel parameter can be entered.
In the locations where this parameter is appropriate it is an alternative to excluding and/or remapping stations using
the Station parameter.
The Channel parameter and the Station parameter are mutually exclusive. Use one method or the other to select specific
Collections with this option take very slightly longer as additional data needs to be received and processed.
Function To control aspects of the data collection.
Format Option:option identity
Notes The options currently available and their meanings are as follows:
NOSIGLOCK Occasionally it is not possible to detect that a tuner has acquired a signal. This option
causes the tuning mechanism to omit the check for signal acquired and to continue normally
after waiting 5 seconds for the signal to be acquired.
ACCEPTBREAKS This option is only applicable to EPG data that is collected where the broadcaster has timed
programs to allow for ad breaks. The times are then not contiguous and the program will flag
each gap as an error in the log.
If this option is present only gaps greater than 5 minutes will be logged as an error.
ROUNDTIME This option is only applicable to EPG data that is collected where the broadcaster has timed
programs to allow for ad breaks.
If this option is present program times will be adjusted so that they start on 5 minute
boundaries. Any time less than 3 minutes after a five minute boundary will be rounded down,
anything else rounded up.
USECHANNELID With some locations it is possible for the program to use the channel mappings provided by
the broadcaster to set the channel ID in the XMLTV file while with other locations the
broadcast channel data can cause the program to set the wrong channel ID.
Collections with this option take very slightly longer as additional data needs to be received and
This option should currently only be present in collections made in New Zealand or for OpenTV
collections in the UK where the Channels parameter is also present.
USEBSEPG This option causes episode tags to be created in the output file in a format that can be
processed by BSEPG.
USERAWCRID This option causes episode tags to be created in the output file that contain the unedited
CRID program reference numbers. The coding scheme is defines as 'raw-crid' so that any program
that processes the output file must be capable of interpreting this scheme.
USENUMERICCRID This option causes episode tags to be created in the output file that contains the numeric
portion of the CRID program reference numbers. The coding scheme is defined as 'xmltv-ns' which
is the standard scheme for episode tags.
4.0 Notes on Tuners
Many of the issues that users have with getting EPG Collector to work surround tuners. This section lists issues that have been encountered
for specific tuners
4.0.1 DVBLogic virtual tuners
EPG Collector cannot use DVBLink virtual tuners. These have been specifically designed to work with other elements of DVBLogic software and will
not interface to software such as the Collector.
TechniSat tuners can be supplied with 2 separate tuner drivers. If the default installation of the TechniSat driver software is carried out a
non-BDA compliant driver will be installed and the Collector will not work with it. It will appear to acquire a signal but no data will be received.
The TechniSat BDA compliant tuner driver is in the BDA subdirectory of the driver software. It must be installed by responding to the Windows
'New Hardware Found' message and pointing the Windows installation process at the BDA directory.
4.0.3 HD HomeRun
The HD HomeRun is a network tuner. The Collector can use the virtual tuners set up by this device but it must be given security clearance to
access the network first or it will silently fail.
This is due to an apparent fault in the Windows OS in that the security failure message is not displayed when the Collector tries to use
the virtual tuner.
Appendix 1 Areas and regions
1.1 New Zealand Freeview (EIT and MHEG5)
Channel:4096 // Auckland
Channel:4352 // Waikato
Channel:4608 // North Island Central
Channel:4864 // Wellington
Channel:5120 // Christchurch
Channel:5376 // Dunedin
1.2 UK (OpenTV)
Channel:4097,14 // England (BBC) - Border & NW (ITV)
Channel:4097,12 // England (BBC) - Border (ITV)
Channel:4097,29 // England (BBC) - E Mid & Yorkshire (ITV)
Channel:4097,27 // England (BBC) - E London & Midlands (ITV)
Channel:4097,18 // England (BBC) - East London & SE (ITV)
Channel:4097,25 // England (BBC) - East & Midlands (ITV)
Channel:4097,21 // England (BBC) - East & Yorkshire (ITV)
Channel:4097,2 // England (BBC) - East (ITV)
Channel:4097,11 // England (BBC) - London & SE (ITV)
Channel:4097,9 // England (BBC) - London & South (ITV)
Channel:4097,1 // England (BBC) - London (ITV)
Channel:4097,19 // England (BBC) - Midlands & NW (ITV)
Channel:4097,24 // England (BBC) - Midlands & West (ITV)
Channel:4097,3 // England (BBC) - Midlands (ITV)
Channel:4097,20 // England (BBC) - Midlands & Yorkshire (ITV)
Channel:4097,26 // England (BBC) - NE & Yorkshire (ITV)
Channel:4097,17 // England (BBC) - NW & Wales (ITV)
Channel:4097,13 // England (BBC) - North East (ITV)
Channel:4097,7 // England (BBC) - North West (ITV)
Channel:4097,5 // England (BBC) - South (ITV)
Channel:4097,10 // England (BBC) - South East (ITV)
Channel:4097,6 // England (BBC) - South West (ITV)
Channel:4097,4 // England (BBC) - West (ITV)
Channel:4097,8 // England (BBC) - Yorkshire (ITV)
Channel:4099,73 // England 2 - Isle Of Man
Channel:4099,65 // England 2 - Brighton
Channel:4099,63 // England 2 - HTV W/Thames Valley
Channel:4099,70 // England 2 - Henley On Thames
Channel:4099,66 // England 2 - London / Thames Valley
Channel:4099,64 // England 2 - London Kent
Channel:4099,68 // England 2 - Meridian North
Channel:4099,62 // England 2 - North East Midlands
Channel:4099,71 // England 2 - Oxford
Channel:4099,61 // England 2 - Scarborough (bc)
Channel:4099,60 // England 2 - Sheffield (au)
Channel:4099,72 // England 2 - South Yorkshire
Channel:4099,69 // England 2 - Tees
Channel:4099,67 // England 2 - West Dorset
Channel:4099,41 // Wales (BBC) - Midlands (ITV)
Channel:4099,42 // Wales (BBC) - North West (ITV)
Channel:4099,43 // Wales (BBC) - Wales (ITV)
Channel:4099,45 // Wales (BBC) - NW & Wales (ITV)
Channel:4100,33 // Northern Ireland(BBC & ITV)
Channel:4100,34 // Channel Isles(ITV)
Channel:4100,50 // Republic of Ireland 4100
Channel:4098,36 // Scotland (BBC) - Border (ITV)
Channel:4098,38 // Scotland (BBC) - C Scot & N Scot (ITV)
Channel:4098,37 // Scotland (BBC) - Central Scotland (ITV)
Channel:4098,35 // Scotland (BBC) - North Scotland (ITV)
============================================================ End Of ReadMe ============================================================