ef78f19e72
Plus a little freshen up of the readme's
41 lines
1.0 KiB
Markdown
41 lines
1.0 KiB
Markdown
# 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://<host>:8443` for WebRTC signaling. No TURN server is required for LAN use.
|