Proposal to replace Janus with LiveKit for Nextcloud Talk

I would like to open a discussion about the possibility of replacing Janus with LiveKit as the WebRTC infrastructure for Nextcloud Talk. Here are some points to consider:

Potential benefits of LiveKit:

  1. Performance: LiveKit is designed to be highly performant and scalable, which could improve the quality of video calls, especially for large meetings.

  2. Ease of use: LiveKit’s API is said to be simpler to use than Janus’, which could facilitate development and maintenance.

  3. Advanced features: LiveKit offers built-in features such as recording and transcription, which could enrich the Talk user experience.

  4. Integration: LiveKit has SDKs for several languages, including PHP, which could facilitate integration with Nextcloud.

  5. Active community: LiveKit benefits from an active and growing developer community.

Considerations :

  • Migration effort: Switching from Janus to LiveKit would require a significant development effort.
  • Compatibility: It would be necessary to ensure that all current Talk features are supported by LiveKit.
  • Actual performance: Extensive testing would be required to compare the performance of LiveKit and Janus in the context of Nextcloud.

I’d like to hear your views on this proposal. Do you think this change would be beneficial for Nextcloud Talk? What challenges or opportunities do you see?

Thank you in advance for your feedback and participation in this discussion.

You may get some feedback here, but development discussions such as this probably are more likely to seen by the appropriate stakeholders elsewhere - e.g. GitHub - nextcloud/spreed: 🗨️ Nextcloud Talk – chat, video & audio calls for Nextcloud

Would be nice to include a feature by feature list of what is lost in migrating. There are always caveats.

If this is important for you, take the time to write up exactly this info for the team.

I think overall you have to say that Nextcloud Talk has developed over the years to where it is today. It starts with the Spreed base from Struktur AG (Spreed Next Generation). If you think about alternatives to Janus (from Meetecho ), you could also consider Mediasoup (e.g. eduMEET), Jitsi Videobridge (Jitsi), Kurento (Big Blue Button), Matrix (Element), …

A change would probably mean a considerable development effort and the entire architecture (signalling and media handling) of Nextcloud Talk would have to be rebuilt.