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.

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

To configure FAB Subtitler BCAST to allow control over FAB Automation protocol over TCP or REST API configure this here:

The description of FAB Automation Protocol is available in the manual of FAB Subtitler BCAST which is included in the file when downloading FAB Subtitler BCAST from FAB Web Access.

Using live transcription

Live transcription has to be activated and deactivated in FAB Subtitler BCAST. This can be done using one of the following ways:

  • Manually using the popup menu button

  • Using the “STARTTRANSCRIPTION” and “STOPTRANSCRIPTION” commands in FAB Automation Protocol over TCP or HTTP REST API

  • Using the HTTP REST API by sending HTTP GET /livetranscription/start and HTTP GET /livetranscription/stop

There are also two configuration settings in FAB Subtitler Options which can be used so that live transcription is activated automatically by FAB Subtitler BCAST:

  • Activate live transcription on following automation IDs: When activated then FAB Subtitler will activate live transcription automatically when the playout system sends an automation ID to FAB Subtitler which is listed in this setting

  • Activate live transcription when subtitle source is not ALL and includes transcription: FAB Subtitler will activate live transcription automatically when the subtitle TRANSCRIPTION is included in the subtitle source and the subtitle source is not ALL. The playout system can define the subtitle source when using the command STARTFILE or SETSOURCE in FAB Automation Protocol.

After activating live transcription FAB Subtitler will send live audio to the live transcription service over IP and wait to receive the recognized text. Then FAB Subtitler will convert recognized text to subtitles and transmit them.

Providing live transcription text through REST API

When using a live transcription service which is not directly supported by FAB Subtitler you can use the REST API to provide the text from live transcription to FAB Subtitler BCAST which will convert it to subtitles and transmit it.

In this case you will have to configure this correctly in Options:

The following REST API calls can be used:

  • To start the live transcription (this is necessary before any text can be sent to FAB Subtitler BCAST):
HTTP GET ip:port/livetranscription/start 
  • To stop the live transcription (this is necessary at the end of the transmission):
HTTP GET ip:port/livetranscription/stop
  • To provide text from live transcription:
HTTP GET ip:port/livetranscription/send?text=This is recognized text from live transcription.