Video calls in Nextcloud 11 with Spreed

Post date

December 13, 2016

Categories
Author

Jos Poortvliet

Nextcloud 11 introduces experimental video and audio call integration through the Spreed app, designed to be easy to install and nicely integrated. We will walk through the current state and some plans for the future.
spreed-in-action

Introducing the Spreed app

The Spreed app uses the web standard WebRTC for communications. It has been built in PHP to enable easy installation and integration in Nextcloud.

The app is currently experimental, in no small part due to the limitations of the WebRTC technology. Current limitations include:

  • Scalability.
    The peer-to-peer nature of WebRTC means there are limits to scalability. The app is capable of handling about 6 participants in a group video chat but heavily dependent on the network connection quality the participants have. A single server can host quite a number of one-on-one or group calls, they do not create a very heavy load. We are working on adding more capabilities, including ways to increase the number of participants beyond 6 and more using a mediating server in between.
  • Browser support
    Another limit users will encounter is browser quality. Right now, Firefox and Chrome have decent compatibility on most platforms but breakage is still very frequent.
  • Firewalls
    Last but not least, heavily firewalled corporate networks make it hard to create a reliable connection. For this, Spreed supports a so called STUN server, which helps setting up a connection through firewalls.

Right now, the following features are available:

One-to-one calls

You just need to click on one of the users presented on the list:
dropdown-list

This will create a private call between you and that user. The other user will receive a notification saying that you have invited him or her to a private call.

notifications

Group calls

There are different ways to create a group call. First you could select one of your Nextcloud groups that appear in the dropdown list.

dropdown-groups

This will immediately create a group call, adding all users from that group as participants of that call, including yourself even if you are not part of that Nextcloud group. All group members will receive a notification saying that you have invited them to a group call.

Another possibility is to add participants to an existing call. This could be done by selecting the “Add person” option in the call menu.
call-menu

Public calls

As the name suggests, these calls are accessible for everyone, even people who are not users on your Nextcloud instance. There are also a few ways to start a public call. You can just select the option “New public room”. This will create a public call where you are the only participant. You can then share the link that is showed with your friends and they will be able to join that call. Also, you can still add Nextcloud users by adding them as described in group calls. You can make any call public by selecting the option “Share link” from the call menu.

inviting-people

If you want a call to no longer be public you just need to click on the “Unshare” icon in the call menu. This will convert that call to a normal group call again, and only the participants of that call from your Nextcloud server will be able to enter.

call-menu-share

How can I use Spreed video calls?

If you would like to test out Spreed, you can go to the built in Nextcloud app store (the plus in the apps menu) where you can find it. You can learn more about the app in our web app store. After adding the app to your Nextcloud instance, everything will just work out of the box. No further installation steps will be needed.

Future plans

This is just the beginning of what we want to achieve with this app. We are working hard to bring new features, make the app more stable and integrate it deeper in Nextcloud. You can get involved in our github repo by reporting bugs or adding code!

Start the discussion at the
Nextcloud forums

Go to Forums