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