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
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.
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:
Controlling Live Transcription over IP from Automation/Playout
FAB Subtitler BCAST has to receive commands to start and stop live transcription. The following commands must be sent to FAB Subtitler BCAST over IP (TCP or HTTP REST). The description of the commands is available in the FAB Subtitler BCAST manual.
COMMAND=STARTFILE;FILENAME=ID00;DATA=TC:10:00:00:00
COMMAND=STARTTRANSCRIPTION
COMMAND=STOPTRANSCRIPTION
COMMAND=STOPFILE
or
COMMAND=STARTFILE;FILENAME=ID002;DATA=TC:00:00:00:00
Detailed explanation (commands should be sent in this order):
COMMAND=STARTFILE;FILENAME=ID001;DATA=TC:10:00:00:00
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).
COMMAND=STARTTRANSCRIPTION
starts LIVE transcription in the BCAST
COMMAND=STOPTRANSCRIPTION
stops LIVE transcription in the BCAST
COMMAND=STOPFILE
instructs BCAST that all subtitles for ID001 have been transmitted
or
COMMAND=STARTFILE;FILENAME=ID002;DATA=TC:00:00:00:00
instructs BCAST that all subtitles for ID001 have been transmitted and to change the internal ID to ID002 and the timecode in the BCAST is set to TC=00:00:00:00.
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 accept FAB Automation Protocol commands over IP please configure the following in Options:
To configure FAB Subtitler BCAST to use “Transmission Log” please configure the following in Options: