ion VS ion-sfu

Compare ion vs ion-sfu and see what are their differences.


Real-Distributed RTC System by pure Go and Flutter (by ionorg)


Pure Go WebRTC SFU (by pion)
Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • Scout APM - Truly a developer’s best friend
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • Zigi - Close all those tabs. Zigi will handle your updates.
ion ion-sfu
2 3
3,663 778
0.7% 3.1%
4.1 4.0
4 months ago 20 days ago
Go Go
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.


Posts with mentions or reviews of ion. We have used some of these posts to build our list of alternatives and similar projects.

We haven't tracked posts mentioning ion yet.
Tracking mentions began in Dec 2020.


Posts with mentions or reviews of ion-sfu. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-25.
  • Ask HN: Why is there no enterprise grade open-source zoom alternative?
    6 projects | | 25 May 2022
    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 (, 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 (, and I've been actively participating in the Pion community ( and collaborating with the authors of ion-sfu ( and LiveKit (

  • How to build ion-sfu's pub-from-disk example?
    3 projects | | 3 Aug 2021
    go get: module[email protected] found (v1.10.8), but does not contain package
  • LiveKit – open-source infrastructure for real time audio and video
    2 projects | | 19 Jul 2021
    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:

    Notably using the well known extremely well reputed super battle hardened Pion sfu, ion:

What are some alternatives?

When comparing ion and ion-sfu you can also consider the following projects:

Pion WebRTC - Pure Go implementation of the WebRTC API

livekit-server - Scalable, high-performance WebRTC SFU. SDKs in JavaScript, React, React Native, Flutter, Swift, Kotlin, Unity/C#, Go, Ruby and Node. [Moved to:]

kratos - Your ultimate Go microservices framework for the cloud-native era.

livekit - End to end stack for WebRTC. SFU media server and SDKs

peer-calls - Group peer to peer video calls for everyone written in Go and TypeScript

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

protocol - LiveKit protocol. Protobuf definitions for LiveKit's signaling protocol

rtp - A Go implementation of RTP

Ether1 - Official Go implementation of The Etho Protocol

0x-mesh - A peer-to-peer network for sharing 0x orders

ion-examples - DEPRECATED, we strongly suggest you use ion-sdk-go instead!