Skip to main content

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.

JWTJSON 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 a Room.

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 a Room.

    • 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 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.