janus-gateway
galene
Our great sponsors
janus-gateway | galene | |
---|---|---|
13 | 36 | |
7,788 | 857 | |
1.4% | - | |
8.9 | 8.4 | |
8 days ago | 7 days ago | |
C | Go | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
janus-gateway
-
WebRTC for the Curious
> despite WebRTC mostly being about client/client communication
This is actually kind of a misconception, though it’s an understandable one given that WebRTC is almost always pitched as a peer-to-peer protocol.
In practice, most people using WebRTC for video are sending their video to a server, not directly to another client. It’s pretty safe to assume that most people who use your app are going to need TURN, and at that point, you’re not really doing peer-to-peer at all, so you might as well just have your browser-based app talk to a server that’s pretending to be another browser.
These servers (called Selective Forwarding Units or SFUs) can operate like a TURN server in the case of a one-on-one call, but they can also multiplex everyone’s feeds in the case of a larger conference (peer-to-peer 5 person calls would require each participant to send 4 copies of their video) and often have extra features like the ability to record calls, transcode streams or convert to other protocols.
The one I’ve used a lot is called Janus[0], it’s open source and has good docs, I recommend people check it out if they’re interested in getting deeper into WebRTC or other video streaming tech.
[0] https://janus.conf.meetecho.com
-
OpenTalk meeting software with Rust back-end open-sourced under EUPL
OpenTalk is a young project for creating online meeting software similar to Jitsi or BigBlueButton. It is a completely new development, and while it is not a fork of an existing open-source project, it integrates with other projects such as the Janus WebRTC server, Redis for volatile state, RabbitMQ for communication between server instances, and PostreSQL for persistent state.
- Jitsi: More secure, more flexible, and completely free video conferencing
-
What are good self-hosted WebRTC video solutions today?
I've been looking into Janus WebRTC Server due to the ability for Uv4L to join Janus rooms (I'm building a RaspberyyPi doorbell)
-
Looking for self hosted screen sharing/streaming solution
A related answer to the above is to check out Janus. It's a general purpose WebRTC server that has RTMP and FTL ingest support. I think it's also batteries not included, but I think it's what Glimesh is based on.
-
Low-latency audio streaming (local network)
I've been using Janus gateway for similar. Pretty easy to setup.
-
Live video calling - the Dyte way
A number of open-source projects also exist, which give developers a great head start if they're looking to build their own infrastructure - the most popular of these include Jitsi, Mediasoup, Janus, and Pion. These projects provide a layer of abstraction and expose a number of helper functions to perform various tasks, such as creating transports, etc. They have helpful guides on how to get started, but you would still face the aforementioned issues regarding scaling, resources, etc.
-
Casey Muratori: refterm and the philosophy of non-pessimization (how you can make programs run 100x faster without optimizations)
This all changes when you are actually a domain expert: You can treat the various components as a "white box" because you see the forest for the trees and can make cross-cutting assumptions which will inherently make the code faster. I've noticed a lot of projects written by domain experts are often these giant clusterfucks of C that violate pretty much every guideline there are so many Medium blogs about, and yet they're very stable and widely used. See: https://github.com/meetecho/janus-gateway for example.
-
Stop using Zoom, Hamburg’s data protection agency warns state government
Yes, there are many self-hosted options out there. https://github.com/meetecho/janus-gateway works well for multi-party video with up to about 15 users in a room assuming everyone has a reasonably reliable connection.
-
WebRTC over Asp.Net Core - Any examples?
- Janus (C / C++)
galene
-
livekit-server VS galene - a user suggested alternative
2 projects | 28 Mar 2024
-
Show HN: New Jitsi WebRTC Alternative: ChatGPT, File Transfer, Docker
I would like to recommend Galene: https://github.com/jech/galene
Runs in my raspberry pi, a single small executable, like in the old good times.
-
Zoom terms now allow training AI on user content with no opt out
> Do you happen to know of others by any chance.
There's Galene, <https://galene.org>. It's easy to deploy, uses minimal server resources, and the server is pretty solid. The client interface is still a little awkward, though. (Full disclosure, I'm the main author.)
-
Best voice and video chat?
galene - basically selfhosted zoom/jitsi
-
Ask HN: FFmpeg real-time desktop streaming
What latency are you trying to do? Will the professor being communicating with the students while doing this? Will the students all have the same bandwidth, or will you want multiple renditions (low, med, high quality levels)?
If you want AV1 you will not be able to use RTMP. The protocol is orphaned/deprecated, so avoid if possible!
If I was building it this is what I would do, and my reasoning.
* For capture + encoding I would use OBS. You will want to use something that is easy for users to install configure. Professors will also have lots of custom requirements when it comes to layout etc... it will be tempting to do a ffmpeg command directly, but it will fall apart quick I believe.
* To get AV1 out of OBS I would use FFMPEG output. I would have it send RTP. RTP is used to carry video in a sub-second manner. This is the same protocol that WebRTC uses. You know have AV1 + low latency.
* Then for users to watch I would use WebRTC. That will allow them to watch in their web browser. Conceptually it will be like this https://github.com/pion/webrtc/tree/master/examples/rtp-to-w... this takes the RTP packets and puts them in the browser.
Lots of great projects exist that you could use for 'RTP -> WebRTC' like https://galene.org/ and https://livekit.io/ I would suggest checking them all out!
If you have more questions/want to talk to people in the video space always happy to chat on https://pion.ly/slack :)
-
Voice/Video call for Iranians
galene
-
Self-hosted chat app with chat/video?
The most lightweight all-inclusive central solution for video conferences I know is Galene. It runs in under 200 MB RAM.
-
What are good self-hosted WebRTC video solutions today?
Even though the default UI is extremely simplistic, I very much like galene. It bundles all the components you need in a single binary. Even a TURN server so you don't have to fiddle with coturn. Not to mention that it's very resource efficient.
- Galène. FOSS Videoconference Server
- Galène Videoconference Server
What are some alternatives?
mediasoup - Cutting Edge WebRTC Video Conferencing
Jitsi Meet - Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
jitsi - Jitsi is an audio/video and chat communicator that supports protocols such as SIP, XMPP/Jabber, IRC and many other useful features.
rtp - A Go implementation of RTP
Pion WebRTC - Pure Go implementation of the WebRTC API
galene_ynh - Galène package for YunoHost
aiortc - WebRTC and ORTC implementation for Python using asyncio
mirotalk - 🚀 WebRTC - P2P - Simple, Secure, Fast Real-Time Video Conferences Up to 4k and 60fps, compatible with all browsers and platforms.
libdatachannel - C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets
wirow-server - A full featured self-hosted video web-conferencing platform.
media-server-node - WebRTC Media Server for Node.js
room.cafe - An extremely simple video meeting, integrated whiteboard, chat and screen sharing