Goal
Implement scalable live-stream viewer distribution using MediaSoup PipeTransport and worker-aware router selection.
Current Architecture
- Single Worker
- Single Router
- Broadcaster produces audio/video
- Viewers consume directly from same Router
Target Architecture
Main Broadcaster
│
Router A
(Ingress Router)
│
┌─────┼─────┐
│ │ │
▼ ▼ ▼
Router B Router C Router D
- Router A hosts broadcasters/co-hosts.
- Viewer routers (B/C/D) host consumers only.
- Producers are piped from Router A to viewer routers.
- Viewers are assigned based on worker load.
Tasks
Worker Load Tracking
Router Selection
PipeTransport Infrastructure
Live Session Registry
Example:
{
ingressRouterId,
producerIds,
pipedRouters
}
Viewer Join Flow
Producer Synchronization
Metrics & Logging
Future Investigation
Docs to refer
https://mediasoup.org/documentation/v3/mediasoup/api/?utm_source=chatgpt.com#RouterOptions
Goal
Implement scalable live-stream viewer distribution using MediaSoup PipeTransport and worker-aware router selection.
Current Architecture
Target Architecture
Tasks
Worker Load Tracking
Router Selection
PipeTransport Infrastructure
router.pipeToRouter().Live Session Registry
Example:
Viewer Join Flow
Producer Synchronization
Metrics & Logging
Future Investigation
Docs to refer
https://mediasoup.org/documentation/v3/mediasoup/api/?utm_source=chatgpt.com#RouterOptions