Media

Money

Dispatch

Company

WAVE · Crest

Your camera, live in a browser tab anywhere on Earth.

Point any HDMI, SDI, or NDI source at a URL and it lands, live and moving, in a plain browser tab — no app, no encoder box, no streaming server. The media streams device → relay → tab, never touching a transcode farm or CDN. Metered by the minute, $0 when nothing's flowing.

live ingest · device → relay → tab1080p30 · H.264
device → relay
124,430
frames encoded
relay → tab
124,412
frames delivered
tab decode
7.6 ms
WebCodecs → canvas
HDMISDINDIno app$0 idle

Live, not a mock

$ curl -s https://crest.wave.online/v1/crest/healthz
{"ok":true,"product":"crest","relay":"wss://moq.wave.online","failClosed":true,"metered":true}

The worker never sees your video

Your device publishes H.264 straight to a media-over-QUIC relay (MoQ draft-18) that forwards it untouched — no transcode farm to rent, no CDN to propagate through — and the browser decodes it natively with WebCodecs, so there's no player SDK to embed and no viewer app to ship. Crest only mints the ingest session and meters the minutes; auth, scope, and billing federate through the WAVE gateway (api.wave.online).

  device (crest-publish)
    │  H.264 access-units, 1 per MoQ object
    ▼   wss://moq.wave.online (draft-18)
  relay ─▶ /console  live browser preview (WebCodecs → canvas)
    │
    └─ session, auth + metering federate through api.wave.online
open sessionPOST /v1/crest/session → {namespace, track, relay, publishPath, subscribePath, sessionToken, …} (illustrative)
close + meterPOST /v1/crest/session/close {sessionToken} → wave_crest_minutes
authAuthorization: Bearer <key> (via gateway)
previewGET /console
healthGET /v1/crest/healthz → {"ok":true,"product":"crest","relay":"wss://moq.wave.online","failClosed":true,"metered":true}

One edge of the WAVE protocol plane

The same session that lights up a live browser preview turns your source into an AI-native, addressable ingest node — and once a feed is on WAVE transports, it composes with everything else WAVE can run against a moving picture: sensing, captions, routing, metering, injection. Every source you plug in becomes entitled and billable through one gateway.

Federated — auth, entitlement, and metering run through api.wave.online; this spoke mints the ingest session and renders the console. The media never touches this worker — it flows device → relay → browser.