VBI recorder - TV application interaction debugging tool

This is the manual page for the VBI recorder which is part of the nxtvepg software package.


vbirec - TV application interaction monitor and EPG recorder


vbirec [ options ]


vbirec is a tool that helps in debugging TV application's interaction with nxtvepg. vbirec takes the place of nxtvepg in the communication. It monitors the shared memory which is used for communication with the TV app. and displays all TV app controlled values in it's main window.


Summary of command line options (it's a sub-set of the options supported by nxtvepg):

-geometry geometry

Specifies the position of the main window, e.g. -geometry -0+0 to put the main window in the upper right corner of the visible screen. The size of the window cannot be changed.


Start with the main window iconified (i.e. minimized).

-card index

UNIX only: Specify which tuner card to use, if you have more than one, for details see nxtvepg manual. Note this option is not supported on Windows because there the TV application is forwarding teletext data; on UNIX vbirec and nxtvepg are accessing the driver directly.


List all available command line options.


The following shared memory elements are displayed and updated every 500 millyseconds:

TTX pkg count

The total number of teletext packets the TV app. has received since the last channel change.

TTX pkg per frame avg.

A running average of the number of VBI lines containing teletext packets per video frame.

VPS lines count

The total number of VPS lines the TV app. has received since the last channel change. For networks that transmit VPS there should be one VPS line in each frame.

EPG page count

The number or EPG pages since the last channel change, i.e. the number of teletext packets with packet address zero on the designated EPG teletext page.

EPG packet count

The total number or teletext packets on the designated EPG teletext page since the last channel change.


The last received and confirmed VPS network and program identifiers. VPS is only used by German, Austrian and Swiss networks.


The last received and confirmed PDC (teletext packet 8/30/2) network and program identifiers. If the network transmits only a network identifier value of zero, but does include a status display text (which usually contains channel name and sometimes also the title of the current programme) it's displayed here instead. VPS is mainly used by British and French networks.

Packet 8/30/1

The last received and confirmed packet 8/30/1 network identifier. If the network transmits only a network identifier value of zero but does include a status display text it's displayed here instead.

EPG teletext page no

The teletext page number on which EPG is tranmitted according to the provider. Note: the default page is 0x1DF; other page numbers can be specified in the teletext magazine inventory page of each magazine.

Teletext header

The text part of the last received teletext packet with address 0. Usually the text contains the teletext page number, network name, clock and date. This element is provided here mainly to allow detecting which TV network was tuned by the TV application.

Network by VPS/PDC/NI

A human readable network identification derived from the VPS, PDC or P8/30/2 CNI codes (in this order, if several alternatives are available).


The following shared memory elements are displayed and updated whenever updates are signalled by the TV application:

TV app. channel name

The TV application's station name for the currently tuned channel. This element should be updated after ever channel change.

TV app. channel CNI

The TV application's numerical network identifier for the currenlty tuned channel. If unavailable it should be set to zero.

TV app. input source

The TV application's current video input source (0=TV tuner, 1=composite, 2=S-Video or Composite #2).

TV app. tuner freq.

The current TV tuner frequency from which VBI data is forwarded. This value must be updated after every channel change.

TV app. grants tuner

Boolean flag that indicates if the TV application currently honors the EPG application's input source and tuner frequency requests. The TV application should grant the tuner when video capturing is disabled of the TV window minimized or completely obscured by other windows.


The following dialog section allows to send requests to a connected TV application.

Send EPG Information to OSD

You can enter a programme title, start time, duration and date offset which is sent to the TV app when you press the Send button. The TV app should display the data on-screen (OSD) When you don't enter a time and date, vbirec invents start and stop times by itself: start is the last full hour, duration 60 minutes.

Send TV Control Command

You can enter a command and press Send to pass it to the TV app. Command arguments are separated by blanks (there's currently no way to escape possible blanks inside command arguments)

Which commands are supported depends on the TV application. At minimum they should support command ``setstation'' with a network name as argument. A list of commands which are used by nxtvepg is available in the drop-down menu below the command entry field.


Packets received on the designated EPG teletext page can be stored into a file for later playback by vbiplay. The intended use is to allow me debugging decoding errors, e.g. for providers that I cannot receive at my location.

The name of the output file is specified by the entry field at the bottom of the window. The file is created as soon as recording is enabled by checking the Enable teletext recorder button.



Default output file name for recorded teletext packets.


This hidden file is used to set up shared memory to allow information exchange between vbirec and an attached TV application. It's automatically removed when vbirec terminates and should never be accessed (i.e. being written to or removed) by external applications.


See also the manuals for nxtvepg, tvsim and vbiplay.


Th. ``Tom'' Zoerner, Nuremberg, Germany.

Email: tomzo (at) users (dot) sourceforge (dot) net


Copyright (C) 2002,2004,2005 by Th. 'Tom' Zoerner. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 2 as published by the Free Software Foundation, e.g. at http://www.fsf.org/

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. See the file COPYRIGHT for more details.