Projekt infosat2vdr

From JoBaPedia
Jump to navigation Jump to search

infosat2vdr

This project aims to make fully automatic epg updates for vdr via the infosat datastream.

Status

pre alpha

if you want to help, see the open topics below

Source

Mercury repository

Why another epg source?

vdr uses the epg that every channel sends along with the video and audio stream. Unfortunately, the quality is lacking. Some channels do not send epg at all, some only now/next, others do not categorize, send incomplete descriptions or no subtitles or no episode numbers. Infosat in most cases provides better data for german channels. I want to use that data as much as possible, while retaining the channels own epg where necessary.

Problems

  • Get the infosat data
  • Merge the infosat data with channels own data

Architecture

In the end this should be a vdr plugin, that operates automatically when loaded. Since a longterm plan is to do this for the dreambox as well, the functionality should be handled by a library, which the vdr specific plugin part or the commandline driven test application merely uses. This way porting to dreambox should be as easy as writing an enigma epg wrapper. We'll see... Another long term plan is, to use other epg sources (e.g. xml files from the internet), so the merging part should be modular as well. Last but not least: import and export of epg data should be modular, too. It should be possible to read epg data via vdr socket, read the vdr's epg.data file, read enigma's epg data (how?) read it from infosat, xml or an sql database. Export should be possible in various formats as well. As soon as the epg data is read from more than one source, it should be possible, to define priorities. Each import module should implement some parsing, to provide subtitles, episode numbers, actors, ... The merging should be based on those fields. I want to be able to use episode title from one source and subtitle from another. For each column, I want to be able to specify different priorities for the data sources (in case both sources provide the same level: concatenate them)

Open topics

  • Manage streams and files with glibmm
  • Manage sockets for glibmm streams
  • Implement commandline parsing with glibmm options
  • provide wrapper for buggy infosatepg executable (or better yet: reimplement it as a lib - lower prio)