WHIP in · WHEP out · no transcoding

Sub-second streaming.
One binary. Your server.

Xtream takes OBS in over WHIP and delivers to browsers over WHEP in under 300 milliseconds. No JVM, no cluster, no transcoding pipeline — a single 30 MB Go binary that idles at less memory than a browser tab.

$50/month per server · $40/month billed annually · cancel anytime

https://stream.yourdomain.com/?stream=arena-cam-01
Crowd in front of a lit concert stage
Live1,284
arena-cam-0184 ms glass-to-glass
OBS · WHIP
Video
Audio
4 820 kbps · H.264
SFU relay
forwarding, not transcoding
OBS Studio 30+WHIPWHEPH.264OpusChromeSafariFirefoxEdgeiOSAndroidSmart TVSTUN / TURNsystemdDockeramd64 · arm64
< 300ms
End-to-end latency
< 30MB
Memory at idle
< 10%
One vCPU at 50 viewers
< 500ms
Cold start

Three hops, and none of them decode

Most latency in streaming comes from buffering and re-encoding. Xtream does neither. Packets arrive, get matched to subscribers, and leave.

One ingest, many egress

RTP forwarded, never re-encoded
OBSWHIP inXtreamSFU~0 ms addedBrowserBrowserMobileSmart TV1 publisher100+ viewers per vCPU
< 100 ms

OBS pushes

WHIP is native in OBS 30+. Point it at your server and hit Start Streaming. No plugin, no RTMP bridge.

~ 0 ms

Xtream forwards

A pure SFU. RTP packets are relayed untouched — no decode, no re-encode, no transcoding pipeline to fall behind.

< 150 ms

Browsers play

WHEP over plain HTTP into a native RTCPeerConnection. The player detects the stream and starts on its own.

Glass-to-glass latency

linear scale · lower is better
Xtream
WHIP → SFU → WHEP
300ms
Ant Media
WebRTC, Java SFU
800ms
Low-latency HLS
Chunked CMAF
3s
Standard HLS / DASH
Segmented
15s

Installed in one command

Activates your key, verifies the checksum, installs a systemd unit, and starts streaming.

$curl -fsSL https://stream.dxform.ph/install.sh | sudo sh -s -- --key=XT-••••-••••-••••-••••
Debian / Ubuntu / RHEL
amd64 and arm64
systemd service
SHA-256 verified

Where the last two seconds matter

Anywhere the audience can hear the room next door, or refresh a scoreboard, delay stops being a technical detail and starts being the product.

Football match under stadium floodlightsLiveSport

Betting and live odds

A two-second lead is a broken market. Viewers see the play as the stadium does.

Crowd in front of a lit concert stageLiveMusic

Ticketed concerts

Remote audiences react with the room instead of behind it — chat and applause stay in sync.

Gaming setup with multiple monitorsLiveGaming

Esports and co-streams

No delay to game against, so casters and viewers share one clock.

Congregation at a lit auditorium serviceLiveCommunity

Services and assemblies

One small server carries the whole congregation, on hardware you already pay for.

Trading desk with candlestick charts on multiple screensLiveBusiness

Auctions and trading floors

Bids land against what is on screen right now — latency is the product.

Audience watching a large screen at a conferenceLiveEvents

Conferences and town halls

Remote attendees ask questions while the speaker is still on the point, instead of a minute after it.

What you stop paying for

The incumbent in this space is a Java application server. Here is the difference that makes, measured on the same workload.

MetricJava media serverXtream
Baseline memory300–800 MB15–30 MB
Startup time10–30 s< 1 s
Latency500–800 ms< 300 ms
Install sizeHundreds of MB + JVMOne 30 MB binary
DeploymentWAR files, JVM tuningcurl | sh
CPU, 1 stream + 10 viewersHigh — threads, GCNegligible

Questions worth asking

Where does Xtream run?

On your Linux server — a $5 VPS is enough to start. We sell the license; you own the infrastructure, the bandwidth, and the data. Nothing about your streams passes through us.

Do I need a license key to install it?

Yes. The installer activates your key before it downloads the binary, and the server verifies its license at every boot. One key binds to one machine; you can move it to new hardware from your dashboard.

What happens if your licensing service goes down?

Nothing, for a running server. It carries a signed 24-hour entitlement token and keeps streaming for a full day without reaching us. A live broadcast is never interrupted by an outage on our side.

How many viewers can one server handle?

Around 100 concurrent viewers per vCPU for a single publisher, because packets are forwarded rather than transcoded. Viewers are not metered or capped by your license — only servers are.

Which codecs work?

H.264 and Opus pass straight through, which is what OBS sends by default with WHIP. There is no transcoding, so whatever your encoder produces is what viewers receive.

Can I run more than one server?

Yes — each server needs its own key at $50 a month. Add or remove servers from your dashboard and billing follows automatically.

Streaming in about five minutes

Subscribe, copy your key, paste one command into your server. Point OBS at it and you're live.

Already a customer? Sign in to your dashboard