StreamAdsPro Logo
StreamAdsProSSAI Platform
Core technology

Server-side ad insertion (SSAI)

Ads stitched directly into your live stream — non-skippable, ad-block-proof, and playable on any device or smart TV. This is the StreamAdsPro core. The CSAI player is one way to consume it.

Get in touch

What server-side ad insertion actually is

Server-side ad insertion — also called ad stitching — splices advertisements into your video on the server, before a single byte reaches the viewer. By the time the stream arrives, the ad is already part of it: same video track, same audio track, same segment sequence as the programme around it.

That is the whole difference, and everything else follows from it. The player is never asked to fetch an ad, so there is no ad-server round trip on a viewer’s phone to time out on a weak connection, and no second video element to fail to load. Because the ad is not a separable object, a device that has never heard of StreamAdsPro — a smart TV, a set-top box, a streaming stick, an ordinary HLS player — plays the break correctly with no integration work at all.

StreamAdsPro runs this pipeline on hardware you control, using FFmpeg with NVENC GPU acceleration, rather than as a metered cloud service. For a channel trying to reach profitability rather than enterprise scale, that is usually the deciding difference.

How an ad gets into your stream

Four stages. Most broken ad breaks we are asked to debug fail at stage 01 or stage 02.

  1. 01

    Mark the break

    Every ad insertion starts with knowing exactly where the break is. StreamAdsPro reads SCTE-35 cue markers already present in your HLS playlist or MPEG-TS feed, and inserts them where none exist. Markers are emitted as standard playlist tags — EXT-X-CUE-OUT, EXT-X-CUE-IN and EXT-X-DATERANGE with SCTE35-OUT and SCTE35-IN attributes — so anything downstream that already understands SCTE-35 keeps working unchanged.

  2. 02

    Conform the ad

    An advertiser’s file almost never matches your stream. A 1080p25 MP4 dropped into a 720p30 channel will stutter, flash black, or drift out of sync at the splice point. Each creative is re-encoded to your channel’s exact resolution, frame rate, audio sample rate and keyframe cadence before it is allowed anywhere near the stream.

  3. 03

    Composite and encode

    The ad and any graphical overlay are composited into the video itself with FFmpeg, accelerated by NVENC on the GPU. Overlay compositing happens in the same encode pass rather than as a second render, which is what keeps a live channel inside its latency budget instead of drifting further behind real time with every break.

  4. 04

    Rewrite the manifest

    The stitched segments are written back into the playlist with continuity counters and timestamps that line up with the content around them. The player receives one continuous stream. There is no second request, no ad-server round trip on the viewer’s device, and no separate video element to fail.

Chasing a cue that never fires? .

SSAI output — stitched in

Pre-rendered samples — the ad is part of the single video stream.

L-shape banner

Sponsor stays on screen while the show keeps playing.

Fullscreen takeover

A full ad break stitched seamlessly into the stream.

Why an ad blocker cannot remove it

Ad blockers have two tools. They match outgoing network requests against lists of known ad hosts and cancel them, and they hide page elements whose markup looks like advertising. Both tools depend on the ad being a distinct, identifiable thing.

A server-stitched ad is not a distinct thing. It makes no separate request — the segments arrive from the same origin, in the same playlist, named the same way as the show. It creates no separate element, because there is only ever one video element playing one continuous stream. To strip the ad, a blocker would have to recognise advertising inside decoded video frames and then re-splice the stream itself, in real time, on the viewer’s device.

The same property is what makes SSAI work on hardware you do not control. Ad-block resistance and smart-TV compatibility are not two separate features here — they are the same fact, described twice.

CSAI player vs. SSAI core

CSAI player
SSAI core
Where ads render
In the viewer’s browser
On the server, into the stream
Ad-blockable?
Yes
No — baked into the video
Smart-TV / Roku
Needs our player SDK
Plays in any HLS player
Best for
Fast, low-cost web launch
Scale, ad-block-proof, broadcast

Ad formats we deliver

L-shape banner
L-shape banner
Fullscreen takeover
Fullscreen takeover
Lower-third
Lower-third
Picture-in-picture
Picture-in-picture

Self-hosted SSAI vs. a managed service

Compared against managed platforms such as AWS Elemental MediaTailor, Google Ad Manager SSAI and Brightcove SSAI.

StreamAdsPro
Managed SSAI
Deployment
Self-hosted on a single GPU machine
Managed cloud service
Pricing model
No per-stream SaaS fee
Typically per-stream or per-request billing
Time to launch
Weeks
Often months of integration
Ad inventory
Bring your own advertisers or ad server
Often bundled with demand
Best fit
Independent FAST channels, regional and diaspora broadcasters, faith livestreams
Large broadcasters with dedicated video engineering teams

Where a managed service is the better answer

StreamAdsPro is an independent, founder-operated company, not an enterprise vendor. It does not sell ad inventory, does not operate a demand-side platform, and does not run a global CDN. Self-hosting means you supply the machine and you own the uptime. If you need bundled advertiser demand, a contractual SLA, or worldwide edge delivery on day one, a managed platform will serve you better — and we would rather say so here than three weeks into an integration.

Common questions

What is server-side ad insertion?
Server-side ad insertion (SSAI), sometimes called ad stitching, splices advertisements into the video stream on the server before it reaches the viewer. The ad becomes part of the same video and audio track as the programme, so the player treats it as ordinary content rather than as a separate ad unit.
How is SSAI different from CSAI?
With client-side ad insertion (CSAI) the player fetches and plays the ad on the viewer’s device, as a second video alongside the content. With SSAI the ad is already inside the stream when it arrives. CSAI is faster to deploy and needs no change to your encoder; SSAI survives ad blockers and plays on devices where you cannot ship a custom player.
Why can’t an ad blocker remove server-side ads?
Ad blockers work by recognising and cancelling network requests to known ad hosts, or by hiding elements in the page. A server-stitched ad makes no separate request and creates no separate element — it is the same segment sequence as the show, served from the same origin. There is nothing distinct for a blocker to match against.
Is this a self-hosted alternative to AWS Elemental MediaTailor?
For the operators it fits, yes. StreamAdsPro runs on a single GPU machine you control, with no per-stream SaaS fee, and suits independent FAST channels, regional and diaspora broadcasters and faith livestreams. It is not an enterprise replacement: there is no global CDN, and you supply the machine.
Do I need SCTE-35 markers already in my stream?
No. If your encoder emits SCTE-35 we detect and use those markers. If it does not, we insert them. We can also validate splice_info_section payloads, including splice_insert and time_signal command types, when you are debugging a break that is not firing.
Does StreamAdsPro sell the ads?
No. StreamAdsPro is ad insertion and delivery infrastructure. It does not sell ad inventory, does not supply advertisers and is not a demand-side platform. You bring your own advertisers or your own ad server.

Want SSAI on your channel?

Let’s talk about your stream and your ad partners.

WhatsApp