Transmit subtitles over network to FAB Subtitler BCAST/XCD

FAB Subtitler BCAST/XCD can receive subtitles over network over several protocols. This page will explain how to use the ESUB-XF protocol. The ESUB-XF protocol can be used by using a TCP connection or by using the HTTP REST API functionality.

The format/protocol that is used for sending ESUB-XF data is described here.

Configuration of FAB Subtitler BCAST/XCD for reception of subtitles over ESUB-XF TCP protocol

  • Enable “Accept incoming network connections” and then click on Protocols / Settings

  • Enable the “primary” or “secondary” TCP port for receptions of subtitles

  • You can enable “Request authentication” under “Access restrictions” so that connections over the ESUB-XF TCP protocol will require a username and password.

Configuration of FAB Subtitler BCAST/XCD for reception of subtitles over ESUB-XF REST protocol

  • Enable the Web server

  • Enable “Accept incoming network connections” and then click on Protocols / Settings

  • Enable HTTP REST API for ESUB-XF

Note that the users defined for the ESUB-XF TCP connections do not apply because the REST API authorization is used for all REST API functions.

Transmitting subtitles from FAB Subtitler LIVE

To configure a connection from FAB Subtitler LIVE to FAB Subtitler BCAST/XCD using the ESUB-XF TCP protocol add a network connection in Options:

Transmitting subtitles using the ESUB-XF REST protocol

The following is an example of the HTTP POST request that sends a subtitle to FAB Subtitler BCAST/XCD:

HTTP POST ip_of_fabsubtitler_bcast_xcd:port/livesubtitling/esub-xf/displaysubtitle?sid=mycomputername

HEADER: Content-Type: application/xml

BODY:

<?xml version="1.0" encoding="UTF-8"?>
<esub-xf xmlns="urn:esub-xf" framerate="25" timebase="msec">
  <subtitlelist language="eng" type="hardofhearing">
    <subtitle>
      <hregion>
        <line>First three words.</line>
        <line>Seconds line four words.</line>
      </hregion>
    </subtitle>
  </subtitlelist>
</esub-xf>

You can use the following command line with “curl” to HTTP POST the XML data:

curl -k -H "Content-Type: application/xml" http://127.0.0.1:80/livesubtitling/esub-xf/displaysubtitle?sid=PCName -d "<?xml version=\"1.0\" encoding=\"UTF-8\"?><esub-xf xmlns=\"urn:esub-xf\" framerate=\"25\" timebase=\"msec\"><subtitlelist language=\"eng\" type=\"hardofhearing\"><subtitle\"><hregion><line>First three words.</line><line>Second line four words.</line></hregion></subtitle></subtitlelist></esub-xf>"

To indicate to FAB Subtitler BCAST/XCD that the transmission of subtitles is finished the following structure has to be sent:

HTTP POST ip_of_fabsubtitler_bcast_xcd:port/livesubtitling/esub-xf/endofsubtitles?sid=mycomputername

You can use the following command line with “curl” to HTTP POST the XML data:

curl -k -H "Content-Type: application/xml" http://127.0.0.1:80/livesubtitling/esub-xf/endofsubtitles?sid=PCName