Table of Contents

Setting up SCTE-104 label generation

This feature is optional and requires additional licensing to activate.

.

The SCTE-104 tag format ((Download description of the standard ANSI SCTE 104) is an element of automated advertising insertion technology and contains control information for regional broadcast systems.

SCTE-104 format data is generated in 12th line of VANC interval of the SL NEO server SD/HD SDI output signal.

MPEG encoder receiving SD/HD SDI signal from SL NEO server located at central station receives tag information and forms additional PID in transport stream in accordance with SCTE-35 protocol ((Download description of the standard ANSI SCTE 35).

Using SCTE-104 tags in SDI and SCTE-35 tags in the transport stream distributed to the channel broadcast area allows a regional system to identify the received program, each tapping event, determine with frame-by-frame accuracy the start and end time of the tapping and execute a transition to a commercial block with a specified ID.

In addition, the use of SCTE tags is designed to ensure confidentiality and security from unauthorized advertising taps. Regional broadcasting systems using automatic tapping technology can operate in an autonomous, unattended mode, which significantly reduces operating costs.

SCTE-104 tags are usually generated just before commercial transitions and before the end of each regional block, with frame-by-frame accuracy. During “manual” transitions to commercials during “live” broadcasts on a central station, the possibility of generating marks with per-frame accuracy is also preserved.

The capabilities of the SL NEO platform software allow reading data for generating spots directly from the playlist columns (up to 10 SCTE-104/35 parameters, including splice_event_id - advertising block identifier). This cannot be done using external hardware insertors with GPI-interfaces. There is another circumstance that confirms the advantage of SkyLark solution - when using external GPI-driven VANC data encoders, frame-by-frame accuracy is not ensured during label generation.

After SDI encoding in TS, SCTE-35 tags take up additional 5kbit/s of the transport stream channel. The technology of the broadcast system is illustrated by the figure:

Configuring the server software - creating rules for label generation

Let's set up 2 rules, according to which, if we specify the condition to generate SCTE-104 tag in a certain row of the playlist in a certain column, it will be generated a certain time before the end of the corresponding event. The first rule will generate the tag that starts the regional ad unit, the second rule will generate the tag that closes the unit.

Any column in the playlist can be used to control the generation of the tag, where you can specify the on/off state - GPI 1…8 mode or Keyer 1…8 mode. Another playlist column can be used for transmitting ad unit ID to regional systems where text data can be entered: GPI 1…8 Value, Comment, Group Name, Type etc. For our example, let's select the GPI 1 mode column, the value on in which will give the command to generate the label and the GPI 1 Value column (GPI 1 V in the playlist) to specify the regional block ID.

The first rule configuration procedure is performed from the SL NEO server management web-console, the console menu item - Manage, Program Outputs tab. In the selected Program Channel, find the Actions tab, then - the Playlist events tab and select Add Action. In the window that opens enter the parameters of the new rule (Action) for generating the marker before the start of the ad unit.

In the Action Configuration window, specify the name of the rule in the Name field, select 1 (the main full-screen layer of the program channel) in the Layer field, and in the Delay field specify the time value of the delay from the rule start to the end of the event in milliseconds. If you need to generate the marker 4 seconds before the event ends, you should set the Delay value greater than 4 seconds in the Delay field, for example 5000 milliseconds.

In the Address field specify the server IP address or leave the field blank if it is localhost. In the Service field click the button. Select the name of the service from the list. In our example, this is Program Channel #1 (Program_1 in the list).

In the Action field, click … button to select a function to be executed in this rule - SCTE-104 Splice Request.

In the Action condition window in the Vairable field specify the name of ply-list column that will be responsible for generating the label. In our example we select mode 1 from the GPI list, set Trigger to EQUAL and write in the Value field on. Activate the Trigger at end when primary matches. The settings you made in the Action condition window mean that the rule will be triggered when the GPI 1 Value column in the playlist is set to on. The rule starts 5 seconds before the end of the main playlist event.

In the Action parameters window in the Param fields you should specify 11 parameters of the generated label:

Parameter numberTag parameterValue
Param 1AS_indexIt identifies the source of the message - the broadcast system. Ranges in numbers from 0 to 255 (0 if no index is required).
Param 2DPI_PID_index16-bit integer (0 to 65535). The value is 0 if DPI_PID_index is not required.
Param 3splice_insert_type8-bit integer (0 to 255) defining the advertisement insertion operation type. Parameter values:
  • reserved - 0
  • spliceStart_normal - 1 (it is specified in the rule for the beginning of an advertising block)
  • spliceStart_immediate - 2
  • spliceEnd_normal - 3 (specified in the rule for the end of the ad unit)
  • spliceEnd_immediate - 4
  • splice_cancel - 5
Param 4splice_event_id32-bit integer (0 to 4294967295), the identifier of the ad unit. To read a value from a central station playlist column, select the column from the list by clicking … or specify the playlist column in the format $(gpi1_val) - GPI 1 Value in our example.
Param 5unique_program_id16-bit integer (0 to 65535), program identifier according to SCTE-35.
Param 6pre_roll_time16-bit integer (from 0 to 65535) defining the insertion point - time from the mark generation to the insertion point, in milliseconds.
Param 7break_duration16-bit integer (0 to 65535) defining the insertion duration in tenths of seconds. A value of 0 does not define the duration and makes the parameter inactive.
Param 8avail_num8-bit integer (0 to 255), identifier according to SCTE-35 standard. The value 0 makes the parameter inactive.
Param 9avails_expected8-bit number (0 to 255), identifier according to SCTE-35 standard. The value 0 makes the parameter inactive.
Param 10auto_return_flagvalue 0 makes the parameter inactive, value 1 activates the parameter. The function is defined by standard SCTE-35.
Parameter 11anchor is a parameter which provides framing precision when generating a cueIt allows you to set the offset relative to the beginning or end of the event in the playlist that generates the cue. Parameter values:

.

  • blank value - the timestamp will be generated immediately;
  • clip_start:$(clip_anchor)/OFFSET, where - OFFSET - the offset of the moment of label generation relative to the beginning of on-air event in HH:MM:SS:CC format;
  • *clip_end:$(clip_anchor)/OFFSET**, where - OFFSET is the offset relative to the end of the on-air event, for example, the value clip_end:$(clip_anchor)/-00:00:04:00 will generate the mark 4 seconds before the end of the playlist event. The time value in the Delay field (Action configuration window in the rule settings) must exceed the OFFSET value by several hundred milliseconds (500, for example).
Param 12anchor_layerThe number of the layer where the clip_anchor is searched in Param 11. The value starts with 1. Added in version 2.2.135.

Similar adjustments should be made for the second rule forming the label for the end of the ad unit and for all other program channels that require labels.

CUE Time in the program channel must be greater than the maximum possible preroll.

.

For example if your SCTE tag generation action has a Delay=11000ms, then the preroll will be 11 seconds. At the very beginning of the preroll a SCTE tag will be generated, and after 10.7 seconds (taking into account the video card buffer of 0.3 seconds) a new clip will be started, so that after 11 seconds the first frame of the clip will be released.

Setting VANC data generation.

To generate tags in the output SDI signal of the SL NEO server, you must enable VANC-interval data generation (SMPTE 291M standard) with the Use VANC parameter: Administrator Control Panel→Manage→Video IO Boards→Playout_N→Edit (second from left)→Configure Service→General→Use VANC.

The VANC interval generation function is supported for Matrox IO Boards of DSX series.

Setting up the label generation function is now complete, to save the settings, click Apply Changes at the top of the control console window. In this case, the playback channels whose configuration was changed will be reloaded, playback will be paused at the moment of reloading.

Checking the presence of SCTE-104 tags and their correct positioning

The SL NEO platform software allows you to check the presence of SCTE-104 tags in the output SDI and the correctness of their positioning without additional hardware and software tools. After configuring the rules, you should write the SDI signal with labels from the server output to the server database or supply the stream generated by Program Channel service to the recording service input.

The File Monitor window of the Air Manager application allows viewing the recording in frame-by-frame mode, determine the presence of VANC packets, check the presence and location of labels in the recorded signal. The VANC packet display mode is activated in the Air Manager settings menu: AirManager→File→Configure→Preview→Show ANC.

You can also use bm_findscte the SCTE search function in AirManager.

You can use avi-file (576i 25 fps DV) for testing, which contains the time code values in the video sequence.

More info

Parameter description for SCTE-104 Segmentation Descriptor Request

Parameter number Label parameterValue
Param 1AS_indexIdentifies the source of the message, the broadcast system. Ranges in numbers from 0 to 255 (0 if no index is required).
Param 2DPI_PIDvalue range 0-65535, leave 0 if DPI_PID_index is not required
Param 3segmentation_event_id32-bit integer value
Param 4pre_roll_timemilliseconds
Param 5duraton0-65535, duration of the segment in seconds, leave 0 for unknown
Param 6segmentation_type_id Possible variants of values:
  • 0 - Not indicated,
  • 1 - Content Identification,
  • 16 - Program Start,
  • 17 - Program End,
  • 18 - Program Early Termination,
  • 19 - Program Breakaway,
  • 20 - Program Resumption,
  • 21 - Program Runover Planned,
  • 22 - Program Runover Unplanned,
  • 23 - Program Overlap Start,
  • 32 - Chapter Start,
  • 33 - Chapter End,
  • 48 - Provider Advertisement Start,
  • 49 - Provider Advertisement End,
  • 50 - Distributor Advertisement Start,
  • 51 - Distributor Advertisement End,
  • 52 - Placement Opportunity Start,
  • 53 - Placement Opportunity End,
  • 64 - Unscheduled_event_start,
  • 65 - Unscheduled_event_end.
Param 7segment_num0-255, segment identification
Param 8segment_expected0-255, number of segment expected
Param 9delivery_not_restricted_flag
  • 1 indicates there is no needfor external checks prior to delivery.
  • A value of 0 indicates the content requires external checks
Param 10web_delivery_allowed_flag1 indicates web delivery is allowed
Param 11no_regional_blackout_flag1 indicates there is not a regional blackout
Param 12archive_allowed_flag1 indicates the content is achievable
Param 13anchor
Param 14anchor_layer

Download files

Using SCTE-104/35 tags in digital program insertion systems