Jitsi vs BigBlueButton vs Nextcloud Talk

Jitsi fits general meetings that scale by adding bridges, BigBlueButton fits virtual classrooms on a heavier dedicated server, and Nextcloud Talk fits calls inside an existing Nextcloud file platform.

On this page

Which video platform fits which situation

Jitsi fits general meetings, BigBlueButton fits virtual classrooms, and Nextcloud Talk fits calls that live inside a file platform you already run. All three are open source, so the decision rests on the job the calls have to do, not on a feature checklist. A team that needs ad hoc video meetings with external guests should start with Jitsi Meet, a team that runs courses with slides, polls, breakout rooms and a shared whiteboard should start with BigBlueButton, and an organization already on Nextcloud should test Talk first because its calls sit next to the files people are discussing. Jitsi is the strongest choice for general meetings when participant counts vary and you expect to add capacity by adding videobridges. Its architecture is a set of separate components that scale out, and the handbook's scalable setup guide describes the central server and each bridge as sizing decisions you make in advance. Concurrency and guest access are the conditions that matter most here.

BigBlueButton is the right answer when the session is a lesson or a training run, and the heavier server requirements are a cost you accept for the teaching features. Its install documentation asks for 16 GB of memory, 8 CPU cores and 500 GB of disk for recordings, so confirm your hosting budget before you pick it for a small team. Nextcloud Talk suits teams whose main workflow is sharing files, but without the High Performance Backend it works best for small calls of roughly 5 to 20 users, so confirm whether that HPB component, which is sold through Nextcloud, is part of your plan. Check your expected largest call size against these limits before you commit.

Which platform for which scenario

This table matches each common scenario to the platform that fits it best, with the supplied facts behind the choice and the cost of using a second option. Read each row for the best fit first, then the note on what a second platform would take.

ScenarioBest fit and reasonSecond option and what it costs
Company-wide meetings with many participantsJitsi Meet. It is a dedicated video bridge built for meetings, and its scalable setup adds videobridges horizontally as load grows.Nextcloud Talk with the High Performance Backend can reach 30 to 50 or more active participants, but that backend is a Nextcloud partner product obtained through Nextcloud sales, so budget for that purchase. Without it, Talk usually handles about 5 to 20 users per call.
Webinars and large one-way sessionsBigBlueButton for teaching-style sessions with slides, polling, whiteboard and breakout rooms. Confirm the audience size you need against its server sizing before you commit.Jitsi Meet handles open meetings but has no built-in slide, poll or breakout model in the supplied facts, so confirm those features with the project before relying on them. Nextcloud Talk's High Performance Backend targets passive participants for webinars, at the added cost noted above.
Lectures and virtual classrooms in an LMSBigBlueButton. It is embedded in Canvas, Moodle Cloud, Sakai, D2L, Schoology and others, and it includes shared notes and breakout rooms.Jitsi Meet can join an LMS through its own integration work, which you would need to build and maintain. Choosing it means accepting that extra effort and fewer classroom tools.
Nextcloud file platform with occasional callsNextcloud Talk. Calls sit next to chat, file sharing and mentions inside the same Nextcloud server, so there is one platform to run and one login path.Jitsi Meet adds a dedicated bridge for larger calls, but it is a separate service with its own ports, certificates and authentication setup. Add it only when Talk's call size or features fall short.
Small team on a single serverNextcloud Talk or Jitsi Meet, depending on whether the server already runs Nextcloud. Both run on a single host, and Talk avoids a second service when Nextcloud is present.BigBlueButton 4.0 needs 16 GB of memory with swap, 8 CPU cores and 500 GB of disk for recordings, plus UDP ports 16384 to 32768. That is a heavy footprint for a small team, so choose it only when classroom features justify it.
Recording and streaming needsJitsi Meet, through optional Jibri containers, when recording is a side need for meetings. Plan the recording storage and confirm the setup with the project.BigBlueButton includes recording as a core feature and recommends 500 GB of disk for recordings. Nextcloud Talk's recording path is not covered in the supplied facts, so confirm it before you rely on it.
Dial-in by phoneJitsi Meet, through the optional Jigasi SIP gateway, for SIP dial-in alongside browser meetings.The Talk High Performance Backend offers optional SIP dial-in, obtained through Nextcloud sales. Confirm which option fits your telephony provider.
Organizations with a strict identity modelNextcloud Talk when users already sign in to Nextcloud, since calls reuse that login. Confirm how it aligns with your directory before rollout.Jitsi Meet supports JWT tokens, LDAP and Matrix verification through its Docker setup, and BigBlueButton's Greenlight v3 supports OpenID Connect. Each adds configuration work for your identity team.

How Jitsi scales out by adding bridges

Jitsi splits its work across several components, and scaling depends on knowing which one carries the media. The Jitsi Videobridge (JVB) is the media router that forwards audio and video between participants, so it is the component you add when concurrency grows. Prosody is the XMPP server that carries signalling, Jicofo is the conference focus that creates and manages conference rooms and assigns each one to a bridge, and the web server serves the web app. Jibri (recording and streaming) and Jigasi (SIP dial-in) are optional containers or services that you add only if you need them. The official guidance says the default install is already configured for horizontal scaling, so adding capacity usually means installing more bridges and registering them with the central server rather than redesigning the stack.

The Jitsi scalable setup guide suggests a 4 CPU, 8 GB machine for the central server (Prosody, Jicofo and the web server) and 4 or 8 CPU with 8 GB RAM for each videobridge. Treat these as starting points from the vendor, not as a capacity commitment for your meetings. Confirm your own sizing by load testing with your typical room sizes, screen sharing and whether recording runs at the same time, because recording uses separate resources. The network side needs the same attention: HTTPS with a certificate for your real domain is required for working audio and video, and self-signed certificates cause problems, especially on mobile clients. Plan TCP 80 and 443 for the web and signalling path, and UDP 10000 for media, with 5349/TCP for TCP fallback and 3478/UDP for STUN as optional items.

Recording and dial-in are a separate design choice, not a default. Jibri and Jigasi add their own hosts, dependencies and firewall rules, and they change the load on the bridges and the central server. Decide early whether participants must be recorded, whether external callers must join by phone, and who will operate those services. If the answer is no, leave them out of the first build and keep the bridge pool simple. If the answer is yes, size and test those components as their own workload before you commit to a concurrency target.

What each platform licenses and what is paid

Jitsi Meet is licensed under Apache-2.0, a permissive license that lets you run, modify and redistribute the code inside your own infrastructure. Jitsi is a trademark of 8x8, Inc., which the project notes on jitsi.org, so branding and naming questions should go through that trademark note rather than assumptions about the code. 8x8 also offers JaaS (Jitsi as a Service), a hosted route where the team that builds Jitsi runs the service for you. The free public instance at meet.jit.si is a separate service from both self-hosting and JaaS.

  • Code license: Apache-2.0 covers the Jitsi Meet source, so self-hosting carries no license fee for the core stack.
  • Trademark: The Jitsi name belongs to 8x8, Inc. Confirm how you may describe or rebrand your deployment.
  • Hosted alternative: JaaS is a paid service from 8x8, and it changes who runs the infrastructure and who handles recording and dial-in.
  • Recurring cost: Your own servers, bandwidth, certificates and staff time recur, even though the software itself is free.
  • Paid support: The supplied facts do not show a paid self-hosted support tier from 8x8 for Jitsi Meet, so ask 8x8 directly.

Before you commit, request in writing whether 8x8 offers any paid self-hosted support, and which components (such as Jibri or Jigasi) are covered by any license terms.

What drives the running cost of each platform

Running cost for these three platforms comes from the servers they need, the bandwidth and TURN relays their calls consume, the storage that recordings fill, and the people paid to operate them. Each card names who pays, what is one-time and what recurs, and the sizing figure the reader should check against their own user counts.

Server footprint per platform

Jitsi splits work across a central server and one or more videobridges, so you can start small and add bridges as concurrency grows. BigBlueButton 4.0 is a single heavy server by default: the install documentation calls for 16 GB of memory with swap and 8 CPU cores with high single-thread performance. Ask the vendor or your own tests how many concurrent classes one BigBlueButton server holds before you buy hardware. Jitsi's scalable setup guide suggests a 4 CPU, 8 GB central server and 4 or 8 CPU, 8 GB bridges, which are starting points rather than capacity guarantees.

Bandwidth and call topology

Nextcloud Talk without the High Performance Backend sends each participant's stream to every other participant, roughly 1 Mbit/s times participants minus one, so upload cost rises quickly with call size. Jitsi and BigBlueButton route media through a server, so each client sends one stream upward. The Talk scalability documentation says the mesh model usually works for about 5 to 20 users in a call. Ask your provider how much symmetrical bandwidth your egress and ingress plans include, since BigBlueButton's install documentation asks for 250 Mbit/s symmetrical.

TURN relay infrastructure

Users behind restrictive firewalls need a TURN server to connect, and Nextcloud Talk needs one on port 443 or 80 in almost all scenarios. BigBlueButton recommends a TURN server for the same reason, and Jitsi's setup uses optional STUN and TCP fallback on port 5349. A TURN relay carries media traffic, so it adds a second server to patch, monitor and size, and its bandwidth grows with the number of relayed participants. Confirm whether your user population needs relayed traffic before you budget for it.

Recording storage and retention

Recording is where disk costs grow over time. BigBlueButton 4.0 asks for 500 GB of disk for recordings, or 50 GB without recording, which is a one-time sizing decision that recurs as recordings accumulate. Jitsi recording runs through the optional Jibri component, which adds its own container or host to run. Nextcloud Talk stores what users choose to keep inside the file platform. Set a retention policy and a storage budget before the first class is recorded, because recordings are rarely deleted on their own.

Nextcloud platform cost when Talk is added

Talk runs inside Nextcloud, so a team that adds calls to an existing file platform pays for the Nextcloud server, its PHP runtime and database, and the Talk server alongside it. The Talk system requirements rule out SQLite and require utf8mb4 on MySQL or MariaDB, which can shape the database you already run. Larger calls need the High Performance Backend, a Nextcloud partner product obtained through Nextcloud sales, so its cost is a separate quote. Ask whether that backend is in scope before comparing totals.

Support contracts and operating labor

Each platform is free to download, so most recurring cost is labor and support. Nextcloud GmbH sells an Enterprise subscription with support, BigBlueButton Inc. offers hosting and commercial support, and Jitsi's commercial hosted option is JaaS from 8x8. Your internal team or an implementation partner such as DeployOpen covers upgrades, backups and monitoring unless you buy a support contract. Ask each vendor for the scope and response terms in writing, and ask DeployOpen for a fixed-scope quote based on your environment.

What it costs to move users between these platforms

Moving between these three video tools costs far more in user habits and archives than in software. Jitsi Meet rooms are addressed by URL, so a team that switches will change every room link that has been shared, bookmarked or pasted into calendar invitations. Nextcloud Talk rooms live inside the file platform, so people lose the conversation history and shared files attached to a room if the Nextcloud instance is replaced. BigBlueButton sessions are tied to the server that hosts them, and recordings are stored on that server's disk, so the recording archive must be exported and checked before any cutover. Before you commit, list which rooms are recurring, which recordings must be kept for policy reasons, and who owns each room.

BigBlueButton adds two switching constraints. If the team learning platform embeds BigBlueButton, the LMS connection and any Greenlight or LTI configuration must be rebuilt on the new host, and identity must be mapped again. Greenlight v3 can use OpenID Connect, so confirm which identity provider claims map to which roles before users arrive. The most important constraint is the upgrade path: BigBlueButton 4.0 is installed on Ubuntu 24.04, and direct upgrades from 2.6, 2.7 or 3.0 are not supported, so the project recommends a clean server installation. An existing 3.0 deployment therefore cannot be upgraded in place to 4.0. Plan a new server, a parallel run and a data migration step, and confirm the exact steps in the official install documentation before setting a date.

When a team outgrows one platform, plan for the move as a new deployment rather than a version bump. A common path is to start with Nextcloud Talk for small calls next to files, then add Jitsi for larger meetings, or to start with Jitsi for meetings and add BigBlueButton when lectures need slides, polling and breakout rooms. Each addition brings its own identity integration, TURN planning, HTTPS certificates and user communication. Keep the authentication method consistent across tools where you can, and document which tool holds recordings, chat history and room definitions. Ask any implementation partner for a written migration plan that names the data stores, the cutover window and the rollback step for each platform.

What implementing each platform involves

This sequence shows the order of work for each of the three platforms, from server build through identity and recording to integration, so you can see where the effort sits before you commit to one.

  1. Size and build the server or servers

    Start by matching the hardware to the platform. BigBlueButton 4.0 requires Ubuntu 24.04, 16 GB of memory with swap, 8 CPU cores with high single-thread performance, 500 GB of disk for recordings (50 GB without recording) and 250 Mbit/s symmetrical bandwidth, and it installs on a clean server because direct upgrades from 2.6, 2.7 or 3.0 are not supported. Jitsi Meet on Debian 12 or newer or Ubuntu 24.04 or newer needs OpenJDK 17 and separates the central server from the videobridges, which the scalable setup guide sizes at 4 CPU and 8 GB for the central server. Nextcloud Talk runs on your existing Nextcloud 35 host with PHP 8.3, 8.4 or 8.5 and a supported database, and it must not use SQLite. Confirm that your hosts, cloud accounts or data center racks meet these figures before you order capacity. The check is a passing preflight on each host.

  2. Assign DNS names and HTTPS certificates

    Each platform needs a valid hostname and a certificate that browsers trust. The Jitsi handbook states that HTTPS with a proper domain certificate is necessary for working audio and video and warns that self-signed certificates cause problems, especially on mobile clients. BigBlueButton needs a valid hostname for SSL, and Nextcloud Talk needs HTTPS for WebRTC calls. Decide whether each service gets its own name, and record which team owns certificate renewal in your environment. Done means each name resolves internally and externally where needed, and a browser on a corporate device loads the service without a warning.

  3. Open firewall paths and UDP media ports

    Media traffic is where most first-day failures appear. Jitsi needs 80/TCP, 443/TCP and 10000/UDP, with 5349/TCP for TCP fallback and 3478/UDP for STUN as optional. BigBlueButton needs TCP 80 and 443 free of other web servers and UDP 16384 to 32768 reachable. Nextcloud Talk needs a TURN server on port 443 or 80 in almost all scenarios, and BigBlueButton recommends a TURN server for users behind restrictive firewalls. Ask your network or cloud security team to confirm these rules at the perimeter, on any load balancer and on the host firewall. Done means a test call from outside your network connects with audio and video.

  4. Configure authentication for each platform

    Authentication is the step most likely to change who can create rooms. For Jitsi, the handbook marks the older secure domain method as deprecated for new installations and recommends JWT token authentication with a separate anonymous domain for guests. The Docker guide also lists internal XMPP accounts, LDAP and Matrix options, set in the .env file. For BigBlueButton, Greenlight v3 supports OpenID Connect through environment variables, and its docs suggest Keycloak for Google, Microsoft and SAML logins. Nextcloud Talk inherits the Nextcloud user directory and its existing login methods. Confirm with your identity team which directory is the source of truth and whether guests need accounts. Done means a test user from your directory signs in and creates a room, and an anonymous guest joins without seeing admin functions.

  5. Set up recording and storage

    Recording has different machinery on each platform. Jitsi recording and streaming run through optional Jibri, which the official Docker setup runs as its own container. BigBlueButton records on the same server, so the 500 GB disk and bandwidth figures above apply when recording is on. Nextcloud Talk call recording depends on the Nextcloud install and its storage, and you should confirm how recordings are stored, retained and access-controlled under your own retention policy. Decide who may record, where files land and how long they are kept. Done means a test recording plays back and appears only where the policy allows.

  6. Integrate with Nextcloud or the LMS

    Integration determines how users reach the tool. Nextcloud Talk is already inside the file platform, so its work is mostly on the Nextcloud side, including the High Performance Backend if your call sizes exceed the roughly 5 to 20 participants typical without it. BigBlueButton can be embedded in learning management systems such as Canvas, Moodle Cloud, Sakai, D2L and Schoology, and the bbb-install.sh script can add Greenlight or LTI support on the same server. Jitsi integrates through JWT-based room access and its APIs. Check the LMS or Nextcloud version you run against the platform documentation and confirm the integration path with the vendor before you build. Done means a user launches a meeting from inside the target tool without a separate login.

  7. Test capacity and document the runbook

    Before go-live, load test with realistic participant counts that match your largest expected meeting, and check the scaling path you chose. For Jitsi, confirm that you can add videobridges horizontally. For BigBlueButton, confirm whether a single server or a load-balanced layout fits the concurrency you expect. For Nextcloud Talk, confirm the participant ceiling you need with or without the High Performance Backend. Record upgrade steps, backup targets and the owner of each service. Done means a signed-off test report and a runbook that someone outside the build team can follow. If your team lacks the staff to do this, DeployOpen can scope this work in writing as a fixed-scope engagement.

Questions buyers ask before choosing a video platform

How much effort does it take to run Jitsi Meet compared with BigBlueButton?

Jitsi Meet is the lighter operation to start with, while BigBlueButton carries the heavier server footprint. A Jitsi Meet deployment combines a web server, Prosody, Jicofo and one or more Jitsi Videobridge instances, and the scalable setup guide suggests a 4 CPU, 8 GB machine for the central server and 4 or 8 CPU with 8 GB RAM for each videobridge. BigBlueButton 4.0 needs 16 GB of memory with swap, 8 CPU cores with high single-thread performance, 500 GB of disk for recordings and 250 Mbit/s symmetrical bandwidth, per its install documentation. Effort recurs through upgrades, certificate renewal, backups and monitoring, so ask any partner to price those as separate line items.

Can a team install Jitsi Meet or BigBlueButton without outside help?

A technical team can install both, but the work depends on skills it already has. The Jitsi Debian and Ubuntu quick start supports Debian 12 or newer and Ubuntu 24.04 or newer and requires OpenJDK 17, and the Docker guide runs separate containers for each role. Jitsi also needs HTTPS with a proper domain certificate, since self-signed certificates cause problems for audio and video. BigBlueButton 4.0 requires a clean Ubuntu 24.04 server because direct upgrades from 2.6, 2.7 or 3.0 are not supported, and it needs Docker for sandboxed document conversion. Teams without Linux, network and TLS experience should plan for a test environment before production.

When is an implementation partner worth bringing in for a video platform?

A partner is most useful when the deployment has to meet an external standard, integrate with identity or an LMS, or run on infrastructure the internal team has not operated before. DeployOpen plans, implements, integrates, hardens, backs up, upgrades and documents self-hosted platforms inside the client's own infrastructure, and most engagements are fixed-scope with scope, deliverables and timelines agreed in writing before work starts. A partner does not replace your own ownership of the platform. Ask for a written scope that names the recording, dial-in, authentication and support tasks, and state which ones your team keeps.

How long does a self-hosted video deployment take to put in place?

The duration depends on the number of environments, the identity and LMS integrations, network and firewall changes, and how much recording and load testing the rollout needs. No published timeline is supplied for this comparison, so ask any partner for a duration tied to a written scope rather than a generic figure. The first items to lock down are the public hostname and TLS certificate, the UDP port range for media, and the firewall rules for TURN if users sit behind restrictive networks. Those steps often set the critical path.

What does the internal team need to supply for the project?

The internal team usually supplies the Linux and network administrators, the DNS and certificate owner, the identity source and the person who will approve the change window. For Jitsi, the team must choose an authentication method, with options that include internal XMPP accounts, JWT tokens, LDAP and Matrix user verification, and the handbook recommends JWT token authentication over the deprecated secure domain method. For Nextcloud Talk, the team needs HTTPS, a TURN server on port 443 or 80 in almost all scenarios and a database that supports utf8mb4 if MySQL or MariaDB is used. Name these owners in the statement of work.

Does a Nextcloud Talk call need a separate server to scale?

Talk works inside an existing Nextcloud server, but scale depends on the media path. Without the High Performance Backend, each participant sends a stream to every other participant, about 1 Mbit/s times participants minus one, and Talk usually scales to about 5 to 20 users in a call. With the High Performance Backend, a selective forwarding unit, Talk typically scales to 30 to 50 or more active participants. That backend is a Nextcloud partner product obtained through Nextcloud sales, so request its licensing and sizing in writing before you plan larger meetings.

What should a buyer request in a quote for a self-hosted video platform?

Ask for a fixed scope that lists each platform, each environment, the number of concurrent participants you expect, and the recording, dial-in and authentication features in or out of scope. Request the hardware or cloud sizing assumptions, the TLS and TURN plan, the backup and upgrade process, and the documentation handover. Separate one-time work such as installation and integration from recurring work such as upgrades, monitoring and support retainers. DeployOpen does not publish a price list, so a quote follows from the written scope.

When Nextcloud users still add Jitsi

Nextcloud organizations often keep Talk for chat, file sharing and quick one-to-one or small group calls, then add Jitsi for larger meetings. The condition that makes this pair sensible is a participant count that Talk does not handle well without the High Performance Backend. Without that backend, every participant sends a stream to every other participant, and Talk usually scales to about 5 to 20 users in a call, according to the Talk scalability documentation. If your all-hands, external webinars or board meetings regularly exceed that range, and you do not want to buy the High Performance Backend through Nextcloud sales, a Jitsi Meet deployment that scales by adding Jitsi Videobridge instances may be the cheaper route. Confirm the Talk limits against your own bandwidth and participant profile before deciding.

The operating cost of two systems is real and recurring. You run two TLS certificates, two sets of firewall rules, two sets of TURN and media ports, two authentication paths and two upgrade cycles. Jitsi also needs its own identity decisions, since the Jitsi Docker guide offers JWT tokens, LDAP and Matrix verification, and the handbook recommends JWT over the deprecated secure domain method. Ask your team who owns each system's patching, who answers when a call fails, and whether users can tell which room they should use. A written rule such as Talk for calls under a set size and Jitsi for anything larger keeps the split understandable.

A classroom or training team has a different reason to add a separate tool. BigBlueButton offers slides with annotations, polling, breakout rooms and shared notes, which Talk does not aim to replace. Its 4.0 install needs a dedicated server with 16 GB of memory and 8 CPU cores, so it should run on its own host rather than beside Nextcloud. Keep Talk for staff chat and quick calls, and add BigBlueButton only if the teaching features justify a second server to maintain. Illustrative case: a training unit that runs two lessons a week may find one shared link workable, while a daily course schedule will justify the extra operating load.

How DeployOpen helps choose and implement a video platform

DeployOpen is a Chainscore Labs company that plans, implements, integrates, hardens, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For a video decision, we start by mapping the meeting, classroom and in-file call workloads you actually have, then build only the platform that fits them.

How we scope

  • We confirm the jobs first: meetings, virtual classrooms, or calls inside a file platform, with expected concurrency per session.
  • We record hosting constraints, including the server sizes, bandwidth and open ports your network team will allow.
  • We agree the written scope, deliverables and timelines before work starts, since most engagements are fixed-scope.

How we build

  • We install the chosen stack in your environment, with HTTPS certificates, TURN relay and firewall rules tested end to end.
  • We configure authentication for your identity model, such as JWT tokens for Jitsi or OpenID Connect for Greenlight.
  • We set up recording storage, retention and access controls, and confirm the sizing your chosen platform's documentation requires.

How we hand over

  • We document the architecture, configuration keys, port map and upgrade path so your own staff can run the platform.
  • We run a written acceptance test covering join flows, recording, dial-in where in scope, and failure scenarios.
  • We provide runbooks for backups, scaling additional bridges or servers, and rollback before the environment goes live.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers, scoped in writing with your team.
  • We track vendor releases and plan upgrades, such as moving between major lines, as a separate agreed piece of work.
  • Quotes follow from the written scope, so ask us to itemize build, documentation, testing and retainer effort separately.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.