ion-sfu
ion
Our great sponsors
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.
ion-sfu
- Jitsi: More secure, more flexible, and completely free video conferencing
-
Ask HN: Why is there no enterprise grade open-source zoom alternative?
There's nothing particularly difficult on the server side — a quality SFU should be capable to handle on the order of 400 video flows per core, and there are quite a few high-quality free software SFUs available (Janus, Jitsi, ion-sfu, livekit, Galene). To give some perspective: we're using Galene for lectures, and our single-CPU server uses around 40% CPU usage in a room with 120 students (who keep their cameras switched off during the lecture, of course, and only occasionally switch them on to ask questions).
As the grandparent mentioned, the problem is the client side. Since there is no standard videoconferencing protocol, every free software project needs to develop their own clients. And it's difficult for a free software project to have the manpower and expertise to develop quality clients for the web, Android and iOS, so in effect what we currently have are mostly half-baked web clients.
There is some hope, though. The IETF have been working on standard protocols for ingress (https://datatracker.ietf.org/wg/wish/), and if their protocols get deployed, you'll be able to use the same streaming software (think OBS) or IP camera with multiple distinct videoconferencing servers. An interoperable interactive videoconferencing protocol is nowhere near, but as more people understand videoconferencing technology, there is some hope that people will get together and start working on multi-protocol clients (remember Pidgin?).
Full disclosure: I'm the author of Galene (https://galene.org), and I've been actively participating in the Pion community (https://github.com/pion/webrtc) and collaborating with the authors of ion-sfu (https://github.com/pion/ion-sfu) and LiveKit (https://github.com/livekit).
-
How to build ion-sfu's pub-from-disk example?
go get: module github.com/pion/ion-sfu@upgrade found (v1.10.8), but does not contain package github.com/pion/ion-sfu/cmd/server/grpc/proto
-
LiveKit – open-source infrastructure for real time audio and video
Really appreciate that they have a Protocol project, really helps quickly get a sense of what's under the hood. It's just a bunch of protobuf messages, but that's a super helpful reference, and nice to not have it embedded in one of the various other projects: https://github.com/livekit/protocol
Notably using the well known extremely well reputed super battle hardened Pion sfu, ion: https://github.com/pion/ion-sfu
ion
-
Why ION is needed for distributed streaming
ION is an excellent practice of distributed streaming architecture, greatly shortening the evolution time https://github.com/pion/ion
-
Resources for creating a project similar to Omegle. Berkeley CS Student looking for advice.
WebRTC SFU - https://github.com/pion/ion
What are some alternatives?
livekit-server - Scalable, high-performance WebRTC SFU. SDKs in JavaScript, React, React Native, Flutter, Swift, Kotlin, Unity/C#, Go, Ruby and Node. [Moved to: https://github.com/livekit/livekit]
Pion WebRTC - Pure Go implementation of the WebRTC API
peer-calls - Group peer to peer video calls for everyone written in Go and TypeScript
kratos - Your ultimate Go microservices framework for the cloud-native era.
livekit - End-to-end stack for WebRTC. SFU media server and SDKs.
protocol - LiveKit protocol. Protobuf definitions for LiveKit's signaling protocol
webcall - The telephone, a supernatural instrument before whose miracles we used to stand amazed, and which we now employ without giving it a thought, to summon our tailor or order an ice cream. --M.Proust
Ether1 - Official Go implementation of The Etho Protocol
rtp - A Go implementation of RTP
ion-examples - DEPRECATED, we strongly suggest you use ion-sdk-go instead!
0x-mesh - A peer-to-peer network for sharing 0x orders