Back

Blog details

WebRTC Mesh vs SFU vs MCU: Video Call Topologies Compared

AIOZ Network
6 min readSeptember 20, 2026
aioz-streamguide
AIOZ Stream cover image with the headline WebRTC Mesh vs SFU vs MCU, Video Call Topologies

Mesh, SFU and MCU are the three ways to connect people in a WebRTC video call. Mesh links every device to every other, an SFU server forwards each stream without decoding it, and an MCU server mixes all streams into one. Your room size mostly decides which you need.

TL;DR:

  • Mesh: every participant connects to every other, so N people create N x (N-1) streams. It holds up for 3 or 4 people and breaks down past five.
  • SFU (Selective Forwarding Unit): each participant uploads once, and the server forwards that stream to the others without re-encoding it. Fora Soft prices a self-hosted SFU at about $0.0008 to $0.003 per participant-minute.
  • MCU (Multipoint Control Unit): the server decodes every stream, mixes one picture and re-encodes it, at roughly 4 to 10 times an SFU's compute and about $0.008 to $0.025 per participant-minute.
  • Room size maps almost directly to topology: P2P for 1:1, SFU from small groups to hundreds, and SFU plus LL-HLS or a CDN for audiences in the thousands.
  • AIOZ Stream doesn't run call topologies. It covers the broadcast side: RTMP ingest, HLS playback and a Low Latency Mode (Beta) for interactive streams.

Updated Oct 19, 2026: replaced the line about low-latency live streaming "once it ships" with AIOZ Stream's documented live path and Low Latency Mode (Beta), added a topology diagram and a room-size table, and shortened the opening and sentences.

What is the difference between mesh, SFU and MCU?

All three answer the same question: how do N people in a live call see and hear each other? Mesh sends media straight between your devices, an SFU puts a server in the middle that only routes packets, and an MCU puts a server in the middle that builds one combined video for everyone.

These topologies often get filed under "P2P video," which invites a mix-up, because they're about real-time, many-to-many calls. The content-delivery mesh in our CDN edge node guide is a different thing: cached copies of one broadcast fanning out to many viewers.

Diagram of one 4-person call in three topologies: mesh with 12 streams and no server, SFU forwarding 4 uploads as 12 downloads, MCU mixing 4 uploads into 4 composite downloads
One 4-person call: what each device sends and receives in each topology.

Mesh: the math that breaks it

Full mesh is the simplest topology to reason about and the fastest to outgrow. Every participant opens a direct connection to every other participant, and no server touches the media. With N people, that's N x (N-1) streams, because each person both sends to and receives from everyone else.

A 4-person call means 4 x 3 = 12 streams, and your device runs 3 uploads and 3 downloads at once. At 1 Mbps per stream, that's 3 Mbps of upload plus the CPU to encode three outgoing copies. Fora Soft puts the ceiling plainly: mesh "holds up for 3-4 people on decent devices; past five it burns mobile batteries and saturates uplinks." Growth is quadratic, so doubling the room roughly quadruples the traffic. With no server, mesh costs you nothing to host, which makes it the right default for 1:1 and very small calls.

SFU: forward, don't decode

An SFU breaks the quadratic growth by putting a server in the middle that doesn't process video. You upload your stream once, and the SFU forwards that same encoded stream to every participant who needs it. Because the server routes packets instead of decoding them, its CPU cost stays low and latency stays close to a direct connection.

Most SFUs add simulcast: each sender uploads a few quality layers, and the server picks the layer that suits each receiver. That way, one meeting can serve a phone and a 4K monitor without server-side transcoding. Fora Soft's cost table puts a self-hosted SFU at about $0.0008 to $0.003 per participant-minute, which is why SFU is the default from small groups up to several hundred people.

MCU: mix everything into one stream

An MCU takes the opposite approach and puts the heavy lifting on your server. It decodes every incoming stream, composites them into one picture (usually the familiar grid), re-encodes it and sends one stream to each viewer. That's continuous, expensive video processing for the length of your call. Fora Soft estimates roughly 4 to 10 times an SFU's compute per participant, or about $0.008 to $0.025 per participant-minute.

MCU survives for a narrower case, when the receiving device is your bottleneck. A low-bandwidth dial-in, a weak mobile link or a thin client that can't decode several streams gets exactly one ready-made picture. You pick it for those endpoints, not for quality or cost.

Which topology fits your room size?

Peak participants per room decides more than any other factor, and Fora Soft's sizing table maps it like this:

Peak participants per roomBaseline topologyTypical products
1:1P2P with a TURN relay as fallbackTelehealth, support, sales demos
3 to 8Small SFU, or mesh capped at 4Huddles, tutoring, standups
9 to 50SFU with simulcastVirtual classrooms, workshops
50 to 200SFU plus active-speaker detection and server recordingConferences, town halls, live commerce
200 to 1,000 (broadcast)SFU cascade, or MCU plus LL-HLS egressWebinars, investor events, keynotes

Past about a thousand viewers, your setup becomes a hybrid. An SFU handles the interactive stage, and LL-HLS or plain HLS over a CDN carries the stream to everyone else. WebRTC doesn't cache, so large audiences need HTTP delivery somewhere in the pipeline, as our HLS vs WebRTC guide explains. Our overview of how the main streaming protocols compare covers that hybrid alongside RTMP and SRT ingest.

Do Zoom and Google Meet use SFU or MCU?

SFU-style forwarding. Fora Soft notes that nearly every modern conferencing product, including Zoom, Teams and Meet, forwards streams selectively on the live path rather than mixing one canvas on the server. Zoom calls its media servers "multimedia routers," which describes the job. MCU-style mixing shows up mainly where an endpoint, such as a phone dial-in, can only handle one stream.

How AIOZ Stream handles it

AIOZ Stream doesn't host video calls, so none of these three topologies describes our platform. The docs don't cover an SFU, MCU or WebRTC path. What we do cover is the audience side of the hybrid pattern above: you send a program feed over RTMP from OBS Studio or PRISM Live Studio, and viewers watch over HLS.

For interactive broadcasts such as Q&A, auctions or gaming, the dashboard player view has a Low Latency Mode (Beta) that reduces the delay between you and your audience. The docs don't publish a latency figure for it. You can also forward the same live stream to other platforms. The multicast reference documents this request (keys and URL are placeholders):

curl --location --request POST 'https://api.aiozstream.network/api/live_streams/multicast/stream_key' \
  --header 'stream-public-key: your_public_key_here' \
  --header 'stream-secret-key: your_secret_key_here' \
  --header 'Content-Type: application/json' \
  --data-raw '{ "multicast_urls": [ "rtmp://a.rtmp.youtube.com/live2/abcd-abcd-abcd-abcd" ] }'

The DePIN network behind AIOZ Stream is also a different layer from mesh, SFU and MCU. It distributes cached copies of already-encoded video across operator-run nodes, while call topologies route live media between participants before anything is cached. Next step: set up a broadcast with the Create Livestream guide.

Frequently Asked Questions

What's the difference between mesh, SFU and MCU in one line each?
Mesh connects every participant directly with no server, an SFU forwards streams without decoding them, and an MCU decodes, mixes and re-encodes all streams into one per viewer.

Why does mesh fall apart past 4 or 5 participants?
Total streams grow as N x (N-1), so upload bandwidth and CPU on each device climb quickly as the room grows, saturating uplinks and draining phone batteries.

Is MCU ever the better choice?
Yes, when your receiving device can't handle several incoming streams, such as a low-bandwidth dial-in or a thin client; otherwise quality and cost both favor an SFU.

Does AIOZ Stream use mesh, SFU or MCU?
No. AIOZ Stream's documented live path is RTMP in and HLS out, with a Low Latency Mode (Beta) for interactive broadcasts, and on-demand video plays over HLS or DASH.

Is this the same "P2P" as AIOZ's DePIN network?
No. The DePIN network distributes cached copies of encoded video across operator-run nodes, while mesh, SFU and MCU route live media between call participants.

References

We only send updates when meaningful changes ship, and you can unsubscribe anytime

Related Content

blog thumbnail

Video Streaming Protocols: HLS, DASH, WebRTC, RTMP and SRT

Video streaming protocols move video from encoder to viewer. See how RTMP, SRT, HLS, DASH and WebRTC differ in latency, transport and where each one fits.

aioz-streamguide
7 min readNovember 04, 2026
blog thumbnail

What Is Decentralized Live Streaming and How Does It Work?

Decentralized live streaming sends a real-time broadcast through independently run nodes instead of one company's servers. Here's how each stage of it works.

aioz-streamguide
6 min readNovember 03, 2026
blog thumbnail

Video Streaming Glossary: Codecs, Protocols and Delivery A-Z

A video streaming glossary of 114 terms, from AAC and ABR to WebRTC and Widevine, each defined in plain English with sources and links to the deep posts.

aioz-stream
23 min readOctober 31, 2026
blog thumbnail

Monitor Livestream Health With Bitrate, FPS and Viewer Count

Read the AIOZ Stream Statistics panel: bitrate in and out, FPS in and out and current viewers, plus the documented rules for each and what the docs leave out.

aioz-streamguide
6 min readOctober 30, 2026
blog thumbnail

How to Embed a Livestream on Your Website (Link or iFrame)

Embed an AIOZ Stream livestream with the Share button's iframe or send the Public Playback URL as a link. Covers API fields, public access limits and doc gaps.

aioz-streamguide
6 min readOctober 27, 2026
blog thumbnail

Stream Key vs Streaming Session: Preconfiguring a Livestream

Learn how a stream key differs from a streaming session on AIOZ Stream, what each one stores, and what to preconfigure before you go live. Docs-based guide.

aioz-streamguide
7 min readOctober 23, 2026