About the Nextview EPG service
The nxtvepg software package is a decoder for nexTView - an Electronic TV Programme Guide for the analog domain. It enables you to receive and browse free TV programme listings for all of the major networks in Germany, Austria, France and Switzerland.
The nexTView EPG standard was developed by the major European consumer electronics manufacturers under the hood of the European Telecommunications Standards Institute (ETSI) in 1995-1997 with the aim to offer an "electronic TV magazine" inside their analog TV sets. The transmission protocol is based on teletext, however using a compact binary format instead of pre-formatted text pages. The advantage compared to paper-based TV magazines is that you have an immediate overview what's running Now & Next, plus you can search through the programme database by many different filter categories.
Now the nxtvepg software enables you to use nexTView EPG with your PC too, and adds a lot of features that would not be possible to implement inside a TV set. The only preconditions are (a) that you have a TV tuner card for TV reception inside your PC and (b) that you receive one of the nexTView EPG content provider's TV channels. Note you also can receive Nextview EPG through digital transmissions, if your equipment is capable of teletext output. See system requirements for details.
Currently nexTView EPG is transmitted by the following TV stations:
- in Germany and Austria: Kabel1 (coverage: apx. 32 networks)
- in Switzerland: SF1, TSR1, TSI1, TV5 (coverage: apx. 37 networks)
- in France: Canal+, M6, TV5 (coverage: 8 networks)
- in Belgium: M6, TV5 (coverage: 32 networks)
- in Turkey: TRT family (coverage: 17 networks)
For more details see the provider table. If you don't receive any of these, you can still use this software to browser XMLTV files (nxtvepg version 2.8.0 or later). For detailed information please refer to the nxtvepg manual page.
Behind the scenes: How does it work?
Nextview EPG data is transmitted on a regular teletext page which is inserted into the teletext page sequence about every second. The number of this page usually is "1DF" or "2DF" for Canal+. As you can see there's non-decimal digits in the page number. This is possible because the teletext standard allows digits in the range 0 to 15 (hexadecimal). Written decimally the page number 1DF would read: 1,13,15. Such page numbers are often used for non-human-readable content (i.e. pages with internal control data)
Nextview EPG data is transmitted in cycles: The complete content repeats every 20-25 minutes (expired programmes are removed though). The cycles are split into several so-called streams which are interwoven. Stream 1 contains near data and is shorter; in the time of the complete cycle it will be repeated several times. The second stream contains the rest and is repeated only once every 20-25 minutes. This split makes it possible to load the near overview in a short time; only if you want the complete overview you have to wait for the complete cycle.
Note most current providers split the near cycle again into "now" and "near" parts, where "now" covers only the next 2-5 programmes on each channel and usually loads in less than 1.5 minutes. You can observe the loading progress by opening the Acquisition Timescales in the control menu in nxtvepg.
The data on the Nextview EPG page is encoded in a very compact binary format, except for text (i.e. programme titles and descriptions) which is transmitted in plain. Hence if you would manage to point your teletext reader to this page (possible with some computer software, e.g. alevt on Linux) you'd see a lot of funny characters with some text in-between. The binary parts are control data, such as start times and length, network code, theme codes etc.
Control data (for example start times, network codes, theme codes etc.) is encoded with a so-called "Hamming 8:4" forward error correction, which means up to two bit errors per octet can be detected and single bit errors can be corrected. Hence data is protected quite well, but if an error is detected the complete block (i.e. programme database entry) has to be dropped. Since a rather large inventory block (with the network table) has to be loaded at the start of acquisition, it can take long until you get incoming blocks if your reception is bad.
Text data is only lightly protected by parity (same as text on regular teletext pages), so you'll see occasional missing characters or even typos. Generally errors in texts are ignored, although when a block is received repeatedly copies with text errors (if detected) are replaced with copies with less errors. Hence if acquisition is running long enough the number of errors in texts is reduced (note this is only relevant if your teletext reception is bad.)
If you're interested in more details, you can download specifications for Nextview EPG (ETS 300 707) and the data stream (ETS 300 708) for free from etsi.org. The latter one is a bit harder to read, but at least the Nextview EPG spec contains a few introductionary chapters which should be easy to comprehend.
DVB natively supports an EPG which is completely unrelated to Nextview EPG. A major difference between those two is that DVB EPG is provided by the respective networks themselves and covers at most several related networks (i.e. channels in the same bouquet), while Nextview EPG is provided network independently and usually covers all national networks in a country.
nxtvepg ist not capable of decoding these "digital" EPGs. It may however be possible to receive Nextview EPG even if you're using digital TV reception. As explained above, Nextview EPG is transmitted as part of the teletext data stream. Most networks also encode teletext in their digital broadcast, hence Nextview EPG is included, too.
Pre-condition to receive Nextview EPG if you're using an external set-top box is its capability to provide teletext output (so-called VBI Insertion) or, if you have an internal SAT TV card, a Linux driver which supports the video4linux VBI API (i.e. if other VBI applications like alevt work too.) Internal SAT cards are not supported by the Windows port of nxtvepg.