Using live transcription in FAB Subtitler BCAST

This page contains information on how to use live transcription functionality for transmission of live subtitles with FAB Subtitler BCAST.

You will find information on how to configure live transcription in FAB Subtitler on a separate page

You will find information on how to use Live Transcription in FAB Subtitler LIVE on a separate page

FAB Subtitler also supports transcription of video/audio files that is described on a separate page

Introduction to live transcription

FAB Subtitler BCAST can receive live video/audio over SDI or IP. When live transcription is activated FAB Subtitler sends live audio to the cloud transcription service and receives the recognized text with a few seconds delay and then transmits the recognized text as subtitles. Subtitles can be transmitted in block mode as complete subtitle or in word by word mode to reduce the delay for the viewer.

Live transcription in FAB Subtitler BCAST can be activated by using the FAB Automation Protocol over TCP or serial port and also using the HTTP REST API.

Supported audio sources

  • For SDI Decklink Mini Recorder or any other Decklink card with SDI input can be used.
  • USB microphone or any other sound input supported by Windows can be used.
  • Dante virtual sound card.
  • IP source supported by FAB Subtitler (UDP/RTP TS stream).

Configuration of FAB Subitler BCAST

FAB Subtitler can transfer live audio received over SDI video or IP video to the live transcription service and transmit live subtitles with texts that are recognized by the live transcription service.

To be able to use this functionality it is first necessary to configure how FAB Subtitler will receive live video/audio. Find out how on this page.

To configure the live transcription service provider in FAB Subtitler please consult this page.

The “Live text formatting” configuration page in FAB Subtitler Options allows you to define how the text received from the live transcription service will be converted to subtitles:

  • Send mode:

    • By blocks: A subtitle will be transmitted as a complete subtitle and text will never be added to the subtitle that is already displayed.
    • Word by word: New words will be added to the subtitle when they are received from transcription.
    • Word by word with scroll: Same as “Word by word” but lines will be scrolled.
  • Number of subtitle lines: Defines how many lines of text shall be used in the subtitle.

  • Use number of rows specified in incoming data if available: When text is provided as esub-xf data the number of rows as defined in esub-xf data will be respected.

  • Reading speed (characters/sec): will be used to calculate the display time of a subtitle.

  • Send incomplete subtitles after (ms): defines how long FAB Subtitler will wait to receive enough text to fill a complete subtitle before sending the subtitle with the text that as received until that moment.

  • Delay deletion of last subtitle, clear after (ms): when a subtitle is displayed and no more text is received the deletion of this subtitle will be delayed by the specified value

  • Minimum subtitle duration (ms): a subtitle will never be displayed for less time than specified here

  • Default font size for teletext: Choose between double and single height for teletext subtitles

  • Default text justification: defines whether the subtitle should be left or right justified or centered

  • Use text justification specified in incoming data if available: When text is provided as esub-xf data the text justification as defined in esub-xf data will be respected.

  • Default vertical position: defines whether the subtitle should be display on the bottom or on the top of the screen

  • Use vertical position specified in incoming data if available: When text is provided as esub-xf data the vertical position as defined in esub-xf data will be respected.

  • Apply vertical offset to top and bottom justified subtitles: Defines how many lines should be used to apply a vertical offset

  • Define number of characters in a row: define the maximum number of characters in one subtitle line

Remote Desktop and Live Transcription

When connecting over Remote Desktop to a computer which runs live transcription please be careful. Remote Desktop sessions disable all Windows input devices after establishing a remote desktop connection in case that “Play audio on remote computer” is NOT selected. Make sure to select it before establishing a Remote Desktop connection:

Activating live transcription manually

Live transcription has to be activated and deactivated manually in FAB Subtitler BCAST by using the popup menu button:

Activating live transcription from Automation/Playout

There are two ways how live transcription can be activated:

  • By configuring FAB Subtitler BCAST to activate live transcription when the internal ID is changed to one of the configured IDs as defined in Options/Special/Automation. In such case any automation protocol can activate live transcription even if the protocol does not support special commands for live transcription.

  • By using FAB Automation Protocol commands as described below. In such case it is necessary to enable FAB Automation Protocol in Options/Special/Automation. These commands do not necessarily have to be sent by the playout system. Any system can send these commands because they can be sent via simple HTTP GET requests (RESTful API).

  • To be able to use FAB Automation Protocol over RESTful API as described in examples below it is necessary to enable the web server in Options/Special/Webserver

  • Please consult the manual of FAB Subtitler BCAST/XCD for exact description of all commands available within FAB Automation Protocol

The following commands can be used:

  • START live transcription

HTTP GET http://ip:port/automationsystem/COMMAND=STARTFILE;FILENAME=ID001;DATA=TC:10:00:00:00,SOURCE:TRANSCRIPTION

It is necessary to specify the ID of the program and starting timecode. This will enable FAB Subtitler BCAST/XCD to store all transmitted subtitles in a subtitle file with correct timecode. The filename will include the FILENAME specified within above command. The “Transmission log” which instructs FAB Subtitler BCAST/XCD to store all transmitted subtitles can be enabled in Options/Special/Transmission log.

  • STOP live transcription

HTTP GET http://ip:port/automationsystem/COMMAND=STOPFILE;SOURCE:ALL

Above command instructs FAB Subtitler BCAST that all subtitles for ID001 have been transmitted and no more subtitles will be transmitted. FAB Subtitler BCAST will store all transmitted subtitles into the transmission log file at this time.

  • PAUSE live transcription (silent/muted audio will be sent to live transcription service without interrupting the connection, without stopping the timecode and without stopping the recording of transmitted subtitles, the transmission remains active and the FILENAME sent in STARTFILE is not reset)

HTTP GET http://ip:port/automationsystem/COMMAND=PAUSETRANSCRIPTION

  • RESUME live transcription (stop sending silent/muted audio after PAUSE)

HTTP GET http://ip:port/automationsystem/COMMAND=RESUMETRANSCRIPTION

  • Start transmission of subtitles from a subtitle file:

HTTP GET http://ip:port/automationsystem/COMMAND=STARTFILE;FILENAME=ID002;DATA=TC:00:00:00:00,SOURCE:FILE

Above command instructs FAB Subtitler BCAST to change the internal ID to ID001 and the timecode in the BCAST is set to TC=10:00:00:00. All transmitted subtitles are stored in memory so that they can be stored in a subtitle file at the end of transmission of the ID001 if BCAST has been configured to use the “Transmission Log” (see below). The transmission log subtitle file is written after receiving the STOPFILE command or after reciving a STARTFILE command with a different FILENAME (ID).

Transmission log

If FAB Subtitler BCAST has been configured to save a subtitle file at the end of transmission (Transmission Log) then all subtitles for ID001 will be stored in a subtitle file with a name “PCNAME-DATE-TIME-FILENAME” e.g. “PCNAME-2022-11-15-12-39-29-ID001.stl” in the configured folder (i.e. “\server\share\transmissionlog\channel1”).

To configure FAB Subtitler BCAST to use “Transmission Log” please configure the following in Options:

Providing transcribed text to FAB Subtitler BCAST over REST API

3rd party live transcription systems can provide transcribed text to FAB Subtitler BCAST over REST API. The description of required configuration and REST API is available here

This page was last updated on 2024-02-14