Configure the Janus VideoRoom plugin to host a multi-party SFU session

domain: janus.conf.meetecho.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Ensure the Janus gateway is compiled with the VideoRoom plugin enabled (it is included by default); edit janus.plugin.videoroom.jcfg to set global defaults such as admin_key for room management and whether rooms are recorded by default.
  2. Create a room by sending a Janus API message to the videoroom plugin handle with request: 'create', including room (integer), description, bitrate, max_publishers, and optionally record: true with rec_dir pointing to your recording path.
  3. Each participant establishes a Janus session via HTTP long-poll or WebSocket, attaches to the videoroom plugin, and sends a join message with request: 'join', room, ptype: 'publisher', and display name.
  4. After joining as publisher, the client sends an offer SDP in a publish request; Janus responds with an answer SDP. The client then sends trickled ICE candidates via the trickle Janus API message.
  5. To subscribe to another publisher, create a separate plugin handle, join with ptype: 'subscriber', and specify the publisher's feed ID; Janus sends an offer for the subscriber handle and the client answers.
  6. Manage rooms server-side via the Janus Admin API (requires admin_secret) or via plugin messages with the admin_key to list rooms, kick participants, or destroy rooms.

Known gotchas

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans