Logo / watermark Branding
Your logo in any corner, at the size and opacity you choose, optionally a link. It steps aside for captions and title cards, and hides during ads unless you want it there.
Logo, pre-roll, mid-roll, post-roll and full ad pods, played from standard VAST 4 and VMAP tags by the ViewStream Player itself. Press play on any example below. The ads here are our own short promos, served from this site.
Your logo in any corner, at the size and opacity you choose, optionally a link. It steps aside for captions and title cards, and hides during ads unless you want it there.
Plays before the content starts, on video on demand and on live channels. Skippable after 5 seconds, with a “Learn more” click-through.
A break inside the programme, here at 0:10. Cue points come from the VMAP, from markers on the asset, or every N minutes. Scrubbing past several cues plays one break, not all of them.
Plays when the content ends: a natural place for the next episode, a sponsor message or a call to action.
Pre-roll, a mid-roll at 0:15 and a post-roll from one VMAP document, exactly as an ad server would send it.
No skip button: for sponsorship spots and your own “house” promos. In Studio you can pick any video from your library as the pre-roll and rotate several of them.
The skip button, countdown and progress follow the player’s skin, so an ad never looks bolted on. Pick a look and press play: the pre-roll comes first.
Browse all 100 skins in the skin library → · See branded players →
Any compliant ad server: wrappers (up to 5 hops), ad pods, linear MP4 creatives, skip offsets, click-through, error codes and tracking pixels.
Ads play in their own layer over the stage. Live edge, DVR position and the stream itself keep running underneath. A failing ad falls back to the content, never blocks it.
Caps per session and across pages, a minimum interval between breaks, and no ad request without consent where your site asks for it (TCF and our own banner).
Every request, impression, quartile, skip, click and error reaches your analytics as an ad event, next to the viewing data.
{
"ads": {
"enabled": true,
"positions": ["pre", "mid", "post"],
"default_tag": "https://ads.example.com/vmap?content=[CONTENT_ID]",
"skip_offset_s": 5,
"max_per_session": 3
},
"branding": { "logo": "https://cdn.example.com/logo.png", "logo_position": "top-right" }
}
Music in the demo ads: “Sunset Paradise [The 2026 Remixes]” by Sascha Ende (ende.app), licensed under CC BY 4.0.
Bring your ad server tag, or run your own house ads from Studio.