Cinegy Air supports a subtitle integration mechanism the essense of which is disclosed in this article.

Timecode and Cue List Distribution

A vendor may introduce a mechanism for timecode distribution by means of its integration into the playout engine via the standard secondary events mechanism.

From Cinegy Air 9.5 and later, the playout engine can raise an event with a regular update interval (which is recommended to be in a range between 5 and 10 seconds) which vendors may then hook into their system. The nature of this time code distribution may be either through direct, targeted injection or via some network-based repeater mechanism. Distribution beyond the initial Cinegy-raised event is outside the scope of the Cinegy Air system and is left to the implementer.

As well as distributing timecode, the playout engine can provide details of the current on-air item, as well as some number of currently cued items (along with their subtitle ID). This event, again configurable as an interval-based event, provides subtitle systems with time to prepare for any subsequent playlist-oriented secondary events.

Subtitle Control

Subtitle control should be implemented as a separated plugin (driven by the secondary events), as it allows to separate the subtitle control code from the Cinegy Air and for third-parties to develop this independently. This plug-in should follow the normal developer guide for implementing Cinegy Air event plugins, and should respond to both the engine-level events that run with regularity as well as playlist-level events that are assigned via the secondary-event model in Cinegy Air control.

The main concept is that there is a mechanism in the playout engine which automatically generates the two types of secondary events: TC and LOAD.

TC

TC will be sent regularly updating the current item timecode.

Event format:

Parameter Value Comments

Device

SUBTVENDORNAME

Unique name in event system

Command

TC

Recommended to remain TC

Op1

CustomValue1

Configured per engine, used for targeting events to specific servers, channels, devices, etc.

Op2

<XML>

Auto-generated XML containing information about the timecode (not configurable)

Op3

Not used

XML format:

<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<timecode value="00:00:19:13" base="25"/>

where:

  • value – indicates the timecode value;

  • base – indicates the frame rate base (which is required to correctly convert timecode to the real time) and can be either 25 or 30.

LOAD

LOAD will be sent regularly, updating the list of the next X items and indicating their status (OnAir, Cued), so that a subtitle system could load them in advance.

Event format:

Parameter Value Comments

Device

SUBTVENDORNAME

Unique name in event system

Command

LOAD

Recommended to remain LOAD

Op1

CustomValue1

Configured per engine, used for targeting events to specific servers, channels, devices, etc.

Op2

<XML>

XML with the list of the next X items

Op3

Not used

XML format:


<?xml version="1.0" encoding="utf-8"?>
<titles version="1">
  <onair id="9B339135-B6C8-4B4B-B262-AAE1CFA23CAD" name="Jesse J" titleId="FILE1"/>
  <cue id="9B83FB3A-BD03-4E4E-BA2E-B2466EFB0A6F" name="Star Track" titleId="FILE2"/>
  <cue id="BAC5521F-F957-4AF7-84B1-AB1836A94DA9" name="Commercial" titleId=""/>
  <cue id="A2322BEB-F868-431A-B95C-DA71BAD53C4F" name="Star Track" titleId="FILE2"/>
  <cue id="70F8F88B-ED59-4475-9BFA-051D23D405A6" name="Commercial" titleId=""/>
  <cue id="094419C4-0C7E-47D7-A714-C4D5EAB584EB" name="Star Track" titleId="FILE2"/>
</titles>

where:

  • id – indicates the unique item identifier;

  • name – indicates the item name;

  • titleId – indicates the Subtitle system specific ID (e.g. subtitle file name). May be empty if there is no subtitle required for the item.

Note
Please note that the XML may be extended on demand later.

The diagram below shows how the components will communicate:

Diagram

Components marked as 'blue' impact the Cinegy changes; 'orange' should be delivered by the integrating subtitle partner.

Cinegy Playout Configuration

In order to configure the Subtitle event generation, a new configuration tab was added to the Cinegy Playout Configuration tool:

Playout Cfg

Here define the following parameters:

  • Op1 – enter a unique channel ID or some other vendor values;

  • Every – define the time interval for the event to be sent, in seconds;

  • Items – define the "queue" size of the items;

  • Delay – define the timecode distribution delay in milliseconds. This parameter is used to compensate constant delays, such as RTP buffering.

Air Control Changes

Cinegy Air control application has an optional column in the playlist grid to define the subtitle ID value of each item. If this flag is not set (no subtitles required), an empty SubtitleID will be passed to the LOAD event.

SubtitleID

If further commands are required for subtitle control, then the vendor may implement specific custom commands as secondary events, which may then control the subtitle server (e.g. explicit activation, hide options, enabling secondary languages, etc.).