1.5 KiB
1.5 KiB
Share Live
Stream your phone's camera and location to KestrelOS. Appears as a live session on the map and in Cameras. Uses WebRTC (Mediasoup) and requires HTTPS on mobile.
Usage
- Open Share live (sidebar → Share live or
/share-live) - Tap Start sharing, allow camera/location permissions
- Device appears on map and in Cameras
- Tap Stop sharing to end
Permissions: Admin/leader can start sharing. All users can view live sessions.
Requirements
- HTTPS (browsers require secure context for camera/geolocation)
- Camera and location permissions
- WebRTC ports: UDP/TCP
40000–49999open on server
Local Development
Generate self-signed cert:
chmod +x scripts/gen-dev-cert.sh
./scripts/gen-dev-cert.sh 192.168.1.123 # Your LAN IP
npm run dev
On phone: Open https://192.168.1.123:3000, accept cert warning, sign in, use Share live.
WebRTC Configuration
- Server auto-detects LAN IP for WebRTC
- Docker/multiple NICs: Set
MEDIASOUP_ANNOUNCED_IPto client-reachable IP/hostname - "Wrong host" error: Use same URL on phone/server, or set
MEDIASOUP_ANNOUNCED_IP
Troubleshooting
| Issue | Fix |
|---|---|
| "HTTPS required" | Use https:// (not http://) |
| "Media devices not available" | Ensure HTTPS and browser permissions |
| "WebRTC: failed" / "Wrong host" | Set MEDIASOUP_ANNOUNCED_IP, open firewall ports 40000–49999 |
| Stream not visible | Check server reachability and firewall |