Welcome at the Zapping VBI library homepage
To quote Wikipedia: The vertical
blanking interval (VBI) is an interval in a television signal
that temporarily suspends transmission of the signal for the
electron gun to move back up to the first line of the
television screen to trace the next screen field.
The vertical blanking interval can be used to carry data,
since anything sent during the VBI would naturally not be
displayed; various test signals, closed captioning, and other
digital data can be sent during this time period.
The Zapping VBI library, in short ZVBI, provides functions
to capture and decode VBI data. It is written in plain ANSI C
with few dependencies on other tools and libraries, and
licensed under LGPL.
A Perl interface is also available, see the ZVBI page at CPAN.
Some features:
- Functions to capture raw VBI data from Linux V4L and
V4L2 devices (including bug work-arounds for some older
drivers) and the FreeBSD BKTR driver, sliced VBI data from
Linux DVB devices
- A VBI Proxy to share one
V4L or V4L2 device between multiple applications
- Functions to demodulate raw into sliced VBI data, with
support for a wide range of data services such as Closed Caption
(NTSC and PAL), Teletext, VPS, WSS, XDS
- Functions to multiplex and demultiplex DVB VBI PES and TS
streams
- A Level 3.5 Teletext decoder with support for all Teletext
character sets, graphics, 4096 colors, TOP/FLOF navigation,
a built-in page cache with search functions
- A Closed Caption decoder which supports roll-up, pop-up and
paint-on style caption, color, all character set, text
attributes and free text placement
- Functions to render Teletext and CC pages, export to HTML,
PNG and other formats
- Functions to determine network names from VBI data
- Functions to find Teletext subtitle and program schedule pages
- Functions to extract data transmissions in Teletext
streams (currently Page Format Clear and Independent Data
Line Format A)
Upcoming features include
- Support for V4L2 sliced VBI devices
- Multi-station Teletext page cache
- Teletext and CC caption/subtitle recording in formats
like MPSub, QuickTime Text, SAMI or SubViewer, with color,
styles and position preserved as far as possible
- Support for DTVCC (EIA 708-B)
- Time of day from Teletext and XDS
- VCR programming from Teletext
- VPS/PDC decoder
The ZVBI source tarball contains example programs and various
tools to visualize captured raw and sliced VBI data and to analyze
the received VBI data, which are highly useful to debug drivers and
applications. Command line tools to cut and filter Teletext streams
for subtitle recording, to save Teletext pages, and to record legacy
NTSC caption (EIA/CEA 608-B) and DTVCC (CEA 708-C) from analog and
ATSC digital TV cards also included.