For a WebRTC media server, the first results are screego/server (Screego is a self-hostable WebRTC signalling and relay server focused specifically on screen sharing, so it fits the media server category but is narrower in scope than a general audio/video conferencing server), jitsi/jitsi-meet (Jitsi Meet is a full-featured self-hostable WebRTC media server with SFU architecture, signalling, TURN/STUN support, and an admin dashboard, making it exactly what you need to build custom video conferencing applications) and livekit/livekit (LiveKit is a self-hostable WebRTC selective‑forwarding‑unit SFU media server that provides real‑time audio and video, WebRTC signalling, and token‑based authentication—exactly the server you need to build custom video‑chat or conferencing applications). openvidu/openvidu and ant-media/ant-media-server round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Open-source software for building real-time audio and video communication infrastructure on your own servers.
This project is a WebRTC screen sharing server designed to facilitate the streaming of desktop views between multiple participants. It functions as a signaling server to coordinate connection metadata and a relay server to ensure connectivity for users behind restrictive firewalls or symmetric NATs. The server enables real-time screen sharing by establishing direct peer-to-peer connections to reduce latency and server load. It utilizes a relay architecture to maintain stable communication when direct paths are blocked by network firewalls. The system provides coordination for session managem
Screego is a self-hostable WebRTC signalling and relay server focused specifically on screen sharing, so it fits the media server category but is narrower in scope than a general audio/video conferencing server.
Jitsi Meet is an open-source platform for real-time audio and video communication. It provides a complete infrastructure for hosting secure video conferences, supporting features such as screen sharing, messaging, and participant polling. The platform is designed for both standalone use and integration into external web or mobile applications. The system utilizes a selective forwarding unit architecture to route media streams between participants, ensuring efficient communication across multiple users. It relies on standardized real-time transport protocols to manage data transmission and inc
Jitsi Meet is a full-featured self-hostable WebRTC media server with SFU architecture, signalling, TURN/STUN support, and an admin dashboard, making it exactly what you need to build custom video conferencing applications.
LiveKit is a comprehensive framework for building and orchestrating real-time, multimodal AI agents that interact with users through voice, video, and text. It provides a centralized, event-driven architecture to manage the entire lifecycle of automated participants, from initialization and session state management to graceful shutdown. By utilizing a selective forwarding unit, the platform efficiently routes media streams between participants and agents, ensuring low-latency communication and secure, token-based authentication for all connections. The platform distinguishes itself through it
LiveKit is a self-hostable WebRTC selective‑forwarding‑unit (SFU) media server that provides real‑time audio and video, WebRTC signalling, and token‑based authentication—exactly the server you need to build custom video‑chat or conferencing applications.
OpenVidu Platform main repository
OpenVidu is a self-hostable WebRTC platform that provides signalling, SFU-based media routing, a REST API, and an admin dashboard, making it a comprehensive solution for building custom real-time audio/video communication applications.
Ant-Media-Server is a server-side streaming engine designed for real-time audio and video broadcasting. It functions as a live media transcoder and WebRTC streaming server, facilitating the ingestion, processing, and delivery of media streams across multiple protocols. The platform is distinguished by its cloud-scale media infrastructure, which automates server capacity expansion to handle fluctuating volumes of concurrent viewers. It utilizes adaptive bitrate streaming to adjust video quality in real time based on network conditions and employs WebRTC and SRT to achieve ultra-low latency del
Ant Media Server is a self-hostable WebRTC media server with SFU architecture, supporting ultra-low-latency streaming, signalling, TURN/STUN, and providing an admin dashboard and API — exactly what you need to build custom video conferencing applications.
NatTypeTester is a network diagnostic tool that identifies a host's network address translation (NAT) behavior by querying STUN servers. It classifies NAT types and tests connectivity across multiple transport layers, including UDP, TCP, TLS, and DTLS, to evaluate peer-to-peer communication capabilities. The tool distinguishes itself by probing connectivity over four separate protocols—UDP, TCP, TLS-over-TCP, and DTLS-over-UDP—using STUN binding requests. This multi-protocol approach provides a comprehensive assessment of a host's ability to establish direct connections with other devices in
This is a NAT diagnostic tool that tests STUN connectivity and classifies NAT types, not a self-hostable WebRTC media server for real-time audio/video communication—it lacks signalling, SFU/MCU, and media routing capabilities.
simple-peer is a JavaScript library that provides a wrapper for WebRTC to simplify the establishment of peer-to-peer networking in the browser. It serves as a tool for creating direct device-to-device connections for the transmission of binary data and real-time media streaming. The library manages the exchange of strings and binary buffers through a data channel implementation and provides tools for sharing real-time audio and video tracks between peers. It covers the full lifecycle of peer connectivity, including signaling coordination, session description negotiation, and the gathering of
simple-peer is a client-side JavaScript library for establishing peer-to-peer WebRTC connections in the browser, not a self-hostable server with signalling, TURN/STUN, or SFU/MCU logic—it’s a building block you’d use within a client app, not the server infrastructure your query asks for.
aiortc is a Python implementation of the WebRTC protocol, providing an asynchronous stack for real-time audio, video, and data streaming between peers. It functions as a media engine and data channel implementation that manages peer connections through a non-blocking framework. The library enables the establishment of direct peer-to-peer networking by negotiating session descriptions and connectivity paths. It facilitates secure, bidirectional data transmission via data channels and supports low-latency media streaming using standard codecs. The system includes capabilities for network NAT t
aiortc is a Python library that implements the WebRTC protocol stack for peer-to-peer media streaming, not a self-contained media server with signalling, SFU/MCU capabilities, or an admin dashboard; it is a building block you would incorporate into a custom server rather than a ready-to-deploy solution.
Mediasoup is a selective forwarding unit used for real-time media routing. It enables the development of low-latency audio and video communication systems by routing streams between participants without transcoding. The project provides embedded media routing logic that can be integrated directly into an application. It supports simulcast and quality layering, allowing the system to adapt resolution and bitrate based on real-time bandwidth estimations to maintain connection stability. The capability surface includes media track management for audio, video, and screen capture, as well as bidi
Mediasoup is a high-performance WebRTC SFU library for real-time media routing, but it is a building-block component that you integrate into your own application rather than a full turnkey server—it lacks built-in signalling, TURN/STUN, and an admin dashboard, so you would need additional components and custom development to achieve the complete self-hostable communication server described.
Openfire is an XMPP communication server and enterprise messaging platform designed for real-time collaboration. It serves as a communication hub providing instant messaging, presence tracking, and multi-user chat capabilities for organizational use. The server supports federated network routing via an XMPP federation gateway, allowing users across different domains to exchange messages. It is designed for high availability through server node clustering and multi-node synchronization to balance client traffic and ensure continuous uptime. The platform integrates with external directory serv
Openfire is an XMPP messaging server, not a dedicated WebRTC media server; while it provides STUN/TURN support and can handle signalling via XMPP, it lacks the SFU/MCU architecture and direct real-time audio/video processing you need for building custom video chat applications.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| screego/server | 10.3K | Go | gpl-3.0 | |
| jitsi/jitsi-meet | 29.4K | TypeScript | Apache-2.0 | |
| livekit/livekit |
| 19.4K |
| Go |
| Apache-2.0 |
| openvidu/openvidu | 2.1K | TypeScript | Apache-2.0 |
| ant-media/ant-media-server | 4.7K | Java | NOASSERTION |
| hmbsbige/nattypetester | 4.4K | C# | mit |
| feross/simple-peer | 7.8K | JavaScript | MIT |
| aiortc/aiortc | 5.1K | Python | BSD-3-Clause |
| versatica/mediasoup | 7.1K | C++ | isc |
| igniterealtime/openfire | 3K | Java | apache-2.0 |