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

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.