Basic Concepts


Video Rooms is a platform that enables developers to add audio and video capability to Web, Android, and iOS applications.

The platform consists of REST APIs, Client SDKs, and our mission control portal that makes it really easily to capture, stream, record, and render live audio and video.

A video application built with Video Rooms has to parts:

  • Client: Our client side Javascript, iOS, and Android SDKs used to interact with a Room instance
  • Server: Our REST APIs and portal to create/manage room and session, configuring recording, or leverage our Participants API to moderator participants in a Room.


Understanding the basic concepts of the video SDK will help you understand how it works. These concepts apply in general across all of our platforms.

  • A Room represents a real time audio/video/screen share session with other people or participants. It is fundamental to building a video application.

  • Room State tracks the state of the room as it changes making it extremely easy to understand what's happened to a Room. - For example: Room State could change due to a Local Participant has started publishing a stream or because a Remote Participantleft. A Stream represents the audio/video media streams that are shared by Participants in a Room

  • A Participant represents a person inside a Room. Each Room has one Local Participant and one or more Remote Participants.

  • A Stream represents the audio/video media streams that are shared by Participants in a Room

    • A Stream is indentified by it's participantId and streamKey
  • A Subscription is used to subscribe to a Stream belonging to a Remote Participant

Dive a bit deeper

Dive a little bit deeper into our Video Rooms platform to get a better understand of what its capable of, and what you can buid. Learn more about our Client SDKs and Server APIs.

Client SDKs

Our Javascript Sdk API reference which details the API of our SDK including behaviors of the Room class and the Events that triggers and how they function.

Server APIs

  • Rooms - manage Rooms
  • Client Access Tokens - manage client access tokens needed to interact with a Room
  • Sessions - manage room sessions, end a session, and mute/unmute/kick all participants in a given session.
  • Participants - search for participants based on a number of filters like session id
  • Recordings - manage recordings, including bulk delete.
  • Compositions - create and manage compositions.

Next Step

Was this page helpful?