Low-latency remote access to a Windows PC from a web browser. Stream the desktop to a phone, tablet or another computer and use it with mouse, keyboard, touch and game controllers, with nothing to install on the device you connect from.
A small host program on the PC captures the screen, encodes it on the GPU and streams it over WebRTC. The host serves the web client, pairing and signaling itself, so there is no separate server to run.
- Fast enough for games. Hardware encoding (NVENC: H.264, H.265, AV1), late frames dropped rather than queued, mouse motion on an unreliable channel.
- Audio both ways. Game audio to the browser; the browser's microphone to the PC as a virtual microphone.
- Controllers. Browser gamepads appear as Xbox 360 or DualShock 4 controllers, with rumble.
- Multiple displays. Switch between the PC's displays from the browser.
- File transfer. Send files from the PC to the browser, and optionally back.
- Phones and tablets. Trackpad and direct-touch modes, pinch zoom, on-screen keyboard and extra keys.
- Security. Devices pair with a one-time code or QR code shown on the PC; nothing on the network can start pairing unattended. An optional Windows service reaches the sign-in screen and UAC prompts, with the network-facing part running unprivileged.
- Host: Windows 10 or 11 with an NVIDIA GPU.
- Client: a recent Chrome or Edge (desktop or Android), or Safari on iPhone and iPad.
Download web-stream-setup-X.Y.Z.exe from the latest release and follow Getting started.
Using web-stream
- Getting started: install, set up and pair a device
- Connecting from outside your home
- Cloudflare Tunnel
- Using the browser client
- The host app
- Microphone, game audio and controllers
- Sign-in screen and administrator programs
- Troubleshooting
Developing web-stream
- Architecture
- Building from source
- Host options reference
- Signaling, pairing and transport
- Client and host wire protocol
- Browser client development
- Diagnostic logging
- Releasing
cargo build --workspace
cargo test --workspace
The workspace builds on any OS; capture and encoding need Windows. See Building from source.