Video & calls

Group voice & video, without building the media plane.

Drop multi-participant calls into your product. Mesh up to 16 for fast peer-to-peer, SFU up to 64 with server-side recording — same SDK, same call API, same room.

WebRTC under the hood·TURN fallback·E2EE by default

64participants per call
~50 msmedian signaling latency
E2EEby default on every call
Your bucketrecordings to your storage

Use cases

What customers build with it

Group calls drop into your product surface — no separate Zoom tab, no third-party embed. Your UI, your auth, your storage.

Telehealth & remote care

E2EE video, recordings to your HIPAA-bound bucket, retention controls per patient — without a third-party platform in the middle.

Healthcare · Regulated

Sales calls inside your CRM

Embed video where the customer record lives — automatic call notes, recording to your bucket, no context switch out of the deal page.

B2B · Sales tooling

Drop-in team standups

Multi-participant calls inside your team-collab app. Replace the standalone tool — your sidebar, your presence indicators, your shortcuts.

SaaS · Workplace

Why DropOnAir for video

The build-vs-buy is the wrong question. Here's the real one.

Twilio Video, LiveKit Cloud, Zoom SDK — every alternative makes a tradeoff. Here's what's specific to us.

E2EE by default

Every call is end-to-end encrypted unless you opt into routed-media SFU mode. We see signals, never media.

Your storage, your bytes

Recordings upload directly to your S3 / GCS / Azure bucket. We mint a presigned URL and step out of the way. No data residency surprises.

Your auth model

HMAC token exchange from your backend mints SDK JWTs. Your user identities, your sessions, your roles — no new identity layer to migrate to.

One SDK for everything

Messaging, calls, SFU, broadcast, presence, attachments — one package per platform. Your build doesn't grow with each new feature.

Pick the right topology

Mesh, SFU — same room, different physics.

One policy.mediaMode field on the room decides. Switch any time.

Mesh

Peer-to-peer

Each participant holds a direct WebRTC connection to every other. Lowest latency, no media-server cost, full E2EE.

Capacity
≤ 16 participants
Encryption
End-to-end always
Recording
Client-side
Server cost
Signaling only
Best for
Small teams · 1:1 · low-latency

SFU

Server-routed

Each participant publishes once, the platform's media server forwards selectively. Scales beyond mesh and unlocks server-side recording.

Capacity
≤ 64 participants
Encryption
E2EE or SFU-routed
Recording
Server-side, to your bucket
Server cost
Metered participant-minutes
Best for
Webinars · town halls · podcasts

Under the hood

How it works

Your client opens a WebSocket to the platform for signaling. We never see media, only the SDP offers / answers / ICE candidates that let the peers connect.

  • Mesh — direct WebRTC connections between every participant. Best for ≤16 callers, sub-50ms median signaling when peers are nearby.
  • SFU — same call API, different room policy. Best for 16-64 and any server-recorded call.
  • TURN fallback — when peers can't connect directly (NATs, restrictive networks), the call relays through turn.droponair.com.
  • Plan-aware caps — every plan has a maximum participant count; the platform enforces it server-side.

5 lines to start

From token to call, in a single page of code.

Your backend mints a token, the SDK initialises once, your UI calls one method. The full quick-start lives in the technical docs.

Read the quick-start →

// 1) Initialise once when the user signs in
const client = await initialize({ appId, getUserJwt });

// 2) Start a call on a group
const callId = await client.startGroupCall(groupId);

// 3) React to events as participants join, leave, mute
client.onGroupCallEvent(event => updateUi(event));

// 4) Leave when done
await client.leaveGroupCall(callId);

What you ship in a week

A complete video product, not a starting point.

  • 1:1 and group calls (mesh + SFU)
  • Screen sharing — same API, full quality
  • Server-side recording to your storage bucket
  • Host controls — kick, mute, waiting room
  • Scheduled rooms with policy & capacity
  • Live-stage roles (speakers + audience)
  • Mobile + web from a single SDK
  • E2EE on every call by default

Ready to build

Add video to your product this week.

Start with the technical quick-start. We'll see you in production.