aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2020-03-24 19:39:40 +0100
committerJonas Smedegaard <dr@jones.dk>2020-03-24 19:39:40 +0100
commit0cef4b1c7886851397cfe24329b3b65d6e350534 (patch)
treee22030fd6fbd30889ab481d7a2f01a71543f9fc7 /README.md
parent45f64b8bb7d2de89a87ad0baf8913bf4710fc39d (diff)
categorize options as good, bad, or ugly; move sections Features and Platforms to document DEVELOPMENT.md
Diffstat (limited to 'README.md')
-rw-r--r--README.md182
1 files changed, 55 insertions, 127 deletions
diff --git a/README.md b/README.md
index 9923797..c37ffa6 100644
--- a/README.md
+++ b/README.md
@@ -2,14 +2,18 @@
> Use <https://sip2sip.info/> for now, and try avoid more than 6 video streams
+This is an overview of realtime audio/video conferencing option,
+categorized as "good", "bad" or "ugly"
+based on how recommendable they are
+both politically, technically and practically.
-## Recommendations
-Ideal would be to self-host,
-but no such solutions are readyly available in Debian yet.
-Current recommendation is therefore to use a cloud service
-built with Free software, light on resources,
-and realistic to fully self-host later if needed.
+## Good
+
+"Good" options use open standards and Free software,
+is realistic to self-host on cheap, small computers
+(even if concrete instance might be cloud-based),
+and are readily usable.
Generally most reliable is <https://sip2sip.info/>,
so use that unless you need a specific feature unavailable there.
@@ -57,6 +61,17 @@ Includes text chat
(crucial in case of audio trouble).
+## Bad
+
+"Bad" options use Free software,
+but either uses non-standard protocols,
+is too heavy for small-scale self-hosting,
+or does not really work reliably.
+
+These are only relevant if you need some specific feature,
+or for inspiration when exploring what is possible.
+
+
### tawk.space
No login.
@@ -76,181 +91,94 @@ Includes text-based scratch-space.
Includes per-participant pointer.
-## Features
-
-Functionality to consider when considering tool/platform.
-
- * topology
- + mesh (P2P)
- all processing at end-points, participants limited by bandwidth
- + routing (SFU)
- light server processing, participants limited by bandwidth
- + mixing (MCU)
- heavy server processing
- * stream source efficiency
- + Support [simulcast](https://webrtcglossary.com/simulcast/)
- i.e. encode multiple streams that an SFU can "hop" between
- + Support spatial/temporal/quality [SVC](https://webrtcglossary.com/svc/)
- i.e. encode a stream that an SFU can efficiently "slice" without recoding
- + Support suspending simulcast streams
- <https://webrtchacks.com/suspending-simulcast-streams/>
- + Support [SCReAM](https://github.com/EricssonResearch/scream)
- * security
- + Support [PERC](https://webrtcglossary.com/perc/)
- + Support [ZRTP](https://en.wikipedia.org/wiki/ZRTP)
- * stream forwarding efficiency
- * meeting management
- + Personalized Meeting rooms
- + Scheduled/Meet-me Meetings
- + Instant/Direct Meetings
- + Presence Support
- + Recording
- + Text chat
- + Screen sharing
- * conference stream efficiency
- + Skip video streams beyond a threshold of participants
- + Skip video streams tied to quiet audio streams
- + Skip streams of explicitly tagged non-speaker participants
- * conference management
- + Conference Recording
- + force-mute participants
- + "Raise a hand" for muted participants
- * meeting room
- + Dual stream for dual screen
- * Dial in from telephone
- * Dial in from SIP audio-only
- * Dial in from SIP with video
- * Dial in from SIP with SIMPLE text chat
-
-## See also
-
-### Tools
-
-[Janus Gateway](https://janus.conf.meetecho.com/)
-WebRTC SFU/bridge/broker
-written in C
-
-[Mediasoup](https://mediasoup.org/)
-WebRTC SFU
-written in C
-
-[Kurento](https://www.kurento.org/)
-WebRTC MCU
-written in C++
-
-[drachtio](https://drachtio.org/)
-SIP "SFU"
-written in C++
-
-[Licode](https://lynckia.com/licode/)
-WebRTC MCU
-written in C++
-
-[Medooze WebRTC Media Server](https://github.com/medooze/media-server)
-WebRTC/SIP MCU
-written in C++
-
-[SylkServer](https://sylkserver.com/)
-SIP "SFU"
-written in Python
-
-[Spreed WebRTC](https://github.com/strukturag/spreed-webrtc)
-WebRTC SFU
-written in NodeJS and Go
-
-[Jitsi Videobridge](https://jitsi.org/jitsi-videobridge/)
-XMPP SFU
-written in Java
-
-[Jigasi](https://jitsi.org/jitsi-meet/)
-WebRTC bridge to Jitsi Videobridge
-written in Java
-
-### Platforms
-
-[multiparty-meeting](https://github.com/havfo/multiparty-meeting)
-using Mediasoup
-(and optionally drachtio and Kurento)
-written in JavaScript
-hosted at <https://letsmeet.no/>
-
-[Jangouts](https://github.com/jangouts/jangouts)
-using Janus
-written in CoffeeScript
-
-[tawk.space](https://github.com/invisible-college/tawk.space)
-using Janus
-written in CoffeeScript
-hosted at <https://tawk.space/>
-
-[SIP2SIP](https://ag-projects.com/sip2sip/)
-using SylkServer and Janus
-hosted at <https://sip2sip.info/>
-and <https://webrtc.sipthor.net/>
+### roll.call
[Roll Call](https://github.com/mikeal/roll-call)
audio-only
hosted at <https://roll.call>
-[Spreed.ME](https://www.spreed.me/)
-using Spreed WebRTC
-[Nextcloud Talk](https://nextcloud.com/talk/)
-using Spreed WebRTC
+### Jitsi
[Jitsi Meet](https://jitsi.org/jitsi-meet/)
using Jigasi and Jitsi Videobridge
hosted at <https://meet.jit.si/>
+
+### Matrix
+
[Matrix](https://matrix.org/)
using Jigasi and Jitsi Videobridge
+
+### BigBlueButton
+
[BigBlueButton](https://bigbluebutton.org/)
using Kurento
written in Java
-[mConf](http://mconf.org/)
-using Kurento
-written in Java and Ruby
-[OpenMeeting](https://openmeetings.apache.org/)
-written in Java
+### Wire
[Wire](https://wire.com/)
proprietary-protocol [Free Software](https://github.com/wireapp/wire) stack
written in Haskell, Rust, C
+
+## Ugly
+
+"Ugly" options use proprietary software.
+
+Avoid them, they are bad for society.
+
+### Talky
+
[Talky](https://about.talky.io/)
cloud SFU service
hosted at <https://talky.io/>
+### Me
+
[Me](https://join.me/)
cloud SFU service
-GoToMeeting
+### GoToMeeting
+
cloud SFU service
+### Zoom
+
[Zoom Meetings](https://zoom.us/)
cloud SFU service
supporting "up to 50 participants at once"
(but client bandwidth and resource demands and stability of such session is unknown)
+### Hangouts
+
Hangouts Meet
cloud SFU service
+### Webex
+
Webex Meetings
cloud SFU service
+### Skype
+
Skype
cloud SFU service
suporting "up to 25 participants at once"
(but client bandwidth and resource demands and stability of such session is unknown)
+### MoxieMeet
+
MoxieMeet
cloud SFU service
requiring Google account
supporting "up to 32 users all on video together"
(but client bandwidth and resource demands and stability of such session is unknown)
+### TeamViewer
+
TeamViewer
cloud SFU service