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:
- Decodes the received data.
- Reads the information about teletext from VBI.
- Compresses the data to be further transmitted over the Internet.
- 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¶
- In the Media > Streams tab, open the stream settings by clicking on the stream name.
- In the Input tab, open the ingest settings by clicking Options to the right of the source URL.
- Find the Teletext descriptors section and specify the teletext parameters, such as page, language, page type, and any extra parameters, if required.
-
To save the settings, click Save.
In the configuration file¶
- Open the
flussonic.conf
configuration file. -
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:ttxt_descriptors=page:lang:type[,page:lang:type]...
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 thepage
according to the following format:0x[teletext_magazine_number][teletext_page_number]
, whereteletext_magazine_number
is the magazine number in range of zero (0) to seven (7), andteletext_page_number
is the page number as a hexadecimal value in range of00
toFF
. 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 pagesubtitle
is the page with subtitlesimpaired
is the teletext subtitle page for hearing impaired people
Note
*Flussonic* doesn’t support `additional` and `program_schedule` pages. If you need them, please let us know at [support@flussonic.com](mailto:support@flussonic.com).
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:
- Configure a stream with teletext track.
- Specify the new value for the
ttxt_descriptors
option:
stream teletext_stream {
input udp://MULTICAST-IP:PORT ttxt_descriptors=0x888:rus:impaired;
}