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.
Have a Similar Project in Mind?
Let's discuss how we can build a solution tailored to your needs.