Hakari

Getting started

In five minutes you'll have a live stream you can watch in any HLS-capable player.

1. Create a project

  1. Sign in and either create an organization (first time) or pick one.
  2. Under your org, create a project — streams and VODs are always project-scoped, and your URL slugs derive from the project name.

2. Create a stream

From Dashboard → Streams → + New stream:

  • Name — anything readable (Weekly webinar, Game 4 highlights).
  • Renditions — pick from 1080p, 720p, 480p, 360p. More rungs = more CPU, more bandwidth, better device coverage. Default 720p + 480p is a good starting point.
  • Protocols — leave LLHLS on (sub-3-second latency in all modern browsers). Add HLS if you need legacy Safari support, WebRTC for sub-second.
  • Recording (VOD) — turn on if you want the stream saved to S3 automatically. Finalized recording is playable at <edge>/vod/<streamKey>/index.m3u8.
  • DVR — lets viewers scrub backwards into the live window. Maximum window is bounded by your plan.

Click Create. You'll land on the stream detail page with an Ingest server URL, a stream key, and a username + password.

3. Push with OBS

In OBS → Settings → Stream:

  • Service: Custom
  • Server: paste the Ingest URL from the stream detail page. It looks like rtmp://<user>:<pass>@ingest-in-mum-1.hakari.cloud:11935/app — credentials are already embedded.
  • Stream Key: your stream key
  • Leave "Use authentication" unchecked. It triggers RTMP challenge-response auth that our servers don't validate; the user:pass@ in the URL is all you need.

Hit Start Streaming. Within a second the status on the stream detail page flips to Live.

4. Play

On the stream detail page, copy the LLHLS URL. Paste into:

  • hls.js demo — quickest browser test
  • OvenPlayer — built for LLHLS, shows buffer stats
  • VLC: File → Open Network Stream with the HLS URL (LLHLS is also served as HLS — older players ignore the low-latency tags)

Or just use the embedded player on the stream detail page.

5. Stop + play the recording

Stop OBS. The stream status drops to Disabled after a few seconds (the container auto-shuts on inactivity). If recording was on, the VOD playback URL on the detail page becomes live once segments finish uploading — usually under 10 seconds after stop.

The recording is a normal HLS master playlist and works in every HLS-capable player. You can also pull the recording out of your S3 bucket directly at vod/<streamKey>/index.m3u8.

Next

  • Live streams guide — protocol trade-offs, DVR, push authentication, rotation.
  • Signed playback — gate URLs with short-lived signatures.
  • Webhooks — notify your backend when streams go live or VODs finish processing.
  • API reference — skip the dashboard and do everything via HTTP.