Janus
General-purpose WebRTC server and gateway by Meetecho. A plugin-based C library that powers custom real-time applications — video rooms, SIP gateways, streaming, and data channels — rather than a ready-to-use conferencing product
Quick Start
docker run -d --net=host -e DOCKER_IP=<your-public-ip> canyan/janus-gateway:latest Overview
Janus is a WebRTC server and gateway developed by Meetecho, the company that created the WebRTC standard’s reference implementations. It is not a conferencing product you deploy and immediately use. It is a media server platform with a plugin architecture — a foundation you build real-time applications on top of.
The plugin system is what makes Janus flexible. Each plugin implements a different kind of real-time communication: VideoRoom handles multi-party video conferences, VideoCall handles one-to-one calls, Streaming broadcasts a live feed to many viewers, AudioBridge mixes audio channels, SipGateway bridges SIP telephone calls into WebRTC sessions, and TextRoom handles data channel messaging. You can run all of them simultaneously from one server, and build applications that combine them.
Signalling is deliberately left to you. Janus handles the media — the actual audio and video streams — but the signalling protocol that coordinates session setup, participant joining, and state changes is not prescribed. You can use REST, WebSockets, RabbitMQ, or MQTT depending on what your application architecture requires. This flexibility is what makes Janus a general-purpose building block rather than an opinionated product.
The trade-off is development complexity. Building a working video application on Janus requires understanding WebRTC fundamentals — SDP, ICE, SRTP, STUN/TURN — as well as Janus’s own session and handle model. The JavaScript client library and official demos reduce the ramp-up time, but this is firmly developer-facing infrastructure.
For teams that need a ready-made conferencing platform, Jitsi Meet or Galène are more appropriate. For teams building a custom real-time application — a telehealth platform, a live streaming product, a browser-based SIP client — Janus provides a mature, well-documented server foundation.
Janus: Pros & Cons
| Pros (The Wins) | Cons (The Friction) |
|---|---|
| Plugin architecture: Video rooms, SIP, streaming, audio bridge in one server. | GPL-3.0 licence: Commercial products may need a Meetecho commercial licence. |
| 9.1k stars: Established, actively maintained by the Meetecho team. | Not turnkey: You build the application; Janus provides primitives. |
| Flexible signalling: REST, WebSockets, or message queues — your choice. | C codebase: Compilation and system deps; involved customisation. |
| Official JS/iOS/Android SDKs: Client libraries and demos accelerate development. | WebRTC learning curve: SDP, ICE, SRTP knowledge required to build on it. |
Use Cases
Specific ways to use Janus for your workflow.
Deployment Strategy
Recommended ways to host Janus in your own environment.