zapping-vbi / zvbi

Vertical Blanking Interval (VBI) utilities
Other
6 stars 4 forks source link

libzvbi - VBI capture and decoding library

The zvbi/libzvbi repository was moved here from Sourceforge in September 2022 for current development. The Zapping TV viewer (and other projects from the Sourceforge) have also been archived in github.

Introduction

The vertical blanking interval (VBI) is an interval in an analog 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 ZVBI library provides functions to read from Linux V4L, V4L2 and FreeBSD BKTR raw VBI capture devices, from Linux DVB devices and from a VBI proxy to share V4L and V4L2 VBI devices between multiple applications.

It can demodulate raw to sliced VBI data in software, with support for a wide range of formats, has functions to decode several popular services including Teletext and Closed Caption, a Teletext cache with search function, various text export and rendering functions.

Basically ZVBI offers all functions needed by VBI applications except for the user interface. The library was written for the Zapping TV viewer.

For details on using the library see the documentation in doc/html (built only if you have Doxygen installed) and the files in the test and examples directories.

Download

See Releases and Tags for the latest version of zvbi and libzvbi. The first release on this repo is 0.2.36. Previous tagged releases can be found here.

Ileana Dumitrescu \ileanadumitrescu95@gmail.com\ maintains the Debian package.

Oliver Lehmann \oliver@FreeBSD.org\ maintains a FreeBSD port.

For RPMs please see the repository of your distribution.

Building and Installation

Obtain a local copy of this git repository by cloning:

git clone https://github.com/zapping-vbi/zvbi.git

This project uses GNU autotools. After cloning the repo, this command will create missing configuration files:

cd zvbi && ./autogen.sh

Next, to generate the Makefiles, run:

./configure

Optionally, running CONFIGURE=1 ./autogen.sh will run the configure script immediately after the autogen script with a single command.

After configuring, to compile and build, run:

make

If you want to run some tests, run:

make check

Then to install, run:

make install

The zvbi/libzvbi package produces the following binaries: