Water

H2O

The realtime media stack behind Water.

A Rust SFU with RTMP and WHIP ingest, recordings, HLS, and an AI media bridge — built in house and running in production: every live stream, recording, and simulcast on water.xyz goes through H2O.

import { H2ORoom } from '@h2o/web';

// token minted by your server via the H2O control API
const room = new H2ORoom();

room.on('trackSubscribed', (track, stream, participant) => {
  videoEl.srcObject = stream;
});

await room.connect('wss://h2o.example.com/ws', token);
await room.publishCamera();

What it does today

SFU rooms over WebRTC

Multi-party rooms with WebSocket signaling, JWT room tokens, track subscribe on join, mute, metadata, and reconnect.

RTMP ingest

A real RTMP server on :1935 with stream-key validation — point OBS or a hardware encoder at it and the feed publishes into the room.

WHIP ingest

Standards-based WebRTC ingest: SDP offer in, answer out, trickle ICE via PATCH.

Recordings

Webhook-driven lifecycle producing an MKV master plus a browser-ready MP4, validated before it is ever served.

Live HLS and RTMP egress

HLS playback for passive viewers, and RTMP egress to simulcast a room to external platforms.

AI media bridge

Pull room audio as Ogg/Opus and sampled video frames out; publish generated audio and clips back in as bot tracks. This is what Water's AI co-host speaks through.

Signed webhooks

HMAC-SHA256-signed events for room, participant, track, recording, and egress lifecycle.

Multi-tenant control plane

Tenants, API key pairs, quotas, and usage counters on the control API.

SDKs

Web, React, and React Native SDKs exist and power Water itself. They are in early access — not yet published to a public registry.

@h2o/web

H2ORoom, camera/screen publishing, events, REST client.

@h2o/react

Room provider, VideoTrack/AudioTrack, useTracks and friends.

@h2o/react-native

The same room API on an in-repo native WebRTC bridge.

Where this is going

H2O is proven in production as Water's own stack. The developer platform around it — public SDK releases, docs, self-serve API keys, and metered billing — is being built in the open. If you want to build on it early, we'll work with you directly.

Request early access