janus-gateway
OBS-studio-webrtc
janus-gateway | OBS-studio-webrtc | |
---|---|---|
13 | 5 | |
7,814 | 574 | |
0.9% | 1.0% | |
9.0 | 0.0 | |
2 days ago | about 1 month ago | |
C | C | |
GNU General Public License v3.0 only | GNU General Public License v3.0 only |
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++)
OBS-studio-webrtc
-
What is WHIP? Intro to WebRTC Streaming Part 1
For those of you who are overwhelmed with the official IETF document, WHIP (sometimes known as WISH) is an open standard that you can use right now for your WebRTC based ingestion. You can use it today with open source software such as GStreamer or OBS (fork) as a way to publish your content with WebRTC.
-
Using NDI in your Real Time Live Streaming Production Workflow
Download the OBS WebRTC publisher
-
Looking for self hosted screen sharing/streaming solution
There are a few other WebRTC based solutions. There's a fork of OBS that allows streaming out using WebRTC. I think that only supports millicast.com, which I believe is not open source. There are a few other servers that handle WebRTC, but I don't know if any are WebRTC.
-
OBS->OBSNinja->OBS without virtual webcam
What you'd want is for OBS to output the WebRTC stream itself, rather than going through the webcam interface for this. This is not natively available, but there is a project that claims to do this: https://github.com/CoSMoSoftware/OBS-studio-webrtc
-
Project Lightspeed A self-contained, sub-second, open source, livestream server
Related: a fork of OBS Studio with WebRTC support
https://github.com/CoSMoSoftware/OBS-studio-webrtc
What are some alternatives?
mediasoup - Cutting Edge WebRTC Video Conferencing
obs-gstreamer - GStreamer OBS Studio plugin
jitsi - Jitsi is an audio/video and chat communicator that supports protocols such as SIP, XMPP/Jabber, IRC and many other useful features.
obsninja - VDO.Ninja is a powerful tool that lets you bring remote video feeds into OBS or other studio software via WebRTC.
Pion WebRTC - Pure Go implementation of the WebRTC API
srt - Secure, Reliable, Transport
aiortc - WebRTC and ORTC implementation for Python using asyncio
nginx-rtmp-module
libdatachannel - C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets
Project-Lightspeed - A self contained OBS -> FTL -> WebRTC live streaming server. Comprised of 3 parts once configured anyone can achieve sub-second OBS to the browser livestreaming
media-server-node - WebRTC Media Server for Node.js
nginx-rtmp-module - NGINX-based Media Streaming Server