RCWeb Screen Out App
The RCWeb Screen Out App (app/screen-out) is a minimal, fullscreen screen output viewer. It follows the Asymmetric Pattern: a single screen-control broadcaster publishes a WebRTC stream and this app displays it edge-to-edge with no surrounding UI.
Icon

What it does
- Single-screen display: Accepts the first incoming
screen-control stream and renders it fullscreen with no chrome.
- Waiting state with QR code: While no broadcaster is connected, displays a "Waiting for screen share to connect..." message and a QR code that links directly to the
screen-control app in the same room.
- No UI framework: Does not use UIKit or any other component library, just a
<video> element and a minimal overlay.
- Click to fullscreen: Tapping or clicking the video toggles the browser fullscreen mode.
How it works
- RCWeb signaling:
script.js uses rc.sendFunctionCall(...) for the same WebRTC signaling protocol as screen-view (requesting streams, exchanging SDP answers and ICE candidates).
- Receive-only peer connection: A single
RTCPeerConnection with recvonly transceivers keeps the viewer passive.
- Inline QR code generator: Uses the bundled QR library to render a join code that opens the matching controller room.
- Auto transitions: The waiting overlay fades out when video goes live and reappears if the broadcaster leaves or the connection drops.
Notes
- Audio is unmuted by default. If the browser blocks autoplay with audio, the video will fall back to muted playback.
- Like the screen-view app, this viewer relies on STUN servers and does not include TURN relay support.