Articles in this section

Inserting SCTE-35 Messages into MPEG TS with Alta TS

Related document: iCap Alta Data Sheet.

There are several methods from which Alta TS can be used to inject SCTE-35 messages directly into an MPEG transport stream, which are summarized below:

1) SCTE-104 commands can be requested to any Alta channel over TCP/IP (by any external device/system that supports the SCTE-104 API over TCP/IP protocol), through a configurable listening address/port (default is 5167) on the Alta instance, after which Alta will place them into the incoming transport stream, where they are executed as SCTE-35 messages.

  • In this case, Alta would be able to support the full SCTE-104 "Simple Profile," which includes Splice Requests, Splice Null Requests, and Time Signal Requests with Segmentation Descriptors, or any other descriptors supported by the protocol.
  • More info on this process (including several diagrams) can be found at s3.amazonaws.com/eegent-assets/resources/Alta_SCTE_35.pdf

2) You can configure built-in presets on the Alta webpage (see screenshot attached), each assigned to a GPI number, to trigger SCTE-104 commands (that will then be injected as SCTE-35 into the TS) either via virtual GPI, using a GPI over IP protocol, or by sending HTTP requests to an API endpoint we provide.

  • The following splice inserts are supported in this case: splice start, splice start immediate, splice end, End Immediate, and splice cancel, as well as inserting the basic fields "program ID", "break duration", and "preroll time".

2A) Virtual GPI: For GPI over IP protocols, we currently support the JL Cooper eBox, either through their physical hardware: see https://jlcooper.com/_php/product.php?prod=eboxgpi8 or emulating the protocol by writing a program that serves as the "server" side on TCP/IP).

2B) Sending HTTP Requests: In addition to the GPI presets option mentioned above, other options for sending API calls to trigger SCTE messages include:

  • triggering those same SCTE-104 presets dynamically to an API endpoint, targeted to any Alta channel (without needing to pre-configure anything on the site or assign a GPI number).
  • triggering SCTE-35 cue in/cue out messages (for starting and ending ad breaks) to an API endpoint, targeted to any Alta channel
  • triggering SCTE104/35 time signals with segmentation descriptor parameters

You may view the following API Doc (p.13, under the "Network GPI's, Presets + Cue Point Triggering" section) for detailed info on these API endpoints (including JSON paramaters) for triggering SCTE messages (same info can also be found in the "API Docs" tab on the Alta interface): https://s3.amazonaws.com/eegent-assets/resources/EEG_AltaTM_TS_API.pdf

PID Placements for SCTE-35 Data

To specify the PIDS that you would like SCTE-35 data to be output into (should be one for each message type), go to the Alta channel's 'SCTE-35 Settings' page within the Alta web interface and input each (can be up to 8). You may input SCTE35 PIDs that already exist upstream or any unused PIDs.

If more than one PID is specified, the DPI_PID_index field in the incoming SCTE-104 messages is used to direct Alta on which PID each message is for.