# WebRTC Streamer ROS 2 node that subscribes to a camera image topic, encodes frames as VP8 via GStreamer, and streams them to browsers over WebRTC. A single encode pass is shared across all connected clients. --- ## Architecture ``` /camera/image_raw → webrtc_streamer → WebSocket :8443 → Browser (ROS 2 topic) (VP8 encode) (signaling) ``` --- ## Subscribed topics | Topic | Type | Description | |---|---|---| | `IMAGE_TOPIC` | `sensor_msgs/Image` | Camera frames to encode and stream | --- ## Environment variables | Variable | Default | Description | |---|---|---| | `IMAGE_TOPIC` | `/camera/image_raw` | ROS 2 topic to subscribe to | | `PORT` | `8443` | WebSocket signaling port | | `BITRATE` | `2000000` | VP8 target bitrate in bps | --- ## Connecting a browser Open `client.html` (located in this directory) in any browser that can reach the host. Enter the server hostname or IP and click **Connect**. The client connects to `ws://:8443` for WebRTC signaling. No TURN server is required for LAN use.