Skip to content

Reading teletext from VBI

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

No additional options are required for MPTS/SPTS transmission. The obtained teletext is automatically packed into an MPEG-TS stream.

To receive teletext, you need to add options to the SDI/HDMI card ingest settings. The options specify the teletext pages to be included in the PMT output:

  • ttxt_descriptors=page:lang:type[,page:lang:type]... — specifies the location and the data in the teletext track. The data is transmitted in the service information PMT of the MPEG-TS stream. By default, the value equals 0x100:rus:initial.

Example: 0x100:rus:initial,0x888:rus:subtitle

  • page — page number. The information about the pages is received from the stream provider.
  • 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 в EN 300 468 Digital Video Broadcasting (DVB). There are the following teletext page types in the PMT: initial, subtitle, additional, program_schedule, impaired.

  • (for Stream Labs SDI only) vbi_device=/dev/vbiN — the device /dev/vbi from which Flussonic ingests teletext data. For example: vbi_device=/dev/vbi0.

Flussonic automatically detects those teletext pages, the data from which should be marked as subtitles in PES.

Example. Reading teletext from a stream coming from a Stream Labs card:

stream example_stream {
    url 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;

Example. Reading teletext from a stream coming from a Decklink card:

stream example_stream {
    url decklink://0 ttxt_descriptors=0x100:rus:initial,0x888:rus:subtitle;

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, configure a stream (teletext_stream) with teletext track and specify the new value for the ttxt_descriptors option:

stream teletext_stream {
  url udp://example:1234 ttxt_descriptors=0x888:rus:impaired;