Flussonic Media Server Documentation

Contents

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 output MPTS or SPTS.

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

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

  • ttxt_descriptors=page:lng:type[,page:lng:type]... — specifies the data that will be contained in the track's teletext options. This data is transmitted in the service information table PMT of the MPEG-TS stream. By default, 0x100:rus:initial.

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

    • page — page number. You'll need to get information about the pages from the stream provider.
    • lng — the language of teletext according to the ISO 639-2 standard.
    • type — according to 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 table PMT: initial, subtitle, additional, program_schedule, impaired.
  • (for Stream Labs SDI only) vbi_device=/dev/vbiN — the device /dev/vbi from which Flussonic will ingest 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;
}