SCTE-35 Ad Marker Signaling & Media Trailer Insertion Pipeline
A streaming media company needed a robust, automated pipeline for injecting SCTE-35 ad markers into live and VOD streams, along with the ability to insert promotional trailers (pre-roll, mid-roll, and post-roll) at precisely timed positions — enabling monetization across FAST channels, live events, and on-demand content libraries.
Discuss Your Project
The Challenge
The client's existing workflow relied on manual marker placement and static trailer stitching, leading to multiple operational issues:
- Ad markers were manually inserted using broadcast control rooms, causing human error and missed ad breaks
- Trailers were statically concatenated to VOD assets, requiring re-encoding every time a promotion changed
- No support for dynamic trailer rotation based on campaign schedules or audience targeting
- SCTE-35 signals lacked consistency — some streams used Splice Insert, others used Time Signal, with no unified standard
- Frame-inaccurate ad boundaries caused visible glitches, player buffering, and ad verification failures
- Live streams required real-time SCTE-35 injection with sub-second latency, which the legacy system couldn't deliver
- No centralized dashboard for monitoring marker placement, trailer delivery, or ad break compliance
Our Solution
We built an automated SCTE-35 signaling and media trailer insertion pipeline using AWS Elemental MediaLive, a custom SCTE-35 scheduling service, and a dynamic trailer management system that supports both live and VOD workflows.
Architecture
- Ingest: AWS Elemental MediaLive for live stream encoding with SCTE-35 API-driven injection
- VOD Processing: AWS Elemental MediaConvert for offline SCTE-35 marker embedding and trailer stitching
- SCTE-35 Scheduler: Custom Node.js service for programmatic marker scheduling and injection via MediaLive SCTE-35 API
- Trailer Manager: Dynamic trailer selection service with campaign-based rotation and audience targeting
- Storage: Amazon S3 for VOD assets, trailer creatives, and processed outputs
- Packaging: AWS Elemental MediaPackage for HLS/DASH output with SCTE-35 passthrough
- Monitoring: Custom SCTE-35 compliance dashboard with CloudWatch metrics and alerting
- CDN: Amazon CloudFront for delivery with manifest-level ad marker visibility
SCTE-35 Signaling Pipeline
Live Stream — Real-Time Marker Injection
- Schedule Definition — Ad break schedule defined via API with start time, duration, and marker type
- SCTE-35 API Injection — Custom scheduler triggers MediaLive's SCTE-35 input splice API at precise timestamps
- Signal Types — Support for Splice Insert (immediate ad break), Time Signal (programmatic decisioning), and Splice Null (heartbeat/keep-alive)
- Segmentation Descriptors — Embedded metadata including provider ID, event ID, duration, and segmentation type (program start, ad start, ad end, content resumption)
- Passthrough — MediaPackage preserves SCTE-35 markers in HLS manifests (
#EXT-X-DATERANGEor#EXT-X-CUE-OUT/#EXT-X-CUE-INtags) and DASH manifests (EventStreamelements)
VOD — Offline Marker Embedding
- Content Analysis — Scene detection identifies natural ad break points (scene changes, silence, black frames)
- Marker Placement — SCTE-35 markers inserted at validated positions aligned to IDR frame boundaries
- MediaConvert Processing — Transcode job embeds SCTE-35 PID in the transport stream with accurate PTS timestamps
- Manifest Decoration — Output HLS/DASH manifests include ad markers for downstream SSAI or CSAI consumption
Media Trailer Insertion
Dynamic Trailer Management
- Trailer Library — Centralized repository of promotional assets (pre-roll bumpers, mid-roll promos, post-roll cards) stored in S3
- Campaign Scheduling — Trailers assigned to campaigns with start/end dates, priority, and frequency caps
- Audience Targeting — Trailer selection based on content genre, geography, device type, and time-of-day rules
- ABR Matching — Trailers pre-transcoded to match the ABR ladder of the primary content (resolution, bitrate, codec, frame rate)
Insertion Modes
Pre-Roll Trailer Insertion
- Trailer played before program content starts
- SCTE-35
splice_insertwithout_of_network_indicatormarks trailer start - Duration signaled via
break_durationfield for accurate return to content - Seamless keyframe-aligned transition from trailer to program
Mid-Roll Trailer Insertion
- Inserted at natural content breaks identified by scene detection or manual cue points
- SCTE-35
time_signalwith segmentation descriptor type0x22(Break Start) and0x23(Break End) - Trailer selected dynamically based on active campaigns and remaining impression quota
- Player/SSAI system uses markers to splice trailer segments into the stream
Post-Roll Trailer Insertion
- Promotional content appended after program end
- SCTE-35 signal marks end of main content and start of post-roll segment
- Often used for "Up Next" promos and cross-channel promotion
Live Trailer Overlay
- For live events, trailers inserted during scheduled ad breaks alongside or in place of ads
- SCTE-35 signals coordinated between trailer scheduler and ad decision server
- Fallback trailer served when ad fill is unavailable (no-fill slate replacement)
SCTE-35 Compliance Monitoring
Validation Engine
- Marker Accuracy — Verifies SCTE-35 signals align with IDR frame boundaries (within 1 frame tolerance)
- Duration Compliance — Validates that ad break durations match the signaled
break_duration - Signal Integrity — Checks for missing
CUE-INreturn signals, orphanedCUE-OUTmarkers, and duplicate event IDs - PTS Continuity — Monitors presentation timestamp continuity across ad/content boundaries to prevent player sync issues
Dashboard & Alerting
- Real-time visualization of all SCTE-35 events across channels (type, timestamp, duration, status)
- Per-channel ad break compliance score (% of correctly signaled and filled breaks)
- Alerting on missed markers, duration mismatches, and signal format errors
- Historical reporting for ad ops teams with exportable compliance logs
Key Features
- Automated SCTE-35 Injection — API-driven real-time marker insertion for live streams via MediaLive
- VOD Marker Embedding — Offline SCTE-35 placement with scene-detection-assisted break point selection
- Dynamic Trailer Rotation — Campaign-based trailer selection with frequency capping and audience targeting
- Multi-Position Trailers — Pre-roll, mid-roll, and post-roll trailer insertion with frame-accurate transitions
- ABR-Matched Trailers — Pre-transcoded trailers matching content ABR ladder for seamless playback
- SCTE-35 Compliance Dashboard — Real-time monitoring of marker accuracy, signal integrity, and duration compliance
- Fallback Slate Management — Automatic trailer/slate insertion when ad fill is unavailable
- HLS & DASH Support — SCTE-35 markers preserved in both HLS (
EXT-X-CUE) and DASH (EventStream) manifests
Results
Technology Stack
More Case Studies
Explore more of our technical implementations
Client-Side Ad Insertion (CSAI) with SCTE-35 Marker Parsing & Multi-Platform Player Integration
A video streaming platform needed to implement Client-Side Ad Insertion (CSAI) across web, mobile, and connected TV apps — enabling personalized, device-level ad experiences with full ad interaction support (clickable overlays, companion banners, skip buttons) that server-side insertion cannot provide.
AWS Media Services for FAST Channel Streaming over SRT
A media company needed to establish reliable, low-latency contribution feeds for their FAST channels using the Secure Reliable Transport (SRT) protocol — enabling high-quality content ingest from remote studios, cloud playout systems, and syndication partners over unpredictable internet connections.
AWS Media Services for FAST Channel Streaming over HLS
A media company needed to launch Free Ad-Supported Streaming Television (FAST) channels — 24/7 linear streams of curated video content delivered over HLS to smart TVs, set-top boxes, and web/mobile players, monetized through programmatic ad insertion.
Frequently Asked Questions
MicrocosmWorks implemented a scheduling engine that converts ad break timestamps from the EPG into SCTE-35 splice_insert commands with PTS-aligned pre-roll times, injected into the MPEG-TS stream via AWS Elemental MediaLive's SCTE-35 input schedule API. The system achieves frame-accurate splice points with less than one-frame timing variance from the scheduled position.
MicrocosmWorks built the trailer insertion workflow using MediaLive's input switching with follow-mode configuration, where SCTE-35 return-to-network markers automatically trigger the switch back from trailer content to the live feed. The transitions use clean switch points that align with GOP boundaries to prevent decoder glitches on client devices.
Yes, MicrocosmWorks configured the pipeline to emit SCTE-35 markers in both the transport stream (for SSAI systems like AWS MediaTailor) and the HLS/DASH manifest (as EXT-X-DATERANGE or Period events for CSAI players). This dual-mode signaling ensures compatibility with any downstream ad decisioning system without requiring pipeline modifications.
MicrocosmWorks built a dynamic slate management system that maintains a library of trailers and bumpers of various durations that can be combined to precisely fill any ad break window. The system uses a bin-packing algorithm to select the optimal combination of assets that fills the break duration within 500ms tolerance, padding any remainder with a branded slate.
MicrocosmWorks delivers broadcast ad insertion infrastructure at rates of $35-$50/hr, with a complete SCTE-35 signaling and trailer insertion pipeline including the scheduling engine, MediaLive configuration, and monitoring typically requiring 250-400 development hours. This investment enables monetization of ad breaks that can generate significant FAST channel revenue.
Have a Similar Project in Mind?
Let's discuss how we can build a solution tailored to your needs.