Most video calls you have been on went through a server. Your camera went up to it once, and it sent a copy to everybody else. Nemi Meet does not have one. When you join a call, your browser opens its own encrypted connection to every other person in it, and sends your camera down each of them.
That decision explains most of what Meet is. It is why a meeting needs nothing but the browser you already have open. It is why there is no server of ours that can see or hear what is said. And it is why there is a number on the pricing page that no plan, not even Business, can raise past ten.
What is a WebRTC mesh?
In a mesh, every pair of people has its own connection. Two people need one. Three need three. Ten need forty five, because each of the ten connects to the nine others and every connection is shared by two people: ten times nine, halved. The number of connections grows with the square of the room.
What matters to your laptop is the other number: how many copies of your own camera you are encoding and uploading. In a mesh it is everybody but you. Try it.
The call, for any number of people
- Connections in the call
- 15
- Copies of your camera you upload
- 5
- Your upload for video
- 2.5 Mbps
- Camera resolution asked for
- 540p
Each stream gets 500 kbps at this size. The ladder lowers it as the room fills, so the total upload stays something a home connection can carry.
meetBitrates and meetCameraSize, the same functions a Nemi meeting calls when somebody joins.Why does video quality drop as more people join?
If every stream stayed at the quality of a two person call, the upload would climb in a straight line. At 1.4 Mbps per copy, a ten person call would ask every laptop for 12.6 Mbps of upload, every second, for the length of the meeting. Plenty of home connections cannot do that, and a phone on a weak mobile signal often cannot either.
So the camera steps down as people arrive: 1.4 Mbps for two, 800 kbps up to four, 500 kbps up to six and 300 kbps beyond that. The resolution the camera is asked for depends on how full the room is when you turn it on: 720p for two, 540p up to six, 360p beyond. That second part is the one people do not expect. Asking a camera for 720p and then starving it of bitrate gives you a soft, smeared picture; asking for 360p at the same bitrate gives you a sharp small one, and with eight faces on screen every tile is small anyway.
Upload per person, with and without the ladder
Mbps up
People in the call
45
connections in a full ten person call
9
copies of your camera your browser sends
2.7 Mbps
your video upload at ten people, after the ladder
Mesh vs SFU: why is a call limited to ten people?
At ten people the ladder lands at 2.7 Mbps of upload for video. That is something an ordinary connection carries, and nine simultaneous encodes is something an ordinary laptop survives. Past ten the curve keeps going, and the only remaining lever is to make everybody's picture worse still.
The limit is not a price. It is the point where the honest fix is a different architecture.
That fix exists. It is called a selective forwarding unit: a server every browser uploads to once, which forwards the streams on. It is how large calls work everywhere. It is also a server in the middle of your meeting, which sees who is sending what to whom, and which we would have to run, secure and pay for per minute of everybody's call. For the calls Meet is built for, a team, a client, a family, ten is the right side of that trade. So the plans fit three, five, eight or ten people, and MEET_MESH_MAX clamps every one of them at ten, whatever a plan says.
Four lanes, fixed forever
The mesh has a second rule that nobody sees and everything depends on. Every connection in a Nemi call is built with exactly four media lanes, always in the same order: microphone, camera, screen, and the screen's own sound. Both sides create all four before anybody sends anything.
What happens when you share your screen
1/4Every connection starts with four lanes
Turning anything on or off is therefore a track swap on a lane that already exists, never a renegotiation of the connection. That matters more than it sounds. A lane associates with the first unclaimed lane of its kind on the other side, in the order they were created, so if one browser added a lane the other did not expect, the receiver would play a screen share through somebody's face tile. Fixing the order fixes that for good.
Is a peer to peer video call private?
Every WebRTC connection is encrypted between the two browsers. In a mesh there is no box in the middle holding a key, so nobody at Nemi can watch or listen to a meeting, and there is no setting that would let us. On networks that refuse direct connections, usually corporate ones, the encrypted stream is passed along by a relay we operate. It forwards packets it cannot read and keeps nothing. The privacy policy says exactly this. What a meeting does leave behind is listed there too: the chat, who joined and when, and the whiteboard and meeting notes, which are ordinary documents that belong to the host, saved the way every Nemi document saves, and stored encrypted at rest.
So the mesh is a trade we made on purpose. You get a meeting with no middle, and you get a ceiling. We think that is the right trade for the meetings most people actually have, and the slider above is the whole argument. What each plan fits is on the Meet page, and the help centre shows how to start a meeting and send the link.
Questions people ask
What is the difference between a WebRTC mesh and an SFU?
In a mesh, every browser connects directly to every other and sends its camera to each of them, so there is no server in the middle. With an SFU, a selective forwarding unit, every browser uploads once to a server that forwards the streams on. An SFU scales to large calls but sits in the middle of every meeting; a mesh keeps media between the participants but is limited by each person's upload. Nemi Meet is a mesh.
Why are video calls limited to a number of participants?
Every person added means more streams to send, receive and decode. In a mesh like Nemi Meet, your browser encodes and uploads a separate copy of your camera for every other person, so the upload grows with the room. Past about ten people that no longer fits an ordinary connection and laptop, and the honest fix is a different architecture rather than a bigger number.
How many people can join a Nemi meeting?
Free fits 3 people, Starter 5, Creator 8, and Pro, Max and Business 10. Ten is the ceiling for every plan, because Meet has no media server and a mesh past ten asks too much of each participant's connection. Calls on Free last up to 40 minutes and on Starter up to 120.
How much upload bandwidth does a video call need?
It depends on the quality and, in a peer to peer call, on how many people are in it. Nemi Meet sends 1.4 Mbps of video in a two person call, and lowers the quality per copy as the room fills, so a full ten person call needs about 2.7 Mbps of upload for video, plus audio and any screen share.
Is a Nemi Meet call private?
Audio, video and shared screens are encrypted between the participants' browsers, and no server of ours can see or hear them. On networks that block direct connections, a relay we run forwards the encrypted stream without being able to read it. Two things do leave the call: live captions, which the host can switch on and which send the audio to a speech service in the EU, and a recording a participant chooses to make.
Can other people in a call see my IP address?
Yes, in a peer to peer call they can. To reach each other directly, the browsers in a Nemi meeting exchange the network addresses they can be reached on, and those addresses are visible to the other participants. It is the trade for keeping the media out of a server's hands.