HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
jitsi
jitsi-videobridge
Kotlin2013–2022
jitsi / jitsi-videobridge

jitsi-videobridge

Jitsi Videobridge is a WebRTC compatible video router or SFU that lets build highly scalable video conferencing infrastructure (i.e., up to hundreds of conferences per server).

6Distinct people
7Mentions
0Explicit recommenders
3.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Jitsi Videobridge is a WebRTC compatible video router or SFU that lets build highly scalable video conferencing infrastructure (i.e., up to hundreds of conferences per server).

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year7 dated mentions

Observed mentions: 2013-12-28 18:26:27 UTC to 2022-12-21 20:47:45 UTC.

012342013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20132014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC101
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC000
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC000
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC404
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101

What Hacker News says

7 sources
I don't think there is comprehensive information about that. We all do pretty much the same, implement the Selective Forwarding Unit (SFU) model. The idea is the SFU will receive a number of streams for each user (usually up to 3, in low, mid and high resolutions) and then it will forward one of them to each other participant depending on things like available bandwidth, requested video size, etc. There are a number of Open Source implementations available, in case you want to study it deeper: - Jitsi videobridge: https://github.com/jitsi/jitsi-videobridge - Janus: https://github.com/meetecho/janus-gateway - mediasoup: https://github.com/versatica/mediasoup - (p)ion: https://github.com/pion/ion-sfu - meddoze: https://github.com/medooze/media-server-node And probably more!
In Jitsi: More secure, more flexible, free video conferencing
SVC spatial and quality layers [1] sound like a really good solution to the bandwidth issue. From my (extremely limited) understanding, basically if you skip certain packets you get a lower resolution/quality stream. A client sends a single stream at the best quality it can tolerate, and then the SFU can forward whichever layers to each client depending on what resolution that client wants. What's the state of this in jitsi? I can only find limited info about SVC [2] and that is only on temporal layer. How much bandwidth does it even save in practice - maybe it's not worth the complexity trade-off? [1] http://webrtchacks.staging.wpengine.com/chrome-vp9-svc/ [2] https://github.com/jitsi/jitsi-videobridge/blob/master/doc/s...
In Jitsi Meet – Improving Scale and Media Quality with Cascading SFUs (2018)
It is possible to have conference calls with e2e encryption. Many conference calls are implemented using what's called a Selective Forwarding Unit (SFU) and the sending clients send multiple resolutions (either independent, called "Simulcast" or dependent, called "SVC"). In that case, the adaptation is done by the server in selecting which resolution to forward at any given time. This is fairly common practice in the industry. For example: https://github.com/jitsi/jitsi-videobridge and https://tools.ietf.org/html/draft-aboba-avtcore-sfu-rtp-00 and https://www.w3.org/TR/webrtc-svc/. For those types of conference calls, the server only needs to know the sizes of the various streams and which packet is for what stream. It does not need to see the decrypted media, so one can implement e2e encryption for such types of group calls. This is less
Read the rest
common in the industry, but is possible. For example: https://support.google.com/duo/answer/9280240?hl=en (I used to work at Google on WebRTC, Duo, and Hangouts, but now work on video calling at Signal).
In Zoom meetings aren’t end-to-end encrypted, despite marketing
First of all, there are 2 different kinds of video calls: 1:1 and group calls. For 1:1 calls, e2e encryption doesn't cause any problem at all. For group calls, it depends on how it's implemented, but many group calls are implemented using what's called a Selective Forwarding Unit (SFU) and the sending clients send multiple resolutions (either independent, called "Simulcast" or dependent, called "SVC"). In that case, the adaptation is done by the server in selecting which resolution to forward at any given time. This is fairly common practice in the industry. For example: https://github.com/jitsi/jitsi-videobridge and https://tools.ietf.org/html/draft-aboba-avtcore-sfu-rtp-00 and https://www.w3.org/TR/webrtc-svc/. For those types of group calls, the server only needs to know the sizes of the various streams and which packet is for what
Read the rest
stream. It does not need to see the decrypted media, so one can implement e2e encryption for such types of group calls. This is less common in the industry, but is possible. For example: https://support.google.com/duo/answer/9280240?hl=en (I used to work at Google on WebRTC, Duo, and Hangouts, but now work on video calling at Signal).
In Zoom meetings aren’t end-to-end encrypted, despite marketing
The default installs of Jitsi Meet use Jitsi videobridge to avoid p2p for calls of >2 participants. For <=2 people, p2p WebRTC is used (though a STUN server might be needed to traverse NATs for each person [0]). For >2 people, the Jitsi Videobridge is used instead of p2p [1]: it takes in all media streams from all clients (possibly even in different resolutions) and selectively forwards them to clients based on bandwidth [2] [0]: https://en.wikipedia.org/wiki/STUN [1]: https://jitsi.org/jitsi-videobridge/ [2]: https://github.com/jitsi/jitsi-videobridge/blob/master/doc/s...
In Show HN: Zoom Redirector
Awesome client-side resource! WebRTC is poised to hit the big time now that it is supported by iOS 11. For both of my questions below I will link options from previous discussions[1]; any experience you can share would be appreciated. 1) What is the best option to implement a server that can tie into WebRTC for audio/video/screensharing? https://github.com/mappum/electron-webrtc - simple but bulky Node.js WebRTC via a hidden Electron process https://chromium.googlesource.com/external/webrtc - C++ Chromium WebRTC https://github.com/jitsi/jitsi-videobridge - Java video conferencing https://github.com/Kurento/kurento-media-server | https://github.com/OpenVidu/openvidu - Node.js media server transitioning after Twilio hired key devs https://www.wowza.com/products/capabilities/webrtc-streaming... - commercial; in preview 2) What is the best mi
Read the rest
nimal WebRTC server-side option just for UDP? https://github.com/js-platform/node-webrtc - Node.js native module with mystical pre-built binaries https://github.com/HumbleNet/HumbleNet/ - C++ Mozilla + Humble Bundle code drop that does signalling via WebSockets (instead of STUN/TURN/ICE?) https://github.com/rawrtc/rawrtc - C with CLI examples; media someday? https://github.com/rawrtc/rawrtc/issues/4 https://github.com/seemk/WebUdp - prototype C++ WebRTC datachannel server for Linux looking for help https://github.com/brkho/client-server-webrtc-example - C++ MVP using Chromium WebRTC http://blog.brkho.com/2017/03/15/dive-into-client-server-web... -- [1] A real world guide to WebRTC | https://news.ycombinator.com/item?id=14787285 (Jul 2017, 59 comments)
In SIP.js v0.8.0 Supports All Major Browsers and Renegotiation

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.