Skip to content

Reading teletext from VBI

Flussonic allows reading EBU Teletext and subtitles (EBU Teletext subtitle data) from VBI (Vertical Blanking Interval) in source streams received from an SDI card. Flussonic then retransmits them to MPTS or SPTS output.

VBI is a gap in the sequence of lines which is used in analog television. During VBI no picture information is transmitted, allowing some time while the electron beam of a cathode ray tube TV returns to the top of the screen. VBI field is not visible, but it contains the information necessary for picture synchronization. Besides that, it may contain such information as teletext or closed captions.

When receiving video from an SDI card, Flussonic:

  1. Decodes the received data.
  2. Reads the information about teletext from VBI.
  3. Compresses the data to be further transmitted over the Internet.
  4. Packages the stream with the teletext data into an MPEG-TS stream.

Enable teletext reading

Flussonic allows to describe teletext information in the PMT (Program Map Table) of the resulting MPEG-TS stream in two ways:

If you use Stream Labs capture cards to receive teletext, specify the vbi_device=/dev/vbiN. /dev/vbi is the device from which Flussonic ingests the teletext data. For example, vbi_device=/dev/vbi0.

In the Flussonic UI

  1. In the Media > Streams tab, open the stream settings by clicking on the stream name.
  2. In the Input tab, open the ingest settings by clicking Options to the right of the source URL.
  3. Find the Teletext descriptors section and specify the teletext parameters, such as page, language, page type, and any extra parameters, if required.
  4. To save the settings, click Save.

    Teletext descriptors UI

In the configuration file

  1. Open the flussonic.conf configuration file.
  2. In the stream settings, specify the ttxt_descriptors option with the teletext parameters, such as page, language, page type, and any extra parameters, if required:


The ttxt_descriptors option specifies the location and the data in the teletext track. The data is transmitted in the service information PMT of the MPEG-TS stream. The ttxt_descriptors default value is 0x100:rus:initial.

Example: ttxt_descriptors=0x100:rus:initial,0x888:rus:subtitle.

Flussonic automatically detects the teletext pages, the data from which has to be marked as subtitles in PMT.

Teletext parameters

The ttxt_descriptors require the following parameters:

  • page — page number. The information about the pages is received from the stream provider. Specify the page according to the following format: 0x[teletext_magazine_number][teletext_page_number], where teletext_magazine_number is the magazine number in range of zero (0) to seven (7), and teletext_page_number is the page number as a hexadecimal value in range of 00 to FF. For example, 0x288 represents page 88 of the second (2) magazine.
  • lang — the language of teletext. Specified according to the ISO 639-2 standard.
  • type — teletext page type defined according to the Specification for Service Information (SI) in DVB systems, 6.2.32 Teletext descriptor in EN 300 468 Digital Video Broadcasting (DVB). The allowed values are:

    • initial is the initial teletext page
    • subtitle is the page with subtitles
    • impaired is the teletext subtitle page for hearing impaired people


*Flussonic* doesn’t support `additional` and `program_schedule` pages. If you need them, please let us know at [](

Configuration examples for reading teletext from different sources

See the following configuration examples for Flussonic Media Server to read teletext from different sources:

  • From a Streamlabs card:
stream example_stream {
    input v4l2:// audio_device=plughw:1,0 ttxt_descriptors=0x100:rus:initial,0x888:rus:subtitle vbi_debug=true vbi_device=/dev/vbi0 video_device=/dev/video0;
  • From a Decklink card:
stream example_stream {
    input decklink://0 pixel=10 ttxt_descriptors=0x100:rus:initial,0x888:rus:subtitle;
  • From a Decklink card with NVENC transcoding:
stream example-stream {
  input decklink://2 pixel=10 ttxt_descriptors=0x100:rus:initial,0x888:rus:subtitle;
  transcoder deviceid=0 external=false hw=nvenc vb=5000k vcodec=h264 open_gop=false preset=veryfast size=3840x2160:fit:#000000 ab=128k split_channels=false;

Flussonic reads the teletext from an MPEG-TS stream by default. If you need to overwrite the teletext descriptor values, you can use the ttxt_descriptors stream parameter for this. Flussonic then pushes them in the MPEG-TS stream output.

To overwrite the teletext descriptor values, follow these steps:

  1. Configure a stream with teletext track.
  2. Specify the new value for the ttxt_descriptors option:
stream teletext_stream {
  input udp://MULTICAST-IP:PORT ttxt_descriptors=0x888:rus:impaired;