Janus is a WebRTC media gateway that routes real-time audio, video, and data between web browsers and server-side application logic. It functions as a central media relay that manages session negotiation and encryption for multiple browser endpoints.
The project utilizes a modular plugin architecture that decouples the core server from specific media logic, allowing developers to implement custom modules for media processing, event handling, and transport protocols. This design enables the server to act as a protocol translation bridge, converting WebRTC streams into legacy formats such as SIP or RTP to interconnect disparate communication systems.
The server covers a broad range of real-time communication capabilities, including multi-party video conferencing, audio stream bridging, and live media streaming. It provides tools for media recording and playback, as well as SIP telephony integration. The system includes a transport-agnostic control plane for JSON message exchange via WebSockets, HTTP, and MQTT, supported by DTLS-SRTP stream encryption and token-based authentication.
Janus can be deployed as a background daemon or a lightweight gateway for cloud and embedded devices, and includes a built-in web server for hosting local demo applications.