Files
ac-ms-sfu-signaling/examples/sfu/README.md
Anton Afanasyeu aa98516d3e SFU health: expose ice_servers for WebRTC clients (M2).
Include coturn turn_host credentials from lab config alongside public STUN.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 22:45:52 +02:00

1.6 KiB

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 labPublish screen share (M2) or Publish camera (M1).

See ac-docs BUILD_DEPLOY and cluster deploy-janus-sfu.sh.