Broadcast-grade dynamic ad insertion: Kaster's packet-level seamless SSAI
Built to eliminate black frames and stutter during live ad breaks. Kaster uses dynamic TS-layer restamping to align timestamps and continuity counters in real time, keeping both live-to-ad and ad-to-live transitions completely smooth — with built-in generic VAST integration that works with your existing ad stack, no ad-server replacement required.
Ad insertion problems usually come down to three technical details
Black frames from PTS/DTS/CC discontinuity
Most SSAI implementations simply splice ad segments into the live stream without properly handling the timeline and continuity counter join — the moment insertion happens, players often misread the stream as discontinuous, and viewers see a black frame or stutter.
Incompatible ad creative formats
If the encoding, resolution, or container format returned by the ad server doesn't match the broadcast stream, and there's no automatic transcoding or caching in place, insertion fails outright and the break goes dark.
Lock-in to a single ad platform
Many SSAI solutions are built around one ad tech stack. Switching or adding an ad server or SSP means redoing the integration from scratch, and maintenance cost grows with every new partner.
How the dynamic restamp engine works
SCTE-35 parsing
Continuously listens to and parses cue-out/cue-in signals in the upstream live stream, automatically determining ad break start and end times — no manual marking required.
Generic VAST dispatch
Calls the ad server in real time using a configurable Ad Decision Server URL template, and parses the returned VAST 2.0/3.0/4.x ad description (auto-unwrapping up to 3 levels of Wrapper ads).
TS-layer restamping
Rewrites video/audio PTS/DTS, the PCR reference, and each PID's Continuity Counter packet by packet, so the live→ad boundary is fully continuous in both timeline and continuity.
Uninterrupted playout
Outputs a stream with a fully continuous timeline that players can't detect as discontinuous — the ad→live return is just as seamless, with no black frames or stutter.
Compatibility, fault tolerance, and observability — all built in
Dynamic ADS parameter pass-through
Ad requests use a URL template mechanism that passes channel, session, ad duration, device type, and other parameters to your existing Ad Server in real time. Integration specs stay consistent, so you don't need separate wiring logic for each ad server.
Automatic fill on missing ads
If the Ad Decision Server times out or has no ad available, the system automatically fills the break duration with Slate creative — no dead air, no playout interruption.
Every insertion is traceable
Every break automatically retains the stream segments and playlists before and after insertion, paired with timeline analysis tools — so insertion anomalies don't have to be guessed at.
From scheduling to viewer playback, one continuous signal chain
Break Rules (ad windows, spacing, duration, and insertion points) are configured centrally in the FAST TV scheduling module, and the SSAI engine inserts ads at the stream layer in real time according to those rules — no separate configuration to maintain for ad insertion.
FAST TV scheduling engine
Generates the program schedule based on Break Rules and writes SCTE-35 cue-out/cue-in signals at the corresponding times.
Live stream output
The live stream (HLS/TS) carrying SCTE-35 markers is handed off to the SSAI engine for processing.
SSAI requests ads from the SSP/Ad Server
On detecting a signal, it requests a VAST ad description from the SSP/Ad Server in real time and seamlessly splices it into the live stream at the TS layer.
Viewer playback
The player receives a stream with a fully continuous timeline — live→ad→live plays without drops or black frames.
What you might still want to know about SSAI and ad insertion
Q1Which VAST versions are supported?
VAST 2.0, 3.0, and 4.x are supported, with automatic unwrapping of up to 3 levels of Wrapper ads. VMAP is not currently supported.
Q2Do I need to redevelop anything to switch ad servers or SSPs?
No. Ad integration uses a configurable URL template — as long as the target Ad Server returns compliant VAST, switching or adding an ad server doesn't require redeveloping the integration logic.
Q3Does Kaster SSAI affect the quality of the original live signal?
No. The SSAI engine only rewrites transport-layer timeline and continuity information during the ad break window when an SCTE-35 signal is detected — the original live video/audio is never re-transcoded or re-compressed. Only the ad creative is transcoded as needed; the source and path of the live signal are completely unaffected.
Q4What happens if the ad server doesn't respond or has no ad to serve?
The system automatically falls back to Slate filler creative after a timeout to fill that break, avoiding dead air.
Q5How do I troubleshoot an insertion anomaly?
Every break retains the stream segments and playlists from before and after insertion, along with timeline analysis tools to help pinpoint where the issue occurred.