ttxtsubs - Teletext Subtitles plugin for VDR

Latest version: vdr-ttxtsubs-0.0.5.tgz

Release notes

2004-05-31: Version 0.0.5

- Note:
This version is intended for VDR 1.2.6. There is a patch for VDR 1.3.5
included. It may or may not work with later VDR versions. Also see
Rolf's patch in the contrib directory.

This may be the last version for VDR 1.2.x, as I hope to start turning
my attention to VDR 1.3.x now.

- New features:
  - Italian translation, thanks to Sean Carlos
  - French translation, thanks to Stéphane Esté-Gracias
  - German translation, thanks to Tobias Grimm
  - Another ElchiAIO fix, thanks to Rolf Ahrenberg
  - Added a "contrib" directory with a VDR 1.3.8 test patch from
    Rolf Ahrenberg
  - Added a TROUBLESHOOTING document because of reports from Germany
    that ttxtsubs doesn't work there. It seems that most German channels
    on the birds at 19.2E don't announce the subtitles in their Service
    Information. Please see the document for further info.

- Bugs fixed:
  - Corrected (again!) national charset selection bit swapping, there
    was a typo in the fix in 0.0.5pre1.

2004-03-02: Version 0.0.5pre2

- New features
  - Text colours can be set and row spacing can be adjusted.
    (The usual semitransparent "background" colour appearently
     doesn't work with the ElchiAIO patch, don't know why.)
    Thanks to Rolf Ahrenberg for the patch!
  - ttxtsubs menus can now be translated to different languages.
    Thanks to Rolf Ahrenberg for the patch!
    English, Finnish and Swedish now included, others are welcome!
- Bugs fixed:
  - Information for channels with no teletext at all is now cached
    too, making channel switches to such channels faster.

- Note:
  - The VDR 1.2.x patch "VDR.patch" is the same as in ttxtsubs 0.0.4b,
    and the 0.0.4 and 0.0.3d patch should work equally well - there is
    no need to repatch if you previously used any of those.

2004-03-01: Version 0.0.5pre1

- New features:
  - More than one language can be chosen, they are used in order of preference
  - Handles languages with two ISO 639-2 identifiers (as ger/deu, fre/fra)
  - Subtitles can now be turned on or off
  - Optional main menu alternative for easy access
  - Selectable vertical position of text for 4:3/Anamorphic or Letterbox 
  - Left, Center or Right horizontal position of text
  - Remapping option for those French channels that incorrectly
    sends teletext page numbers in decimal instead of hexadecimal.
    Very moderate remapping done at the moment, I hope it is enough.
  - Subtitles are now recorded with their PTS (timestamps). Not that
    the timestamps are completely wrong on some channels, this
    may confuse uncareful subtitle extracting software.
  - Included patch for VDR 1.3.5 - untested!
- Bugs fixed:
  - Fixed a net-to-host-order bug in the si parser that could make it
    incorrectly think that there are no subtitles on a channel.
    Thanks to Nicolas "tarass"!
  - Fixed a bit swapping bug causing incorrect character encoding for
    some languages. Thanks to Nicolas "tarass"!


This is a "plugin" for the Video Disk Recorder (VDR).

Written by:                  Ragnar Sundblad 

Project's homepage:

Latest version available at:

See the file COPYING for license information.


This plugin implements displaying, recording and replaying teletext
based subtitles using the on screen display.

Long Description:

The teletext decoder/displayer is currently very basic and limited. It
can't show colours and it doesn't take into account the editors
attempts to place the text on different places on the screen.

The DVB drivers from the Metzlers as of late February 2003 and
Convergence/ as of March 5 2003 have firmware fixes against
OSD problems. (Thanks a lot guys!) An upgrade to either of those is
strongly recommended. If the plugin is used with earlier firmware,
data may get lost when the OSD is updated possibly resulting in bad
video and audio, especially when recording or playing recordings.

Both the live displayer and the recorder finds subtitling PID and page
for the selected language, and optionally for the hearing impaired, by
scanning the DVB Service Information. You don't have to set up channel
Tpids. Though, if you have set a Sid it will be used to speed up
Service Information scanning. (Can't say it makes much of a
difference, though).

The recorder writes a filtered subset of the teletext data with only
the subtitle pages and an index page at page 100 (or subsequent page
if that page number is used for subtitling). The filtered stream is
written as a private_stream_1 with subtype 0x1f (the last teletext
subtype). An ordinary teletext PES stream recorded for example by
setting Dpid1 to a teletext PID will typically have a subtype of

The recording player scans the index page to find the selected
language. (If it can't find an index page it will use the page number
from the current channel. This may be removed in the future.) The
index page itself can't be viewed with this plugin.

If you can't select your language, look up its 3 letter acronym in
check the output from ttxtsubs, and enter the language code in your
VDR setup.conf at ttxtsubs.language. This will hopefully be easier in
a future release.

Consider this code alpha quality. The code could use some major
cleanup. The program design was from the beginning just not, as it
started as a test hack, and it has from then been incompletely
reworked a few times.


This plugin is for VDR 1.2.5. It currently needs a few hooks in, and
changes to, VDR to work. A patch file is included. The patches should
be harmless if you don't have the plugin loaded, so even if you patch
VDR and later decide not to use this plugin you don't necessarily have
to reinstall VDR. It is probably possible to build the plugin for
other version of VDR, but don't count on it.


As usual, unpack the plugin and make a link:
	cd ..../vdr-1.2.5/PLUGINS/src
	tar zxvf ..../vdr-ttxtsubs-0.0.4b.tgz
	ln -s ttxtsubs-0.0.4b ttxtsubs

Go back to your VDR directory and install the patches and the new files:
	cd ../../
	cp PLUGINS/src/ttxtsubs-0.0.4b/vdrttxtsubshooks.[ch] .
	patch -b < PLUGINS/src/ttxtsubs-0.0.4b/VDR.patch 

Rebuild VDR:
	make clean
	make include-dir
	make plugins

Now you should be able to start VDR with "-P ttxtsubs".