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
scte35-ad-marker-media-trailer.webp
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

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.

Contact UsSchedule Appointment