Beam Windows Companion

Publish a real Windows desktop source into a Beam stream without OBS.

The companion is for PC-owned sources. The browser dashboard can publish browser tabs, windows, camera, and microphone. The Windows companion publishes the machine's primary display into the same Beam stream room using the stream join token.

Available now

Primary-display video publishing from Windows into `/v1/streams/realtime` using native capture, H.264 encoding, and WebRTC viewer delivery.

Still next

Exact game/window picking, external capture devices, and native audio-source routing are separate capture modules and should not be presented as complete yet.

Browser alternative

If the source lives in the browser, use the dashboard's browser publisher or the Stream SDK with `getDisplayMedia`, `getUserMedia`, or `canvas.captureStream()`.

Companion flow

  1. Create a public or private stream in the Beam dashboard.
  2. Copy the stream join token from the dashboard stream details.
  3. Open the Windows app, go to Streams, and paste the join token in Publish this PC.
  4. Keep the Beam API base as `https://beam.be-online.ro/api` unless you are testing another environment.
  5. Click Publish this PC. Beam registers the Windows source, accepts the stream, opens realtime signaling, and starts sending encoded desktop frames to connected viewers.
  6. Open the stream viewer or public streams page to watch the live source.

Protocol details

POST /api/v1/join
{ "join_token": "jt_..." }

POST /api/v1/streams/{stream_id}/sources
{
  "join_token": "jt_...",
  "type": "screen",
  "label": "Windows primary display",
  "audio_enabled": false,
  "video_enabled": true
}

WebSocket /api/v1/streams/realtime
?token=jt_...
&role=publisher
&source_id=src_...
&peer_id=native_...