RCWeb Camera Out App

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

Icon

icon

What it does

  • Single-camera display: Accepts the first incoming camera-control stream and renders it fullscreen with no chrome.
  • Waiting state with QR code: While no broadcaster is connected, displays a "Waiting for camera to connect…" message and a QR code that links directly to the camera-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 camera-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: A self-contained QR code encoder (byte mode, EC level M, versions 1-10) generates the code on a <canvas> without any external library.
  • 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 camera-view app, this viewer relies on STUN servers and does not include TURN relay support.
DocumentationServer TelemetryServer StatsServer HTTP LogServer WebSocket Log