Back to Case Studies
Video Encoding

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
SCTE-35 Ad Marker Signaling & Media Trailer Insertion Pipeline
Video Encoding
Domain
12
Technologies
5
Key Results
Delivered
Status

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

  1. Schedule Definition — Ad break schedule defined via API with start time, duration, and marker type
  2. SCTE-35 API Injection — Custom scheduler triggers MediaLive's SCTE-35 input splice API at precise timestamps
  3. Signal Types — Support for Splice Insert (immediate ad break), Time Signal (programmatic decisioning), and Splice Null (heartbeat/keep-alive)
  4. Segmentation Descriptors — Embedded metadata including provider ID, event ID, duration, and segmentation type (program start, ad start, ad end, content resumption)
  5. Passthrough — MediaPackage preserves SCTE-35 markers in HLS manifests (#EXT-X-DATERANGE or #EXT-X-CUE-OUT/#EXT-X-CUE-IN tags) and DASH manifests (EventStream elements)

VOD — Offline Marker Embedding

  1. Content Analysis — Scene detection identifies natural ad break points (scene changes, silence, black frames)
  2. Marker Placement — SCTE-35 markers inserted at validated positions aligned to IDR frame boundaries
  3. MediaConvert Processing — Transcode job embeds SCTE-35 PID in the transport stream with accurate PTS timestamps
  4. 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_insert with out_of_network_indicator marks trailer start
  • Duration signaled via break_duration field 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_signal with segmentation descriptor type 0x22 (Break Start) and 0x23 (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-IN return signals, orphaned CUE-OUT markers, 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

  1. Automated SCTE-35 Injection — API-driven real-time marker insertion for live streams via MediaLive
  2. VOD Marker Embedding — Offline SCTE-35 placement with scene-detection-assisted break point selection
  3. Dynamic Trailer Rotation — Campaign-based trailer selection with frequency capping and audience targeting
  4. Multi-Position Trailers — Pre-roll, mid-roll, and post-roll trailer insertion with frame-accurate transitions
  5. ABR-Matched Trailers — Pre-transcoded trailers matching content ABR ladder for seamless playback
  6. SCTE-35 Compliance Dashboard — Real-time monitoring of marker accuracy, signal integrity, and duration compliance
  7. Fallback Slate Management — Automatic trailer/slate insertion when ad fill is unavailable
  8. HLS & DASH Support — SCTE-35 markers preserved in both HLS (EXT-X-CUE) and DASH (EventStream) manifests

Results

Marker Accuracy: 99.8% of SCTE-35 signals aligned within 1-frame tolerance of IDR boundaries
Operational Efficiency: Eliminated manual marker placement — ad break scheduling fully automated via API
Trailer Delivery: Dynamic rotation increased promo impression delivery by 40% vs. static stitching
Ad Revenue: Frame-accurate signaling improved ad fill rates by 15% due to reduced verification failures
Monitoring: Compliance dashboard reduced ad ops troubleshooting time from hours to minutes

Technology Stack

AWS Elemental MediaLiveAWS Elemental MediaConvertAWS Elemental MediaPackageAmazon CloudFrontAmazon S3Node.jsSCTE-35HLSDASHVAST/VPAIDAWS CloudWatchFFmpeg

Have a Similar Project in Mind?

Let's discuss how we can build a solution tailored to your needs.

Contact UsSchedule Appointment