From VDR Wiki
Jump to navigation Jump to search



This plugin parses the Extended (2 to 10 day) EPG data which is send by providers on their portal channels. This EEPG data is transmitted in a non-standard format on a non-standard PID.


Last Update 01/2013

Formats supported

Currently the following EEPG formats are supported:

  • Mediahighway 1 (CanaalDigitaalNL, CSat, Cyfra+)
  • Mediahighway 2 (Digital+)
  • Sky Italy
  • Sky UK
  • Freesat
  • Premiere
  • NagraGuide (CanaalDigitaalNL, still in beta)


Unpack, make and make plugins like any other plugin. Call like any other On the first run, in the vdr-plugins directory a subdirectory eepg is created where all necessary files are created. One can define equivalent channels in the eepg.equiv file to "copy" EEPG data to other channels. E.g., CanaalDigitaalNL still sends Dorcel EEPG data on S19.2E, which can be used for Dorcel on S13.0E. Some sample eepg.equiv files are included.


The plugin has no mainmenu entry, and only a few settings for Premiere. When one of VDR's devices is tuned to a transponder (by tuning, a recording or an EPG scan triggered by VDR), the plugin scans all channels on the transponder for one of the supported EEPG formats. When one of the supported formats is detected, all available EEPG data is loaded into the schedule of VDR. Additionally, the EEPG data is loaded into additional channels if they are specified in the eepg.equiv file (not for Premiere or Freesat). Everything is done automatically and transparently, all is done concurrently with recordings and live viewings. Freesat and Premiere are loading their EEPG info continuously.

The plugin is designed to use as less recources as possible: it only uses 1 Pid (especially important to users of FF cards, which have a max. of 32 Pids), and allocates and frees memory according to its needs.

If one needs to reload EEPG data periodically, it is sufficient to create a cron job which tunes to the proper channel through the SVDRP interface. In practice, viewing and tuning to your favourite channels reloads the EEPG data daily, which is often enough since EEPG data is valid for 2 - 10 days.

New, unknown EEPG transponders will be detected automatically (MHW1, MHW2, Freesat) or have to be added (Sky uses different huffman decoding tables for every country).

Currently known transponders that send EEPG data:

  • Sky Italia S13.0E:11881V (OpenTV)
  • Sky UK S28.2E:11778V (OpenTV)
  • Cyfra+ S13.0E:10719V (Mediahighway 1)
  • CSat S19.2E:12363V (Mediahighway 1)
  • Canal DigitaalNL S19.2E:12515H (Mediahighway 1, NagraGuide)
  • Digital+ S19.2E:10847V (Mediahighway 2)
  • Premiere Sport Portal, Premiere Direkt Portal
  • Freesat all freesat channels

Please note that the NagraGuide broadcasts of Canal DigitaalNL are stil in betatest; therefore its information is not always reliable. It seems that sometimes, when no summaries are available for certain titles, random summaries are chosen by the broadcaster. This could, of course, also be a bug, since the protocol of NagraGuide is not published. It can be further investigated only when NagraGuide is taken into production, and certified receivers will be able to decode Nagra... in the mean time YOU can already enjoy the 7-day EEPG schedule! The unreliability of Nagra is compensated by having Mediahighway 1 overwrite Nagra-events it detects.


Release 0.0.2a:

  • fixed problem in NagraGuide, where month of title could get random value

Release 0.0.2:

  • decoded and added NagraGuide
  • tested daylight savings functionality for SKY_UK
  • added daylight savings fucntionality for MHW1 and NAGRA
  • added possiblity to scan more eepg-streams on same transponder (like CanaalDigitaalNL, both MHW1 and Nagra)
  • disabled scan after 1 hour idle time; this was unused functionality, since a) most updates are once/24 hour, and b) most of the time zapping is done within 1 hour
  • added lookup for eventid, so existing events will be updated instead of added. This means less use for the DD_EPG patch, because double EPG entries will be minimized.
  • fixed compile problem when using NO_EPG patch
  • added hexdump routine for debugging
  • improved use of TableId's, so now the plugin can decide whether to overwrite or to preserve the existing EPG data
  • improved several routines, less memory use, less cpu use.

Release 0.0.1: First release.


This code is based on:

  • Premiere plugin (C) 2005-2007 Stefan Huelswitt
  • mhwepg program (C) 2002, 2003 Jean-Claude Repetto
  • LoadEpg plugin written by Luca De Pieri
  • Freesat patch written by dom /at/

We wish to thank all authors for the great work they have been doing, decoding this EEPG data; this plugin tries to combine the best of all worlds. Specific improvement has been done on Mediahigway 1 protocol: all software known tries to combine titles and summaries on the basis of the event-id, but several channels can use the same event-id at the same time. This leads in practice to 20-25% erroneous summaries. The plugin uses the same technique as more simple satellite receivers, which take into account the order in which titles and summaries are sent. This leads to 99-100% accuracy. Also, the "number of replays" technique for CSAT is implemented correctly; not all software supported this information, which leads to loss of 80-90% of the EEPG information.

Known bugs

  • Equivalents file is not used for Freesat, Premiere.
  • On Sky Italy and Sky UK, a lot of "summaries not found" are reported. This is because it is not (yet) known where the "summary available" flag is coded in the OpenTV protocol used, so all titles are assumed to have a summary available.

Current Version



  1. Plugins Homepage