Two independent branding layers — one inside the video frames, one in the player UI.
Layer 1 — Video watermark (burned-in)
A semi-transparent logo composited into every frame of the transcoded video. Permanent — it travels with the video wherever it's played, even on third-party HLS players.
- Selected at upload time in the Smart Stream Console
- PNG with transparency, max 200 KB
- Position: top-left / top-right / bottom-left / bottom-right
- Opacity: configurable (default 60 %)
- Cost: +5 Credits per video (one-time, at upload)
⚠️ Watermarks are permanent
Burned-in watermarks cannot be removed after processing. If you need to change the logo, re-upload the source. Plan accordingly for brand refreshes.
Best practices for the watermark image:
- Use a transparent PNG, not JPG (no white box around the logo)
- 256–512 px on the longer edge is plenty — anything bigger gets downscaled
- Single-colour or two-tone logos read better at low opacity than busy multi-colour designs
- Test it against the brightest frame in your video — if you can't read it there, drop the opacity
Layer 2 — Player overlay (UI element)
A logo rendered inside the player chrome, on top of the video. Non-destructive — only viewers using the Ansdev Player SDK see it. Configurable via JSON at runtime — no re-upload needed.
const player = new AnsdevPlayer({
container: '#player',
videoId,
playbackToken,
brand: {
name: 'Acme Learning',
logo: 'https://cdn.example.com/logo.svg',
accent: '#FF6B6B',
},
});
Same controls in React via the brand prop.
"Powered by Ansdev Cloud"
A small "Powered by Ansdev Cloud" watermark is present in the player chrome on the free tier and cannot be removed. Your brand appears alongside it, not in place of it. Removal is part of the upcoming Scale plan — contact us if it's blocking a deal.
Which layer should I use?
| You want… | Use |
|---|---|
| Logo visible on any HLS player, even third-party | Watermark (Layer 1) |
| Logo only when playing through your site / app | Player overlay (Layer 2) |
| To change the logo after a rebrand | Player overlay (Layer 2) — Layer 1 needs re-upload |
| Anti-piracy "this is ours" deterrent | Watermark (Layer 1) |
| Best customer perception (no clutter in the frame) | Player overlay (Layer 2) |
You can stack both — burn a small corner watermark for piracy deterrence, and render a larger logo via the player overlay for brand reinforcement during playback.