RCWeb Camera View App

The RCWeb Camera View App (app/camera-view) is the viewer half of the RCWeb camera streaming pair. It follows the Asymmetric Pattern: viewers stay receive-only, while camera-control browsers in the same room publish WebRTC audio and video streams into the page.

Icon

icon

What it does

  • Receives room broadcasts: Discovers every compatible camera-control client in the room and requests a stream from each of them.
  • Displays live media: Renders incoming camera feeds in a responsive grid and keeps the accompanying microphone audio attached to the same video element.
  • Reconnect tools: Provides per-stream and whole-room reconnect buttons so viewers can ask broadcasters to renegotiate a stream.
  • Audio monitoring control: Lets the viewer enable or mute room audio locally to accommodate browser autoplay restrictions.

How it works

  • RCWeb signaling: script.js uses rc.sendFunctionCall(...) to request streams, receive broadcaster presence updates, and exchange WebRTC answers and ICE candidates.
  • Receive-only peer connections: Each broadcaster gets its own RTCPeerConnection with recvonly transceivers so the viewer stays passive and never captures local media.
  • Broadcaster metadata: Lightweight presence messages keep the UI updated with broadcaster names and whether audio or video is currently available.
  • Room cleanup: Stream cards are removed when RCWeb reports that a broadcaster has left the room or explicitly signals that it is closing.

Notes

  • Remote audio may require a user click before the browser allows playback.
  • Like the controller app, this viewer relies on STUN servers and does not include TURN relay support.
DocumentationServer TelemetryServer StatsServer HTTP LogServer WebSocket Log