Einzelnen Beitrag anzeigen
Alt 23.04.2010, 20:51:22   #1
Registriert seit: 14.12.2005
Ort: Rhein-Main
Receiver: VDR, 5000MP
Firmware: 5.13.62 20070808
Beiträge: 372
Standard TAP: FreeSat to TGD converter

aka: The 3xperimental FreeSat Feeder


The drawbacks in the beginning:

- FreeSat EPG comes for 8 days.
- FreeSat EPG is not as detailed as delivered by RadioTimes.

So I hope you will not be too disappointed, if you are used to RadioTimes converted TGD feeds.
The good thing is that now we are very close to full automation:
- no longer downloading information from a possibly unreliable, heavily loaded Internet ressource.
- no data conversion
- no uploads to the receiver

It currently acts as a kind of converter/preprocessor to our EPG tools with the ability to
read TGD (Topfield Guide Data).

So here is the HowTo, it still is a bit tricky right now:


1) Create an EPG recording channel

One new channel on your receiver shall be created using the following parameters:
Name: FreeSatEPG (required, data is read from "FreeSatEPG.rec")
Satelite: Astra2
Transponder: 11426MHz/27500/H Horizontal
Video PID: 3002
Audio PID: 3003
Service ID: 0
PMT PID: 4005
PCR PID: 3001

Note that no sensible data exists to receive any audible or visble signal,
it is just our way to filter the EPG PIDs 3002/3003 from the stream.
The Topfield will indicate a "scrambled signal", this is normal.
An editor like TopSet might be necessary to accomplish these 'strange' settings.

If not done, tune to this channel and take a recording. Record slightly more than one minute,
otherwise the receiver will clear the file. This will carry all data 4 times, so a much shorter recording
is sufficient. I hope I shall come up with a 30sec recording soon as the recording EPG scanners do.

The result will be a recorded file named "FreeSatEPG.rec" with a size of 30MBytes.
Herein all the data we need is contained, is is the FULL EPG of ALL FreeSat related transponders.

2) As you are using TGDs, you will almost certainly already have an "epg_upload.ini". It is read by the
converter: I am supplying one to start with, you may want to start trying this as the parser is poor.
Following things are used in the conversion process:

--- cut ---

GeneratorName=TGD Builder
DateTime=2010-04-08 23:43


TGD directory=EPGdata
Number of Services=33

[TV Parameters]

[Channel 1]

[Channel 2]

[Channel 3]
--- cut ---

This file currently MUST be <CR><LF> DOS/Windows style line delimited for correct parsing.
Data is broadcast with UTC time information. TGD is specified in local time.
Be shure to specify your GMT_Offset correctly, e.g. 2 for Central European Daylight Saving Time,
1 for Central European Time and UK Daylight Saving Time, 0 for UK non-DST.
Currently only positive/zero integer values are possible and evalutated correctly.
The default value is UTC+2, CET DST.

The service_id's specified will construct a filter of EPG service ID's to be extracted from the stream,
on output the service_name's will be substituted into the TGD lines.
Keep calm on the number of your selections, my choice of 33 channels results in approx 10,000 unique events.
Due to memory and processing restrictions the limit is currently fixed to 20,000 events.

That is almost it.

Be shure to have enough free heap memory available! (3MBytes)

Run the TAP, it is just a single path converter exiting cleanly after being run.
Be patient, it takes time, expect 3 to 5 minutes of runtime.
For the moment it is very silent, progress and debugging output is sent to the RS232 serial output of your Toppy.

Input: /DataFiles/FreeSatEPG.rec
This is deleted after processing so that the next recording will be able to receive the same name.

Output: /EPGdata/20100501.tgd, ...
The set of TGD files sorted by date.
Your favourite EPG programm will read these, hopefully it will also delete the ones which are no longer needed
(i.e. yesterday and before).
Existing TGD files will be silently overwritten and replaced by their updated versions fed from the recent stream recording.

The program will now correctly work if it is copied into "/ProgramFiles/Auto Start".
  1. If started and no FreeSatEPG.rec exists, no operation takes place.
  2. If started and FreeSatEPG.rec exists, it will be converted and cleared.
  3. If started and we are currently recording FreeSatEPG.rec, the recording is terminated when it has reached 61 seconds and converted afterwards.
  4. If you programmed a Wakeup-Timer at 06:01 onto channel "FreeSatEPG", the TAP autostarted will:
    • Start a recording of 61 seconds
    • When finished, convert into TGD
    • Turn off the receiver.

0.01 Prototye with an adapted DVBsnoop parsed by Perl
0.02 2nd prototype with Visual Studio 2008
0.03 Adaption for the TAP API
0.04 Stop parsing when 200 consecutive events will not add fresh events
0.05 Modified internal storage from clear text to original Huffman to save memory
0.06 FireBirdLib for TAP API Fix Release 23/04/2010 20:16
0.07 Flags stay at F0, when the component descriptors appear after the short event descriptor.
0.08 Crashed, when trying to rewrite existing *.tgd files. Release 24/04/2010 12:07
0.09 Added autostart automation capability.
0.10 Enhanced error handling (empty event table would crash)
0.11 Yet another parser bug: Correctly handle EITs without events and events without descriptors.
0.12 Changed maximum of events to 20,000.
1.0 Release Version 26/04/2010 19:06
1.01 Bug fix: Rewrite of existing files redone to rewrite/truncate.

Example epg_upload.ini
ACL 3.16, 3PG 1.29, FastSkip
Panasonic TH-37PV71, Denon AVR-2307, Denon DVD-1730, Logitech Harmony 885, yaVDR 0.3

Geändert von cms (27.04.2010 um 22:01:58 Uhr).
cms ist offline   Mit Zitat antworten