Getting Started with Video
Telnyx Video Rooms are enabled using the Rooms API. You can create as many rooms as needed using this API.
To access a Telnyx Video Room, a Client Join Token will first need to be generated in JWT form. You can use our HTTPS API and authenticate using the API Key associated with your Mission Control account under API Keys. Find out more about authenticating with API V2 here.
Adding Telnyx Rooms functionality to your app can be done using our JS SDK (mobile SDKs coming soon). To gain access to a live Video Rooms sample app, reach out to our sales team today!
Check out the full API reference today!
Glossary
Room | Resource representing a virtual place where multiple endpoints using one of Telnyx’s Programmable Video SDKs can connect. |
Room Session | Resource representing a moment where multiple Room Participants were communicating within a given Room. |
Room Participant | Resource representing an endpoint using one of Telnyx’s Programmable Video SDKs to connect to a given Room. |
JWT | JSON Web Token. A standard method for representing claims. |
Client Join Token (JWT) | A JWT token which contains grants allowing in the Room usecase to join a Room. |
Refresh Token (JWT) | A JWT token which permits to obtain a new Client Token with same grants. |
API Key | Secret API Key generated via Portal and used to authenticate Telnyx API calls. |
Video SDK | A library used to provide Video features to your application using Telnyx Video platform. |
Configuration and usage
Telnyx Video is enabled using Video Rooms. A Video Room represents communications session among multiple endpoints using one of Telnyx’s Programmable Video SDKs. Connected users (Participants) can share video and audio Tracks with the Room, and receive video and audio Tracks from other Participants in the Room. You can as many Rooms as you want. For example you could create a long lived Room such as "Daily Standup", or Rooms that you would delete after it's been used like "1-1 with X". To create a Video Room you can use the REST API V2 documented here. A Video Room can only be joined if the client owns a Client Join Token, you can create it using the REST API V2 documented here. The Client Join Token is short lived and you will be able to refresh it using the Refresh Token provided with it when you request for a Client Join Token. Once you have a Video Room and an Client Join Token for it, you can then use our Video SDK on your client side to connect your client to the Room you just created.
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
.
Terms
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 Participant left. A Stream represents the audio/video media streams that are shared by Participants in a Room
-
A
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.