Channels
A channel represents one live stream in OptiView Ads. It is the place where you decide how ads behave for that stream: how break start times are interpreted, which breaks are announced to players and when, and whether ad markers in the stream are detected automatically.
Everything else in OptiView Ads hangs off a channel. Origins, marker rules, breaks, events, templates, and integrations are all created for — or looked up through — a channel.
Channels are scoped to an organization. In the OptiView Unified Dashboard, open Ads → Channels to create and manage them.
In the Dashboard, opening a channel gives you access to each of these tabs:
| Tab | Use it for |
|---|---|
| Overview | View channel settings and Break Manifest configuration. |
| Breaks | Schedule, inspect, and delete breaks for the channel. |
| Events | Prepare breaks for an event on your live stream. |
| Origins | Add, enable, disable, and prioritize manifest origins. |
| Break Detection | Configure marker rules to turn ad markers in your stream into breaks. |
| Integrations | Manage channel-level delivery integrations. |
Channel identity
Every channel has a customer-facing id. We recommend using a UUID as the channel id, and the name property as a human-readable name. If you omit id on creation, one is generated for you.
Timing and delivery settings
These channel settings determine how break start times are interpreted and how breaks are delivered to players through the Break Manifest.
Timebase
The timebase determines which timeline break start times are expressed on:
wallclock— breaks are scheduled with a UTC timestamp that is matched against the wallclock timeline carried by the stream itself. Use this when the stream carries wallclock timing: in HLS this comes fromEXT-X-PROGRAM-DATE-TIMEtags, in DASH from the MPD'savailabilityStartTimecombined with the segment timeline (optionally synchronized through aUTCTimingelement).pts— breaks are scheduled with a presentation timestamp (PTS) on the encoder's timeline. The player retrieves the PTS value from the media segments to know where it is on that timeline. Use this when your workflow schedules breaks against encoder PTS values rather than wallclock time.
Choose the timebase when creating the channel; all breaks on the channel use the same timebase.
DVR window
Default: 300000 ms (5 minutes)
dvrWindowMs describes how far behind live a viewer can be while watching the channel — the time-shifted (DVR) window of the stream.
It directly impacts the Break Manifest: a break is included in the manifest as long as it is still relevant for a viewer anywhere inside the DVR window. With a larger DVR window, breaks remain in the manifest for longer so that time-shifted viewers still receive them; with a small window, only breaks near the live edge are returned to the player.
Live offset
Default: 0 ms
liveOffsetMs describes how far the player's playhead is behind live. Players never play exactly at the live edge — they buffer a few seconds behind it.
OptiView Ads uses this offset mainly to allow you to schedule a break in the past: because viewers watch behind the live edge, a break aimed at the viewer's current playhead position lies slightly behind raw server time. With the offset configured, break start times are evaluated against the position viewers are actually watching instead of raw server time, so such a break is accepted and activates when the playhead reaches it.
Ad prefetch window
Default: 10000 ms (10 seconds)
adPrefetchMs defines how far ahead of a break's start time the break is announced to the player through the Break Manifest.
With the default of 10000 (10 seconds), a break whose start time is within the next 10 seconds is included in the manifest. This lead time gives players room to prepare and prefetch the ad content before the break actually starts.
For creating, updating, listing, and deleting channels programmatically, see the Ads API reference.
Related resources
A channel is the parent or lookup point for the rest of the OptiView Ads model:
| Resource | Relationship |
|---|---|
| Breaks | Scheduled or detected ad opportunities for the channel. |
| Templates | Reusable break presets that can be scheduled on the channel. |
| Events | An event on your channel for which you want to prepare breaks. |
| Origins | Manifest URLs monitored for ad markers. A channel can have multiple origins. |
| Break detection | Configure marker rules to turn ad markers in your stream into breaks. |
| Break Manifest | The manifest that announces the channel's breaks to players. |
| Integrations | Channel-level delivery integrations, such as Server-Side Ad Insertion with Google DAI. |