Text capture: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 9: Line 9:
ntsc-cc -d /dev/vbi -c -w -r 27
ntsc-cc -d /dev/vbi -c -w -r 27


bttv and saa7134 cards show orderly signals, while cx88 shows just noise.
At least bttv and saa7134 cards show orderly signals, though ntsc-cc currently doesn't work on non-bttv cards.





Revision as of 18:02, 23 April 2005

Teletext is popular in Europe and provides both informational pages and captions or subtitles to television programs. In 1992, teletext was provided in 18 countries. In the PAL standard, the text is digitally encoded in the vertical blanking interval (vbi) on lines 17 through 20.

In North America, closed captioning uses line 21 of the vertical blanking interval (NTSC standard). US federal law requires closed captioning of all non-exampt programs starting in 2006. Some broadcasters are implementing XDS, or Extended Data Services.

TV capture chipsets implement teletext and closed captioning in different ways, and the free software code to support text capture is still missing or incomplete for some chipsets.

To visualize the Vertical Blanking Interval on NTSC, issue

ntsc-cc -d /dev/vbi -c -w -r 27

At least bttv and saa7134 cards show orderly signals, though ntsc-cc currently doesn't work on non-bttv cards.


Applications

  • alevtv
  • gstreamer
  • ntsc-cc
  • tvtime
  • zapzilla
  • zvbi


gstreamer

The application gstreamer has incorporated support for closed captioning (they also mention some tweaks for Canadian English and French television); see Freedesktop's repository.

ntsc-cc

The application ntsc-cc handles closed captioning on bttv devices. For ntsc-cc to work, you typically need to be running an application for viewing or recording television, such as xawtv and mencoder. If no such application is running, ntsc-cc tends to produce garbled output.

tvtime

tvtime has built-in support for closed captioning for bttv and saa7134 cards (also others?).

In early 2004, Kevin Ko wrote a patch with useful comments to tvtime's vbidata.c; see his detailed account and the tvtime bugreport.

zapzilla

Zapping has a built-in teletext viewer called Zapzilla.

In addition, Zapping provides subtitle overlay through the closed captioning decoder built into libzvbi.

zvbi

"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 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 http://zapping.sourceforge.net."

From the zvbi README, copyright Michael H. Schimek, Iñaki García Etxebarria, and Tom Zoerner. For further information, see the zvbi documentation, the zvbi wiki, and the zapping-misc mailing list.

There are utilities for testing in the tarball; cf. cvs.


Unsupported cards

There is currently no code supporting closed captioning on cx88 cards.