# peer-calls/peer-calls

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/peer-calls-peer-calls).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

1,900 stars · 303 forks · Go · Apache-2.0

## Links

- GitHub: https://github.com/peer-calls/peer-calls
- Homepage: https://peercalls.com
- awesome-repositories: https://awesome-repositories.com/repository/peer-calls-peer-calls.md

## Topics

`conference` `p2p` `peer-call` `peer-calls` `peer-to-peer` `sfu` `video-call` `webrtc`

## Description

Peer-calls is a self-hosted, browser-based video conferencing platform designed for real-time audio, video, and screen sharing. It functions as a communication server that coordinates peer-to-peer signaling, allowing participants to join private meeting rooms directly through their web browsers without the need for additional software installations.

The platform distinguishes itself through a distributed architecture that supports multi-instance scaling and session synchronization. By utilizing a shared data store and a selective forwarding unit, it manages media streams and bandwidth distribution across multiple server nodes. This approach ensures that users connected to different instances can participate in the same session while maintaining consistent state and optimized performance.

The system includes comprehensive infrastructure support for containerized deployment, enabling consistent operation across diverse environments. It incorporates robust network connectivity features, including support for ICE candidate negotiation and TURN relay fallback, to ensure reliable communication through restrictive firewalls and network address translators.

Operational capabilities include integrated logging configuration and the exposure of system performance metrics for external monitoring. The platform also provides tools for dynamic media device management and collaborative file sharing during active sessions.

## Tags

### Networking & Communication

- [Video Conferencing Software](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/communication-platforms/real-time-collaboration-suites/video-conferencing-software.md) — Hosts real-time group audio and video sessions directly in a web browser without requiring users to install additional software.
- [Peer-to-Peer Media Libraries](https://awesome-repositories.com/f/networking-communication/peer-to-peer-tunneling/peer-to-peer-media-libraries.md) — Establishes direct peer-to-peer audio and video connections between browser clients for real-time communication. ([source](https://github.com/peer-calls/peer-calls#readme))
- [Access-Controlled Rooms](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-paradigms/group-membership-management/room-management/access-controlled-rooms.md) — Manages isolated virtual meeting rooms with controlled access via unique identifiers and shared links. ([source](https://peercalls.com/))
- [Selective Forwarding Units](https://awesome-repositories.com/f/networking-communication/ip-forwarding/selective-forwarding-units.md) — Manages and optimizes bandwidth distribution for multi-participant video streams in real-time conferencing sessions using a media routing architecture.
- [Network Connectivity Configurations](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-infrastructure-configuration/network-management/dns-connectivity-management/network-connectivity-configurations.md) — Manages connection protocols including ICE over TCP and custom port ranges to ensure reachability through restrictive firewalls and network address translators. ([source](https://github.com/peer-calls/peer-calls/blob/master/README.md))
- [Peer-to-Peer Networking](https://awesome-repositories.com/f/networking-communication/peer-to-peer-networking.md) — Establishes direct peer-to-peer media streams between browser clients to facilitate real-time communication without relying on a central media server.
- [Connectivity Negotiators](https://awesome-repositories.com/f/networking-communication/peer-to-peer-networking/connectivity-negotiators.md) — Coordinates network connectivity by discovering and exchanging communication paths to bypass firewalls and network address translators for reliable connections.
- [Relay Fallbacks](https://awesome-repositories.com/f/networking-communication/peer-to-peer-networking/relay-fallbacks.md) — Routes media traffic through external relay servers when direct peer-to-peer connections fail to ensure connectivity in restrictive network environments.
- [Screen Sharing](https://awesome-repositories.com/f/networking-communication/real-time-communication/screen-sharing.md) — Supports real-time broadcasting of desktop displays and the exchange of digital files during active conferencing sessions. ([source](https://github.com/peer-calls/peer-calls#readme))
- [TURN Relays](https://awesome-repositories.com/f/networking-communication/remote-access-control/relay-server-management/turn-relays.md) — Routes media traffic through external relay servers when direct peer-to-peer connections cannot be established between participants. ([source](https://github.com/peer-calls/peer-calls/blob/master/README.md))

### Business & Productivity Software

- [Self-Hosted Communication Servers](https://awesome-repositories.com/f/business-productivity-software/team-collaboration-events/collaboration-communication-tools/collaboration-tools/team-management/self-hosted-communication-servers.md) — Coordinates peer-to-peer signaling and media relaying to facilitate private group meetings across diverse network environments.

### Part of an Awesome List

- [Scalable Cluster Deployments](https://awesome-repositories.com/f/awesome-lists/devtools/fuzzing-and-analysis/fuzzing-orchestrators/scalable-cluster-deployments.md) — Packages and orchestrates video conferencing services in containers to ensure consistent performance and reliability across diverse server environments.

### Data & Databases

- [In-Memory Session Stores](https://awesome-repositories.com/f/data-databases/in-memory-session-stores.md) — Maintains user sessions and synchronizes data across multiple server instances using an in-memory key-value store. ([source](https://github.com/peer-calls/peer-calls/blob/master/docker-compose.yml))

### DevOps & Infrastructure

- [Compute Instance Scaling](https://awesome-repositories.com/f/devops-infrastructure/cluster-node-management/capacity-scaling/compute-instance-scaling.md) — Synchronizes multiple server instances using a shared data store to allow users connected to different nodes to join the same call. ([source](https://github.com/peer-calls/peer-calls#readme))
- [Containerized Deployments](https://awesome-repositories.com/f/devops-infrastructure/containerized-deployments.md) — Supports packaging applications into standard container images and orchestration manifests to ensure consistent operation across diverse infrastructure environments. ([source](https://github.com/peer-calls/peer-calls#readme))
- [Containerized Service Orchestration](https://awesome-repositories.com/f/devops-infrastructure/containerized-service-orchestration.md) — Packages application components into standard container images to ensure consistent deployment and scaling across diverse infrastructure environments.
- [Distributed Session Managers](https://awesome-repositories.com/f/devops-infrastructure/distributed-session-managers.md) — Provides a backend service that synchronizes user state and connection data across multiple server instances to enable scalable and reliable group calls.

### Graphics & Multimedia

- [Stream Bandwidth Optimizations](https://awesome-repositories.com/f/graphics-multimedia/stream-bandwidth-optimizations.md) — Manages media stream bandwidth distribution across multiple server nodes using a selective forwarding unit to optimize performance. ([source](https://github.com/peer-calls/peer-calls#readme))

### Software Engineering & Architecture

- [Distributed State Synchronization](https://awesome-repositories.com/f/software-engineering-architecture/distributed-state-synchronization.md) — Synchronizes application data across multiple server instances using a shared key-value store to maintain consistent room information for all participants.
- [Session State Persistence](https://awesome-repositories.com/f/software-engineering-architecture/session-state-persistence.md) — Stores and synchronizes application data across multiple service instances using a remote database to maintain consistent session information. ([source](https://github.com/peer-calls/peer-calls/blob/master/transport-node-2.yml))
