Teletext EPG grabber

This EPG grabber allows to extract TV programme listings in XMLTV format from teletext pages as broadcast by most European TV networks. The grabber works by reading teletext pages via a TV card from all individual networks, then extracting programme title and starting times from programme tables (e.g. in Germany usually pages 301-304) and finally adding description texts from pages which are referenced in the overviews.

The grabber can be used stand-alone, but is best used as addition to the Nextview EPG grabber nxtvepg (version 2.8.0 or later), which can also be used to view the programme listings in the generated XMLTV files. The grabber is integrated into the nxtvepg acquisition control and can be activated via the configuration menus. The main intent of the combination is firstly to compensate for the recent loss of several Nextview EPG providers (such as German providers 3sat and RTL2) and secondly to add more description texts to the Nextview EPG. In teletext, many networks have good descriptions not only for movies, but especially also for weekly magazines, daily soaps or current events.

Since the grabber has to read each individual network's teletext stream and many networks use sub-pages at least for descriptions, the process unfortunately takes relatively long. For full EPG grabbing, at least 90 seconds per network are required. There's a fast scan mode which requires only 10-20 seconds per network in average, however in this mode overview and descriptions may be incomplete if sub-pages are used by the respective network.

For now, only nation-wide German networks are supported. For other networks the parser will need to be adapted to different page formats. That's because almost every network formats tables, dates, times and descriptions slightly differently, so that the parser will have trouble locating the EPG data among all the advertisements and other content in teletext.


This download is mainly inteded for users who want to use the grabber stand-alone, i.e. without nxtvepg. In this case you need the "libzvbi" library, see below.

This download can also be used to update the teletext grabber used by nxtvepg. To do so, unpack the archive and copy into the directory where you start nxtvepg, or on Linux, copy the file into directory /usr/share/nxtvepg/.

Latest Release: Version 2.0 from January 9th 2011

Under the hood the grabber has been completely rewritten in the C++ language instead of Perl. To the user this is a benefit only insofar as the grabber runs now slightly faster and Windows users no longer need to obtain a Perl interpreter.

Additionally, many minor updates, enhancements and fixes both in in overview and description page parsing were done. In essence, the quantity and quality of the XMLTV output has been improved.

Note using this grabber version in nxtvepg requires version 2.9.pre4 or later.


Note the grabber is no longer implemented in Perl, thus a compiler is required to compile, unless you can use one of the pre-compiled-packages below. Note the grabber requires the "libzvbi" library. For this reason, compilation on Windows is currently not supported (use an nxtvepg pre-release instead.)

Binary packages for Linux

These packages can be installed with "dpkg -i PACKAGE" on Debian, Ubuntu and all other platforms using the Debian package format.


When not used inside of nxtvepg, you'll also need the ZVBI library (a VBI, i.e. teletext data capturing library.)


The following is a usage example: First the channel is switched to network ARD using xawtv's tool v4lctl. The following command captures teletext for 1.5 minutes and then extracts EPG data from the captured pages into an XMLTV file. Finally the XMLTV file is loaded into nxtvepg for display.

  v4lctl -c /dev/vbi0 setstation ARD
  tv_grab_ttx -duration 90 -page 301-309 > ARD.xml
  nxtvepg ARD.xml

Note capturing from DVB devices requires option "-dvbpid". For additional options invoke tv_grab_ttx with command line option "-help".

Questions and feedback

Your feedback is always welcome. If you have specific questions, suggestions, bug reports or any other kind of feedback, please use the nxtvepg discussion forum or mail me directly to tomzo at


© Copyright 2006 - 2011 by Th. "Tom" Zoerner.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.

Content copyright: Please note that content providers do hold a copyright on the programme data which can be received by means of this software. The data is free for personal use, but you must not publically redistribute it (e.g. make it available on the Internet) without prior permission.