HACKER Q&A
📣 ketzu

Are there good self-hosted video conference tools?


As we switched to full home office at my university, we started establishing short regular video conferences. Unfortunately, most tools are overwhelmed and we would like to self host our infrastructure.

Do any of you have experience with self hosted tools for video conferences?


  👤 londons_explore Accepted Answer ✓
You need a lot of GPU time to run a decent video conferencing system.

That's because every video feed usually needs to be realtime, low-latency transcoded to match the receivers bandwidth requirements. If some people in the meeting are on 3G while others are on fast internet, you can't send the same data to all of them! You can't send the same to all of them if different client devices have different hardware video encoders/decoders. Start doing software decoding and you'll soon end up draining users batteries like Zoom!

In a 10 person meeting, thats 10 incoming video feeds, and 100 outgoing video feeds. Not many machines can encode 100 video feeds in realtime! Obviously you can skimp on quality a bit and bucket users (ie. we'll have a high, a mid, and a low res feed, and just pick which to send).

For all the above reasons, that tends to be why self-hosted video conferencing systems are kinda laggy and gobble battery and have poor client support.

Big companies offering hosted VC solutions tend to have dedicated video encoding chips, so they can cheaply make hundreds of video streams to send to every participant.


👤 aklemm
Matrix is a fascinating decentralized chat and VoIP conferencing option that can be self-hosted. I’m running the Synapse server and recently tried it with a couple of friends. The 1 to 1 video experience was noticeably sharper than Google Hangouts.

https://matrix.org/docs/projects/server/synapse/

Edit: This is the client software: https://about.riot.im/features


👤 magriz
You can try Jitsi meet[1]. Open-source and with all the usual features.

[1]https://jitsi.org/jitsi-meet/


👤 sirwitti
A group of friends were and still are evaluating video conferencing for small groups (<6 people).

Here's what we've tried so far:

Nextcloud: I'm running a nextcloud instance since ~2 years (it's awesome) and tried nextcloud talk several times, though for some reason we could not get audio and or video to work.

Just this week we tried jitsi because it's open source and can be self-hosted. Unfortunately while it worked in principle jitsi uses large amounts of cpu cycles when running in the browser and additionally latency and video quality was an issue.

For us the best option as of now is still https://whereby.com which works well regarding stability, audio/video quality and latency, though it's not self-hosted. I'm not affiliated in any way with them, I just like their product.

I'd love nextcloud talk to work, and I'm very curious about other solutions I'm not aware of - self-hosted and otherwise.

Edit:

After reviewing my nextcloud talk setup I saw that I didn't set up a TURN server which might be the reason it's not working. So it's not nextcloud, but incomplete setup.


👤 leesalminen
Twilio just released a (mostly) full featured client for their Programmable Video service: https://github.com/twilio/twilio-video-app-react

We decided to roll this out to our users as a free service for 6 months. Our users are small business owners in the physical meat-world and don't typically have a Zoom subscription already.

I made a couple tweaks to the app- namely to be able to embed as an iFrame into our web application (and pass the room+user name in as GET parameters).

It works great! We've deployed it to Twilio's infrastructure so we didn't have worry about any of that. Will be rolling out to users today.


👤 spodek
Don't forget the value of finding ways to avoid the need for video conferencing. While many may feel unavoidable, alternatives like delegating authority, simplifying tasks, and such can often achieve more than a meeting.

The before covid-19, a friend who organizes conferences told me how his firm achieved more by his not going to the second annual conference he organized in Shanghai and delegating more to his former helper, now main Shanghai organizer.

Even if you can't avoid everything, the more you find ways to simplify, the more you build your experience and skills to do so more the next time.


👤 philbarr
You can try setting up https://www.kurento.org/

Note that all modern browsers support WebRTC. I wrote a simple server to setup WebRTC sessions between browsers that worked, but it's probably easier to use kurento.


👤 gdi3d
You could try https://www.yameeting.com/ we give free service for small meetings < 10 ppl with no time restrictions (no enforced limit except server capacity)

You can also use the Ninja Mode (disposables VM's), but you'll have to pay for that.

Disclaimer: I'm the owner of yameeting.com and we use jitsi meet behind the scenes.


👤 sibilsalim
I'm surprised that no one mentioned Bigbluebutton.

Open source, easy installation, good documentation and has a great community.


👤 bigmanwalter
I have recently implemented a Janus server for my client and it's working great for them!

https://janus.conf.meetecho.com/


👤 pmlnr
There's Nextcloud Talk: https://nextcloud.com/talk/ but I haven't personally tested it yet.

👤 JackRabbitSlim
DuoBango https://github.com/DoubangoTelecom/doubango

Use with any standard SIP client. It can be stand alone or part of a PBX... It can be crabby to build and as others have pointed out it's gonna need a bit of horse power but by no means do you need a super high end 48 core monster but your not gonna host this thing on a AWS micro instance either.


👤 api
We were looking for a good LAN video conference tool, since we (ZeroTier) could use it on virtual LANs for telework. The ideal would be something where you can do a conference call by just entering IPs or finding participants with mDNS. It seems nothing like this exists beyond some really old abandonware for Windows. I spent a little time seeing if we could trick VNC into doing this but it's too clunky.

👤 zabowl

👤 oneplane
Keep in mind that depending on the model used by the video/audio processing this might require some hardcore transcoding and/or bandwidth.

Normally a few SD/HD streams are not that hard, but it does add up.


👤 markvdb
- matrix-synapse as the server

- coturn to help webrtc audio & video get through

- riot.im as a client (includes jitsi)

It's not rocket science. All the server side stuff is in Debian main. Clients available for every major platform. The riot desktop client even has a properly maintained apt repository...


👤 ape4
Since nobody has mentioned it - multi platform seems to be a necessity.

👤 Sean-Der
Another SFU is https://github.com/pion/ion

Someone also built a CLI based conferencing solution https://github.com/dialup-inc/ascii :) stop wasting all those resources on X11!


👤 gumarn
Do you know the oss https://jitsi.org/jitsi-meet/ They also have docker containers: https://github.com/jitsi/docker-jitsi-meet

👤 nemacol
Not sure how well it works for actual video conferencing, but https://www.vidyo.com/ is on premise product.

We use it for its audio/video in an ATM/VTM (virtual teller) system.

During testing I did 1-1 video calls and it works well.

It uses 3 Linux VM's that was delivered to us via OVA.


👤 kimburgess

👤 jvanveen
Working on a webbased FOSS video conferencing/telephony solution: https://github.com/garage11/ca11

👤 rbaudibert
You should definitely take a look at Elos[1]:

Every common feature you need, multiplatform, and customizable

1: https://elos.vc/site/en/


👤 microdrum
We’ve been using these guys to pick tools, though we didn’t ask for self-hosted vidcon:

https://www.remote-theory.com/


👤 zokier
Isn't SfB (neé Lync) still available as self-hosted ("on-prem") solution? Of course it's not necessarily exactly "good" but it exists and can work

👤 bugmen0t
jitsi

👤 anonu
I have no experience with this. But I imagine XMPP solves your problem in some way: https://en.wikipedia.org/wiki/XMPP

👤 bluGill
Why do you need video? Most video conferences are about watching someone's lips move - so you can drop to audio (you still need to deal with the deaf though). With a little work you can turn most video calls into audio only calls and make this greatly easier.

Sometimes writing on a blackboard while talking seems to be the best way to teach. However if you can encourage those who can teach other ways to do so it would be a great help.