awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
meetecho avatar

meetecho/janus-gateway

0
View on GitHub↗
9,117 stars·2,617 forks·C·GPL-3.0·22 viewsjanus.conf.meetecho.com↗

Janus Gateway

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.

Features

  • Real-Time Media Streaming - Broadcasts live audio and video content to web browsers with low latency.
  • Real-Time Media Servers - Acts as a real-time media server managing the routing of audio, video, and data streams.
  • WebRTC Media Processing Plugins - Enables the development of server-side plugins for bespoke WebRTC media processing and communication logic.
  • Live Media Streaming - Delivers live audio and video streams to web browsers for real-time playback.
  • RTP/RTCP Packet Processors - Processes and forwards individual RTP and RTCP packets for real-time media streaming and control.
  • Media Protocol Bridges - Bridges WebRTC streams into legacy formats like SIP or RTP to enable interoperability with telephony systems.
  • STUN/TURN Traversal Services - Configures STUN servers and gathering rules to facilitate peer-to-peer connectivity across NATs and firewalls.
  • Video Conferencing Systems - Manages multi-party video conferencing rooms with synchronized audio, video, and data channels.
  • WebRTC Media Orchestration - Routes real-time audio, video, and data between web browsers and server-side logic using WebRTC.
  • ICE-Based Peer Connection Managers - Handles network discovery and maintenance using ICE to find optimal communication paths.
  • Multi-Protocol Transports - Provides a transport-agnostic control plane supporting HTTP, WebSockets, MQTT, and other network protocols.
  • Shared Secret Keys - Restricts API access by requiring a pre-shared secret key for every request.
  • API Request Authentication - Verifies client identity using secure validation processes before granting access to the server API.
  • Plugin Access Tokens - Manages the lifecycle and plugin-specific permissions of authentication tokens.
  • Token-Based Authentication - Validates per-session cryptographic tokens on every API call to ensure authorized interaction.
  • Media Processing Plugins - Provides a modular plugin architecture for implementing bespoke media processing and server logic.
  • WebRTC Media Plugins - Loads and manages specialized WebRTC plugins such as audio bridges and video rooms.
  • Media Gateways - Functions as a central WebRTC media gateway managing negotiation and encryption for multiple browser endpoints.
  • Plugin Attachments - Enables users to attach to specific plugins to exchange media and data streams.
  • Modular Plugin Architectures - Employs a modular plugin architecture to decouple core server logic from specific media processing modules.
  • DTLS-SRTP Configurations - Configures DTLS-SRTP encryption to secure real-time media streams within WebRTC sessions.
  • Plugin Message Exchanges - Implements a JSON-based request and event exchange mechanism between clients and server-side plugins.
  • Plugin Media Routers - Relays RTP/RTCP and JSON messages between browsers and server-side plugins.
  • WebRTC Session Lifecycles - Manages the full WebRTC session lifecycle, including media signaling and negotiation between browsers.
  • Plugin Command Dispatchers - Dispatches synchronous requests to server-side plugins to query or configure their internal state.
  • Lightweight Gateway Deployments - Offers a small-footprint deployment suitable for cloud gateways or embedded devices.
  • Media Capture and Playback - Captures real-time media streams to disk and replays them back to users via WebRTC.
  • Media Processing Plugins - Enables the creation of custom modules to handle and process media streams for delivery to browsers.
  • Multi-Protocol Streaming Delivery - Distributes a single video source across multiple streaming transport protocols including WebRTC, WebSockets, and HTTP.
  • Stream Recording - Captures live network streams to local files for archival and on-demand playback.
  • Stream Publishing - Provides capabilities for broadcasting live media from a source to multiple concurrent viewers.
  • Session Lifecycle Controls - Provides administrative controls to list, accept, and destroy active sessions for server load management.
  • Websocket Connection Managers - Maintains persistent WebSocket connections for real-time control communication as an alternative to REST APIs.
  • Custom Transport Protocols - Supports the implementation of custom transport protocols for flexible server-client communication.
  • Protocol-Agnostic Transport Layers - Provides a protocol-agnostic transport layer for routing control messages across different network protocols.
  • Audio Stream Mixers - Mixes and transcodes multiple participant audio streams into a single output for efficient conferencing.
  • Session State Management - Tracks persistent client sessions and maps them to specific plugin handles for stateful communication.
  • SIP Bridges - Bridges WebRTC sessions with traditional SIP-based telephony infrastructure for voice and video calls.
  • SCTP - Transmits arbitrary application data over SCTP channels alongside media streams.
  • Telephony and Media Bridging - Bridges modern WebRTC browser sessions with traditional SIP-based telephony infrastructure.
  • Peer Connectivity - Relays audio, video, and data channels between endpoints without processing the media.
  • Custom Event Handlers - Allows development of custom plugins that process and respond to specific server-side events.
  • Event-Driven Hook Systems - Implements an event-driven hook system that forwards server events to external handlers via pub-sub.
  • Real-Time Event Notifications - Sends real-time event notifications to external endpoints such as RabbitMQ or MQTT.
  • Real-Time Server Activity Monitors - Provides an admin interface to monitor real-time server activity, active sessions, and plugin health.
  • Streaming Servers - General-purpose WebRTC server supporting SFU architecture.

Star history

Star history chart for meetecho/janus-gatewayStar history chart for meetecho/janus-gateway

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does meetecho/janus-gateway do?

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.

What are the main features of meetecho/janus-gateway?

The main features of meetecho/janus-gateway are: Real-Time Media Streaming, Real-Time Media Servers, WebRTC Media Processing Plugins, Live Media Streaming, RTP/RTCP Packet Processors, Media Protocol Bridges, STUN/TURN Traversal Services, Video Conferencing Systems.

What are some open-source alternatives to meetecho/janus-gateway?

Open-source alternatives to meetecho/janus-gateway include: open-webrtc-toolkit/owt-server — This project is a scalable real-time communication platform designed for multi-party video and audio conferencing. It… webrtc/samples — This repository provides a collection of reference implementations and practical demonstrations for using WebRTC to… webrtc-rs/webrtc — This library provides a complete implementation of the WebRTC protocol suite in Rust, enabling peer-to-peer audio,… bigbluebutton/bigbluebutton — BigBlueButton is an open-source virtual classroom software and meeting server designed for hosting real-time online… simplewebrtc/simplewebrtc — SimpleWebRTC is a communication framework and real-time media streaming library designed to establish peer-to-peer… versatica/mediasoup — Mediasoup is a selective forwarding unit used for real-time media routing. It enables the development of low-latency…

Open-source alternatives to Janus Gateway

Similar open-source projects, ranked by how many features they share with Janus Gateway.
  • open-webrtc-toolkit/owt-serveropen-webrtc-toolkit avatar

    open-webrtc-toolkit/owt-server

    1,157View on GitHub↗

    This project is a scalable real-time communication platform designed for multi-party video and audio conferencing. It functions as a modular media server that orchestrates live sessions, manages virtual meeting rooms, and handles the distribution of media streams across distributed computing environments. The platform distinguishes itself through its support for protocol bridging, allowing for the translation between WebRTC, RTSP, SIP, and HLS. It incorporates hardware-accelerated transcoding to maintain performance across diverse devices and utilizes a plugin-based architecture to enable cus

    JavaScriptmcusfustreaming
    View on GitHub↗1,157
  • webrtc/sampleswebrtc avatar

    webrtc/samples

    14,624View on GitHub↗

    This repository provides a collection of reference implementations and practical demonstrations for using WebRTC to establish real-time audio, video, and data communication. It contains code samples for negotiating peer-to-peer connections, managing media streams, and utilizing low-latency data channels. The project demonstrates the capture of audio and video from hardware devices, as well as the redirection of canvas element content into media streams. It includes examples of transferring arbitrary text and binary data between peers and managing the negotiation of direct connections. The sa

    JavaScript
    View on GitHub↗14,624
  • webrtc-rs/webrtcwebrtc-rs avatar

    webrtc-rs/webrtc

    4,947View on GitHub↗

    This library provides a complete implementation of the WebRTC protocol suite in Rust, enabling peer-to-peer audio, video, and data channels with an asynchronous, Rust-native stack. Its architecture separates protocol logic from I/O, giving developers control over threading and scheduling while the library manages the protocol state. The stack is built to be modular, supporting data channel multiplexing over a single SCTP association, an event-driven callback interface for responding to connection changes, and an interceptor pipeline for processing media packets without altering core protocol c

    Rustasyncrtcrust
    View on GitHub↗4,947
  • bigbluebutton/bigbluebuttonbigbluebutton avatar

    bigbluebutton/bigbluebutton

    9,040View on GitHub↗

    BigBlueButton is an open-source virtual classroom software and meeting server designed for hosting real-time online teaching sessions. It functions as a WebRTC video conferencing platform and collaboration suite, providing a self-hosted environment for virtual classroom management and online course administration. The system distinguishes itself through specialized educational tools, including an interactive quiz engine, breakout room coordination, and live polling. It provides a comprehensive suite of collaborative assets such as a shared infinite whiteboard, real-time co-authored notes, and

    JavaScriptbigbluebuttoncollaborationconferencing
    View on GitHub↗9,040
  • See all 30 alternatives to Janus Gateway→