Skip to content

Havik PlayerLive esports streams in your site

Low-latency HLS + DRM playback by Oddin.gg — a copy-paste iframe or a typed JavaScript SDK, around five seconds glass-to-glass.

Havik Player

Drop a live match into your page

html
<!-- Quickest possible integration — see the guide for production hardening. -->
<iframe
  src="https://player-dev.oddin-video.gg/embed/?baseUrl=https%3A%2F%2Ffeed-dev.oddin-video.gg&matchUrn=od%3Amatch%3A1234&apiKey=pk_test_your_key"
  allow="autoplay; encrypted-media; picture-in-picture; fullscreen"
  allowfullscreen
  referrerpolicy="no-referrer"
  style="border: 0; width: 100%; aspect-ratio: 16 / 9"
></iframe>
ts
import { mountEmbed } from '@oddin-gg/havik-player';

const embed = mountEmbed({
  container: document.querySelector('#player')!,
  src: 'https://player-dev.oddin-video.gg/embed/',
  baseUrl: 'https://feed-dev.oddin-video.gg',
  matchUrn: 'od:match:1234',
  apiKey: 'pk_test_your_key', // dev only — see the embed guide
  onEvent: (msg) => console.log(msg.type),
});

embed.play();
ts
import { createPlayer } from '@oddin-gg/havik-player';

const player = await createPlayer({
  video: document.querySelector('video')!,
  baseUrl: 'https://feed-dev.oddin-video.gg',
  matchUrn: 'od:match:1234',
  credential: { apiKey: 'pk_test_your_key' },
  muted: true,
  waitForLive: true,
});
ts
import { resolveStream, licenseRequestHeaders } from '@oddin-gg/havik-player';

const cred = { apiKey: 'pk_test_your_key' };

const stream = await resolveStream({
  baseUrl: 'https://feed-dev.oddin-video.gg',
  matchUrn: 'od:match:1234',
  credential: cred,
  waitForLive: true,
});

// stream = { manifestUrl, drm: { widevine: { licenseUrl } }, … } — feed it to
// YOUR player and attach licenseRequestHeaders(stream, cred) on license calls.
// Full hls.js wiring: see the Bring-your-own-player guide.

Your api-key only works from origins Oddin has allow-listed — onboard your domains before the first play. Streams need a match URN and a publishable api-key; both come with onboarding.

ISC licensed. Bundles hls.js (Apache-2.0).