Basic Concepts
Architecture
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 aRoom
.
Concepts
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 aRoom
. -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 RoomA
Participant
represents a person inside aRoom
. EachRoom
has oneLocal Participant
and one or moreRemote Participants
.A
Stream
represents the audio/video media streams that are shared byParticipants
in aRoom
- A
Stream
is indentified by it'sparticipantId
andstreamKey
- A
A
Subscription
is used to subscribe to aStream
belonging to aRemote 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.