Overview
Discover what makes Jitsi Videobridge powerful
Jitsi Videobridge is a WebRTC‑compatible **Selective Forwarding Unit (SFU)** that sits behind the Jitsi Meet front end. From a technical standpoint it receives media streams from multiple participants, performs packet‑level routing, and forwards them to all interested endpoints without transcoding. This preserves bandwidth and CPU usage while maintaining end‑to‑end encryption (DTLS/SRTP). The component is written in **Kotlin/Java** and runs on the JVM, exposing its control plane through two protocols: XMPP (Colibri) and a lightweight HTTPS/REST API.
Core language
Frameworks & libraries
Datastore
Build system
Overview
Jitsi Videobridge is a WebRTC‑compatible Selective Forwarding Unit (SFU) that sits behind the Jitsi Meet front end. From a technical standpoint it receives media streams from multiple participants, performs packet‑level routing, and forwards them to all interested endpoints without transcoding. This preserves bandwidth and CPU usage while maintaining end‑to‑end encryption (DTLS/SRTP). The component is written in Kotlin/Java and runs on the JVM, exposing its control plane through two protocols: XMPP (Colibri) and a lightweight HTTPS/REST API.
Architecture & Technical Stack
- Core language: Kotlin (interoperable with Java) – the main codebase is in
org.jitsi.videobridge. - Frameworks & libraries:
- Netty for high‑performance networking and RTP packet handling.
- ICE4J (Google’s implementation) for NAT traversal and ICE candidate gathering.
- XMPP/Jingle libraries for session establishment via the Jitsi Conference Focus (Jicofo).
- Jackson / HOCON for configuration parsing (
reference.conf).
- Datastore: Stateless; all state is held in memory or in the XMPP server (e.g., Prosody). No external database required.
- Build system: Maven; binary packages are produced as
.ziparchives or Debian/Ubuntu.debs.
Core Capabilities & APIs
- Selective Forwarding: Receives up to dozens of inbound RTP streams and forwards each to all participants who have requested it, without re‑encoding.
- Multistream support: Handles multiple simulcast layers and adaptive bitrate negotiation.
- Colibri REST API: Exposes endpoints for creating rooms, adding participants, and querying statistics (e.g., active streams, packet loss).
- XMPP integration: Uses Jingle to negotiate media sessions; the focus component (Jicofo) orchestrates room lifecycle.
- Metrics & monitoring: Built‑in Prometheus metrics and JMX beans for real‑time performance inspection.
Deployment & Infrastructure
- Self‑hosting: Runs on any Linux distribution; packaged for Debian/Ubuntu. Requires a Java runtime (OpenJDK 11+).
- Scalability: Designed to run on modest CPU cores; a single 8 GB‑heap instance can handle hundreds of concurrent streams. Horizontal scaling is achieved by deploying multiple bridges behind a load balancer and using Jicofo to distribute participants.
- Containerization: Official Docker images are available; the bridge can be run inside a container with minimal configuration (mount
/etc/jitsi/videobridgefor settings). - Resource tuning: JVM flags (
VIDEOBRIDGE_MAX_MEMORY,VIDEOBRIDGE_GC_TYPE) allow fine‑grained control over heap and garbage collection to match traffic patterns.
Integration & Extensibility
- Plugin hooks: Although the core is lightweight, developers can extend functionality by writing custom Java modules that hook into the RTP pipeline (e.g., adding a media filter or a statistics collector).
- Webhooks: Jicofo can trigger external scripts on room creation/deletion, enabling integration with CI/CD pipelines or monitoring systems.
- Custom control plane: The REST API can be consumed by any HTTP client; you can build bespoke orchestration services that manage rooms, participants, and bandwidth allocation.
Developer Experience
- Configuration: Centralized in
jvb.conf(overriding HOCON defaults). The syntax is straightforward key‑value pairs, and many options (e.g.,videobridge.host,videobridge.port) are self‑documented in the reference file. - Documentation: The GitHub repo contains a
doc/directory with architecture diagrams, configuration guides, and API references. The Jitsi Meet Handbook offers deeper context on how Videobridge fits into the overall stack. - Community & Support: Active mailing list, community forum, and a robust issue tracker. The project is open source under the Apache 2.0 license, allowing unrestricted commercial use.
Use Cases
- Enterprise video conferencing: Deploy a private Jitsi Meet instance with Videobridge handling all media, ensuring compliance and control over data residency.
- Massive live events: Use the SFU to stream a large audience of participants (e.g., webinars, virtual conferences) while keeping server load low.
- Custom media applications: Build a bespoke video chat service where you need fine‑grained control over stream routing, bandwidth allocation, or integrate with existing XMPP infrastructure.
- Recording/streaming pipelines: Pair Videobridge with Jibri to record or broadcast sessions to external platforms (YouTube, Twitch) without exposing media servers.
Advantages for Developers
| Criterion | Why Videobridge Wins |
|---|---|
| Performance | Forwarding without transcoding keeps CPU usage minimal; proven to handle >2000 streams on a single node. |
| Flexibility | Open‑source codebase; developers can modify the routing logic or add new features without vendor lock‑in. |
| Scalability | Stateless design allows easy horizontal scaling; integrates seamlessly with load balancers and Kubernetes. |
| Security | End‑to‑end encryption (DTLS/SRTP) is built in; no media mixing exposes sensitive content. |
| Ecosystem | Tight integration with Jitsi Meet, Jicofo, and Jibri provides a complete media stack from room creation to recording. |
For developers looking to build or
Open SourceReady to get started?
Join the community and start self-hosting Jitsi Videobridge today
Related Apps in apis-services
Mastodon
Decentralized, real‑time social networking
Discourse
Open‑source community forum platform with real‑time chat and AI
Rocket.Chat
Secure, open‑source team communication platform
Novu
Unified notification platform for multi‑channel delivery
Mattermost
Secure, self‑hosted team collaboration with chat, voice, and AI
Jitsi Meet
Free, encrypted video conferencing for everyone
Weekly Views
Repository Health
Information
Explore More Apps
Daily Stars Explorer
Track GitHub repo star trends daily
Sympa
Efficient mailing list management for large audiences
Selfoss
Universal web‑based RSS reader and aggregator
wallabag
Save web pages for distraction‑free reading anytime, anywhere
ioBroker
IoT integration platform for smart homes and automation
Langfuse
Open-source observability for LLM applications and agents