ANSI/SCTE 30 2021

Digital Program Insertion Splicing API

Executive Summary

This Application Program Interface (API) creates a standardized method of communication between Servers and Splicers for the insertion of content into any MPEG-2 Output Multiplex.

Scope

This Application Program Interface (API) creates a standardized method of communication between Servers and Splicers for the insertion of content into any MPEG-2 Output Multiplex in the Splicer. This API is flexible enough to support one or more Servers attached to one or more Splicers. Digital Program Insertion includes content such as spot advertisements of various lengths, program substitution, public service announcements or program material created by splicing portions of the program from a Server.

Improvements in ad timing synchronization

This section discusses some benefits of proper ad insertion time synchronization and why it important for a digital ad insertion system to maintain proper time synchronization.

If non cue based ad insertion (i.e. wall clock triggered) is being done, then the implementer should use whatever methods meet the application requirements.

In cue based insertion systems many content providers and distributors have issues associated with implementing correct ad insertion splice timing in the field. Although [SCTE 35] messages are capable of containing frame-accurate splicing information, that information is not always present. Additionally, splice times are usually not well monitored and must be periodically readjusted. In fact, the method selected for time synchronization can further exacerbate insertion splice timing challenges.

Currently operators must periodically adjust local ad insertion timing for one of the following reasons:

  • Network programming is clipped because local ads are switched in too early.
  • Frames of underlying national ads are visible because local ads switch in too late.
  • Frames of underlying national ads are visible because local ads switch back to the network too early.
  • Network programming is clipped because local ads switch back to the network too late.
  • The underlying content used by the content provider is not the exact size of the signaled break duration.

Periodic timing readjustment is not ideal as most Splicers insert into a compressed video stream which only allows splices on certain key frames. Any adjustment made by the operator will typically not be frame-accurate (usually +/- 2 frames), and depending on how close the splice is to a key frame, adjustments may cause large, indeterminate jumps.

This standard requires a certain amount of synchronization between the Splicer and Server time references where cues are described in PTS time. In doing so, the time synchronization system must be able to keep the Splicer and Server within +/- 15 ms of each other.

The bit stream representing the primary channel is subject to various delays, which may include upstream splicing, satellite links, and other transmission and conditioning processes. These delays may range milliseconds to seconds. However, these delays do not affect the accuracy of a cue message embedded in the primary channel. The cue message uses the PCR to indicate the correct time of insertion, so it retains its original accuracy relative to the content.

The Server providing the insertion-channel content is aware of clock time (UTC) only, and the insertion windows with which it has been programmed are relative to clock time. However, the Server depends on the Splicer to indicate the exact moment to begin streaming the content. When the Splicer receives the program bit stream, all delays to that stream have occurred.

Supporting Documentation

  • Recommended Practice for Digital Program Insertion for Cable