Publisher Prerequisites
Technical requirements your origin and content must meet for successful SSAI integration. This checklist ensures smooth onboarding and optimal fill rates.
Quick Summary
You provide: origin manifest URL, ad break signals (SCTE-35/DATERANGE), content with keyframe-aligned segments. We handle: manifest rewriting, ad decisioning, stitching, tracking, and reporting.
What You Must Provide
RequiredOrigin Manifest URL
Your origin HLS master playlist or DASH MPD must be accessible via HTTPS.
RequiredAd Break Signals
Ad break opportunities must be signaled via one of these mechanisms:
HLS Options
#EXT-X-DATERANGEwith SCTE-35 data#EXT-X-CUE-OUT/#EXT-X-CUE-IN- SCTE-35 in-band (ID3 timed metadata)
DASH Options
EventStreamwith SCTE-35 schemeurn:scte:scte35:2013:xmlurn:scte:scte35:2014:xml+bin
DURATION or PLANNED-DURATION improve fill rates. Without duration, we wait for the "end" cue before ad selection.RequiredSegment Requirements
Every ad break cue must land on an IDR frame. Encoder must insert keyframes at signaled positions.
Segments should be 2-6 seconds. Recommended: 4s for VOD, 2s for low-latency live.
Audio and video segment boundaries must align. Separate audio renditions require matching timelines.
RequiredCodec & Resolution Ladder
Ads are matched to content quality tiers. Provide your encoding ladder so we can source compatible creatives:
| Parameter | Recommended | Notes |
|---|---|---|
| Video Codec | H.264 (AVC) | H.265 (HEVC) supported but reduces ad inventory |
| Audio Codec | AAC-LC | AC-3/E-AC-3 for 5.1 content |
| Resolutions | 1080p, 720p, 480p, 360p | 4K reduces ad inventory significantly |
| Frame Rate | 24/25/30 fps | 60fps supported but verify ad availability |
OptionalCaption Format
If your content includes captions, specify the format for proper timing adjustment:
If ApplicableDRM Requirements
If your content is DRM-protected, we need:
What We Validate Automatically
Before serving ads, our system validates:
Manifest Validation
- HLS RFC 8216 compliance
- DASH-IF MPD structure
EXTINF> 0 for all segmentsEXT-X-TARGETDURATIONaccuracy- Discontinuity sequence consistency
Cue Validation
- SCTE-35 parse correctness
- Cue deduplication
- Keyframe alignment check
- Duration reasonability (0.5s–300s)
Format Compatibility
- Codec string matching (avc1.*, mp4a.40.*)
- Container format (TS vs CMAF)
- Audio layout compatibility
- Resolution tier matching
Origin Health
- Manifest fetch latency
- Segment availability (404 detection)
- SSL certificate validity
- Rate limit headroom
What Causes Rejects / No-Fill / Slate
These issues result in unfilled ad breaks or fallback to slate content:
Cue not at keyframe
Splice point mid-GOP causes glitches. We reject or align to nearest safe boundary.
No compatible ad creative
Content codec/resolution has no matching ad inventory. Consider H.264 1080p baseline.
Partner timeout
Demand partner didn't respond within deadline. System serves slate to avoid black screen.
Cue without duration
Forces wait for end-cue before decisioning, reducing available think time.
Origin latency spikes
Slow manifest fetch reduces time budget for ad selection.
Pre-Integration Checklist
- Origin manifest URL accessible via HTTPS
- Ad break cues present (SCTE-35, DATERANGE, or CUE-OUT/IN)
- Cues include DURATION or PLANNED-DURATION
- Encoder inserts keyframes at cue positions
- Segments are 2-6 seconds duration
- Audio and video segment boundaries align
- Encoding ladder documented (codecs, resolutions, bitrates)
- DRM requirements documented (if applicable)
- Our manifest fetcher IPs allowlisted (or token provided)