mirror of
git://f0xx.org/ac/ac-ms-sfu-signaling
synced 2026-08-12 18:12:44 +03:00
Include coturn turn_host credentials from lab config alongside public STUN. Co-authored-by: Cursor <cursoragent@cursor.com>
41 lines
1.6 KiB
Markdown
41 lines
1.6 KiB
Markdown
# SFU relay (Janus VideoRoom) — lab preview
|
|
|
|
**Post-alpha product path.** Lab stack: Janus on **cast02**, signaling on app nodes, coturn on cast02.
|
|
|
|
## Layout
|
|
|
|
| Path | Role |
|
|
|------|------|
|
|
| `public/dashboard.php` | Room list / create (auth required) |
|
|
| `public/lab.php` | **M0** browser E2E — screen-share publish + subscriber viewer |
|
|
| `public/assets/sfu-lab.js` | WebRTC + Janus WS trickle client |
|
|
| `public/api/rooms.php` | Room CRUD |
|
|
| `public/api/join.php` | JSEP join relay (publisher / subscriber) |
|
|
| `ac-deploy/.../smoke_sfu.sh` | Janus + health smoke |
|
|
|
|
## Lab E2E
|
|
|
|
1. Sign in on issues console (shared `ac_crash_sess`).
|
|
2. Open `/app/androidcast_project/sfu/dashboard` → create room → note **Janus room id**.
|
|
3. Open `/app/androidcast_project/sfu/lab` → publish screen share.
|
|
4. Second tab/browser → same lab URL → enter room id + **publisher feed id** → Subscribe.
|
|
|
|
## Milestones
|
|
|
|
| Milestone | Scope |
|
|
|-----------|--------|
|
|
| **M0** | Browser lab (`lab.php`) — getDisplayMedia publish + subscribe |
|
|
| **M1** | Android libwebrtc camera publish/subscribe (dev gate) |
|
|
| **M2** | Android MediaProjection screen share + ICE from health (coturn) |
|
|
| **M3+** | Cast encoder → SFU transport; education path; RBAC stats |
|
|
|
|
## Next (M3+)
|
|
|
|
1. Wire cast encoder → SFU publisher (replace P2P cast transport).
|
|
2. Education screen share on SFU path.
|
|
3. Session RBAC + stats → graphs.
|
|
|
|
Android: **Developer settings → Enable Janus SFU relay lab → Open SFU lab** — **Publish screen share** (M2) or **Publish camera** (M1).
|
|
|
|
See [ac-docs BUILD_DEPLOY](../../ac-docs/BUILD_DEPLOY.md) and cluster `deploy-janus-sfu.sh`.
|