Player

Adaptive playback
for every context.

Adaptive video and direct audio playback with standard file fallback. The same player works for internal review, public embeds, key-protected sharing, and custom portals.

Adaptive playbackFallback deliveryVAST adsWatch linksEmbed controlCustom domain

Player capabilities

What the player does.

Adaptive quality switching

The player selects the right rendition based on available bandwidth and can fall back to a standard file when adaptive playback is unavailable.

Keyboard shortcuts

Space to play/pause, arrow keys for seek and volume, F for fullscreen, M for mute — all active when the player has focus.

Picture-in-Picture

Native PiP support lets viewers pop the player into a floating window while navigating elsewhere in the browser.

VAST ad tags

Pre-roll, mid-roll, and post-roll ad support via a VAST-compatible ad tag URL. Configurable per video.

Quality selector

Viewers can manually override adaptive selection and lock to a specific rendition from the player controls.

Playback configuration

Autoplay, mute-on-load, loop, and metadata overlays are all configurable per video and per channel.

Audio and cover artwork

Uploaded audio plays in the same Video.js-based player, with persistent cover artwork or a compact controls-only embed.

Watch links

Four visibility modes.

Every video gets a watch page URL. The visibility of that page is set per video and determines who can access it. Combine modes with embed control to publish exactly where you intend.

Key-protected links are the middle ground between unlisted and private: the URL alone doesn't grant access, but no user account is needed — just the watch key distributed separately.

Public

Anyone with the link can watch. No authentication required.

Unlisted

Accessible to anyone who has the URL, but not indexed or listed publicly.

Private

Only authenticated users with access to the channel can view.

Key-protected

Requires a watch key appended to the URL. Share the key separately from the link.

Distribution

Embed & domain control.

Embeds are controlled at the channel level. Specify which origins are allowed to embed the player via iframe — requests from unlisted origins are refused. This prevents the player from loading on unauthorized sites.

Embed origin control

Set a list of allowed embed origins per channel. The player refuses to load inside an iframe from any domain not on the list. Leave the list empty to allow embeds from anywhere.

Custom domain per channel

Each channel supports a separate delivery domain, CDN domain, and player domain. Watch page URLs and HLS manifest URLs reflect these custom domains — no shared hostnames across channels.

Watch page URLs

Every video has a dedicated watch page that renders the player, title, and metadata. Pages are shareable as direct links and respect the video's visibility setting on every load.

Questions about player setup?

We can walk through your embed requirements, domain configuration, and ad integration needs.