Live
A live channel monetizes a linear stream or a live event. Breaks are placed on the live timeline, and players watching the stream — at the live edge or behind it in the DVR window — receive them through the channel's Break Manifest.
Set up a live channel
A channel is live by default. Choose the timebase that matches the timing information in your stream:
wallclock— breaks start at a UTC timestamp, matched against the stream's own wallclock timeline (EXT-X-PROGRAM-DATE-TIMEin HLS, the segment timeline in DASH). This is the recommended timebase.pts— breaks start at a presentation timestamp on the encoder's timeline.
curl -X POST 'https://us.ads.optiview.dolby.com/api/v1/channels' \
-u "$ADS_API_KEY:$ADS_API_SECRET" \
-H 'Content-Type: application/json' \
-H 'X-Org-ID: <org-id>' \
-d '{
"name": "Sports main",
"streamType": "live",
"timebase": "wallclock"
}'
The DVR window, live offset, and ad prefetch window settings tune which breaks the Break Manifest contains at any moment.
How breaks are created
On a live stream, breaks can be created in three ways, and you can combine them on one channel:
- Scheduled — create a break with a start time, ahead of time or on the spot. See Scheduling.
- Punched — prepare a break without a start time, and fire it when the moment comes, for example from your production control room. See Break punching.
- Detected — add your stream as an origin, and OptiView Ads turns the ad markers in the stream, such as SCTE-35 signals, into breaks. See Break detection. This replaces the ad breaks already in your stream (Dynamic Ad Replacement).
Events let you prepare the breaks of a live event, such as a match or a show, upfront. Templates store a break configuration once, so scheduling becomes a one-liner.
Besides breaks on the timeline, a live channel can carry event-triggered breaks: a pre-roll when the viewer starts watching, a pause ad, and a post-roll.
How players receive the breaks
The SDK polls the Break Manifest during the whole session. A break appears in the manifest shortly before it starts — within the ad prefetch window — so the SDK can prepare the ads, and it stays there while viewers in the DVR window can still reach it. Changes to a break, such as an earlier end, reach the players on the next poll.
Choose an ad source
Each ad source has its own page with everything you need for live: the break setup, what your app needs, the supported layouts, and troubleshooting. Live channels support both delivery modes of the hybrid platform:
| Ad source | SGAI | SSAI |
|---|---|---|
| Static assets | Yes | No |
| Your ad server (VAST) | Yes | No |
| Google Ad Manager | Yes, with Google Pod Serving | Yes, with Google DAI |
Related resources
| Resource | Description |
|---|---|
| Getting started | Create a live channel and play your first break end to end. |
| Channels | Timebase, DVR window, live offset, and prefetch settings. |
| Breaks | Scheduling, punching, layouts, and the asset model. |
| Break detection | Turn the ad markers in your stream into breaks. |
| VOD | Monetize on-demand assets instead. |