Scotty

Server-Side and Server-Guided Ad-Insertion

Scotty detects SCTE-35 cue points in live streams and injects HLS ad break tags in real time — enabling server-side and server-guided ad insertion without re-encoding.

The challenge
You're running live streams and need to monetize with dynamic ad insertion. But your server doesn't natively pass SCTE-35 markers through to HLS playlists, and your ad-stitching service needs those markers to know when to insert ads.
The solution
Scotty is a drop-in plugin that listens for SCTE-35 binary cue points in your MPEG-TS input, and annotates playlists with the ad break tags — in real time, with zero re-encoding. It supports SSAI and SGAI, and you can run both simultaneously.

All you need for Dynamic Ad-Insertion

SSAI signaling
Injects EXT-X-CUE-OUT / EXT-X-CUE-IN tags for server-side ad stitching services (AWS MediaTailor, Yospace, etc.)
SGAI support
Injects EXT-X-DATERANGE with Apple HLS Interstitial class for client-driven ad playback.
Dual mode
Run SSAI and SGAI simultaneously — annotate playlists for multiple integration points at once.
SCTE-35 detection
Binary packet parsing of splice_insert and time_signal commands directly from the transport stream.
Three tag formats
Choose between EXT_X_CUE_OUT_IN, EXT_X_DATERANGE_SCTE35, or EXT_X_SCTE35 for SSAI tags.
Web UI with hot-reload
Configure per-application and per-stream settings through a browser UI, with live config reload.

Up and running in Three steps

Install
Run the install script from the shell console of your media server instance.
Configure
Use the Web UI to add the license key and configure the plugin to your needs.
Go Live
Publish a live stream with SCTE-35 markers.

Simple pricing

Platform requirements

Ant Media Server Enterprise 2.17 or newer
SCTE-35 cue points in the MPEG-TS layer
Internet connectivity for license validation
HLS and/or MPEG-DASH packetizing enabled

See also

Scout
CMSD CTA-5006 streaming metadata
Scribe
Live subtitles with Speech-To-Text integration