100ms provides infrastructure and client-side SDKs for you to build real-time, audio-video interactive experiences in your app. 100ms combines the capabilities of video conferencing (built over WebRTC), live streaming (built over HLS) and real-time databases. These capabilities can be used to build engaging live experiences—like virtual classrooms, live streams, tele-health consultations and multiplayer social gaming—in your web or mobile apps.

Understanding 100ms

Rooms and roles

Everything in 100ms happens inside rooms. Your users can join a room, publish audio/video and interact with each other while they are in the room, and then leave the room.

The room contains references to peers (users in the room) and tracks (audio, video, screen share) in the room. When the first peer joins a room, a new session is created. When the last peer leaves, the session ends. A room can have multiple sessions.

Peers inside a room belong to a role, which defines what a peer can do in the room. For example, can they publish video, can they mute other peers, and so on. A peer can change roles while they are in the room.

Learn about other 100ms primitives.

Interactivity in the room

The room can be used to enable different levels of interactivity.

Circles of interactivity

Level 1: Full duplex audio/video in real-time

Level 1 participants publish their audio/video, and interact with others in sub-second latency. This is real-time video conferencing, similar to Zoom or Google Meet.

Level 2: Webinar-style audience in real-time

Level 2 participants consume audio/video from level 1 participants with sub-second latency, without publishing their own audio/video. Level 2 participants can engage with level 1 through messaging (chat, emojis, custom events). This is similar to a Zoom webinar.

Levels 1 and 2 are enabled using WebRTC.

Level 3: Live stream audience consuming in near real-time

Level 3 participants consume a composite live stream in near real-time (<10 secs of latency) without publishing their audio/video. They can interact with other participants via messaging. This is similar to viewers on Twitch or YouTube Live.

Read more

Integration paths

100ms can be used to make embedded, custom live video integrations that blend with the rest of your application. For some use-cases, it is faster to start with a "pre-built" web app. Pick an option that suits your use-case.


Generate room links or embed the 100ms web app as an iframe in your app

Integrate pre-built

Custom UI

Build a custom UI with our headless client SDKs for web, Android, iOS, React Native and Flutter

Choose a client SDK to get started

Feature guides

Have a suggestion? Recommend changes ->

Was this helpful?