Browser media · Peer-to-peer · No cloud

A video call with
no cloud in the middle.

alt-rtc-java is a two-way audio and video call between peers. Your browser does the real-time work — capture, Opus/VP8 codecs, echo cancellation — and a small local program carries the encoded frames straight to your peer over an encrypted P2P link. No meeting room, and no cloud service can read your call.

no meeting room · no STUN/TURN · no cloud service can read your call

What it is

The browser does the media. You keep the path.

A small local program serves the call page and moves your encoded frames to your peer. Everything real-time happens in the browser; everything on the wire is yours.

The media

Your browser, not WebRTC

Camera and mic capture, Opus/VP8 codecs, echo cancellation and jitter buffering all run in the browser via WebCodecs. No RTCPeerConnection, no STUN/TURN, no SFU — the media rides alt-p2p's own transport instead.

The flow

One command, driven from the web

Run java -jar alt-rtc-java.jar call and open the page it serves. Set the coordinator, session and key, then Connect. The tunnel and the call stay separate: be on the line, then Join call when you're ready.

Transport

Through NATs, encrypted end to end

Direct UDP hole-punching with a DTLS-encrypted channel, and a TCP relay that takes over if the punch fails. The coordinator only introduces the two peers — it can't see your call, and carries only ciphertext in relay fallback.

The call

Two tiles, and everything you'd expect

Two equal video tiles, mic and camera toggles, device pickers, and an in-call text chat with a typing indicator. A chip shows how you connected — direct LAN, UDP hole-punch, or relay. Chrome, Edge, Brave, or Safari 18+.

How it connects

Two people. One call. No server can read it.

Both machines try to punch through their routers and carry the call directly over UDP. When they can't, a lightweight coordinator relays the traffic over TCP — end-to-end encrypted, so it can't see your call.

You
A peer
runs the call program — the browser captures & encodes
Rendezvous
Coordinator
introduces peers · relays encrypted if needed · can't see your call
Peer
A friend
joins with the same session and key

The coordinator is required, but lightweight — license it to run your own, or let us host it for you. Start with a free trial.

More than a call part of the alt-p2p family

A calling app on a general-purpose transport.

Underneath is a general-purpose, encrypted peer-to-peer transport for connecting machines across networks — no public IP, no port forwarding, nothing of yours exposed to the internet. It's the same stack behind our peer-to-peer file transfer, version control, BBS, and HTTP tunneling. Prefer no install at all? alt-rtc is the same call, 100% in the browser.

Peer-to-peer End-to-end encrypted The coordinator can't see your call Self-host the coordinator Runs anywhere Java runs
It's early days

Calling, without a cloud middleman.

alt-rtc-java is in active development. It's been validated live between two machines over the open internet — two-way audio and video, direct UDP hole-punch, DTLS-encrypted — on Chrome, Edge, Brave and Safari 18+.

Requires: JDK 17+ on each peer, a modern browser (Chrome, Edge, Brave, or Safari 18+) on each end, and a coordination server both can reach. Camera and mic are used only in your browser.