meetecho/janus-gateway

Janus WebRTC Server

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 37 minutes ago
Added to GitGenius on September 7th, 2026
Created on February 11th, 2014
Open Issues & Pull Requests: 44 (+0)
GitHub issues: Enabled
Number of forks: 2,624
Total Stargazers: 9,160 (+0)
Total Subscribers: 377 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

Janus is an open source, general purpose WebRTC server written in C and designed for Linux systems, with support for MacOS compilation and Windows Subsystem for Linux.

Janus addresses the need for a flexible WebRTC infrastructure by providing a modular server architecture that handles real-time media communication. The project operates as a plugin-based system where different communication patterns and features can be loaded as needed, allowing developers to build custom WebRTC applications without reimplementing core media handling. The server manages ICE negotiation, SRTP encryption, and media routing while exposing its functionality through multiple API transports including REST, WebSockets, RabbitMQ, MQTT, and Nanomsg.

Developers should choose Janus when building WebRTC applications that require a self-hosted, customizable media server rather than relying on third-party services. The project suits scenarios ranging from video conferencing to streaming and data channel applications. The main branch represents a multistream version that differs from the legacy branch, so teams should verify which version aligns with their requirements. Janus requires compilation from source and depends on numerous libraries for core functionality, with additional optional dependencies for specific features like data channels, REST APIs, or message queue integration.

The project maintains active continuous integration testing and participates in fuzzing programs to identify security issues. Community discussion occurs through a dedicated forum separate from issue tracking, with contribution guidelines documented for those submitting code or bug reports. The codebase undergoes static analysis scanning to catch potential defects before they reach users.