|
1 | 1 | # BGCE Stream v0.1.0 (Audio Rooms MVP) |
2 | 2 |
|
3 | 3 | ## Goals |
4 | | -- One-click room creation with a unique, shareable link |
| 4 | +- Room creation with a unique, shareable link |
5 | 5 | - Join by link and start streaming immediately |
6 | | -- Browser-only audio processing toggles: AGC, Noise Suppression, Music Mode |
7 | | -- Preserve audio richness using WebRTC/Opus tuning |
8 | | -- Designed for small-to-medium "bhai-brother" groups |
9 | 6 |
|
10 | 7 | ## Scope |
11 | 8 | - WebRTC P2P mesh (no SFU) with JSON signaling over `/ws` |
12 | 9 | - REST API for room lifecycle |
13 | 10 | - No UI overhaul; minimal pages and controls |
14 | 11 |
|
15 | 12 | ## API |
16 | | -- POST `/api/rooms` → `{ roomId, joinUrl }` |
17 | | -- GET `/api/rooms/{roomId}` → `{ exists: boolean }` |
18 | | -- WS `/ws` → JSON messages: `join-room`, `offer`, `answer`, `candidate`, `leave` |
19 | 13 |
|
20 | 14 | ## Signaling Messages (examples) |
21 | | -```json |
22 | | -{"type":"join-room","roomId":"abc","peerId":"peer-1"} |
23 | | -{"type":"offer","roomId":"abc","peerId":"peer-1","targetPeerId":"peer-2","sdp":"..."} |
24 | | -{"type":"candidate","roomId":"abc","peerId":"peer-1","targetPeerId":"peer-2","candidate":{}} |
25 | | -``` |
26 | 15 |
|
27 | 16 | ## Audio Presets |
28 | | -- Voice: echoCancellation, autoGainControl, noiseSuppression (all true) |
29 | | -- Music: disable EC/AGC/NS, prefer stereo, higher bitrate |
30 | 17 |
|
31 | 18 | ## Contributing |
32 | 19 | See [Contributing Guide](../CONTRIBUTING.md) for detailed contribution workflow. |
|
0 commit comments