Architect a Video Application

For architecting a video application, you must understand how client endpoint applications interact with the video application server and the EnableX server.

Overview

The video application server and the EnableX server use APIs for communication, which provides a secure way for the two servers to communicate. For instance, when a request for creating a meeting room is sent to the EnableX platform, the platform sends the response of the request to the video application server. This response includes the meeting room details, such as the room ID, room token, and so on.

Architecture Diagram

Key App Building Components

The EnableX platform requires the following components to build a video application.

  1. Video application server

  2. Client endpoint application

Video Application Server

The video application server is needed for provisioning, workflow automation, and reporting. The video application server performs the following functions:

Client Endpoint Video Applications

The client endpoint applications must be developed using EnableX SDKs to connect to the video sessions.

As illustrated in the architecture diagram, these client endpoint applications need an Access Token from the EnableX server, through the video application server, to connect to video sessions.

Once connected, the SDK methods perform different actions and listen to event notifications to create and manage the UI/UX of the video sessions.

We provide the following SDKs to develop client endpoint applications:

For Browser-Based Applications

  • Web SDK: Web SDK is used for app development in Desktop and Mobile Browsers. All modern browsers support Web RTC Communication. For more information, see Browser Compatibility.

For Native Mobile Applications

  • Android SDK: For video application development in Android native environments.
  • iOS SDK: For video application development in iOS native environments.

For Hybrid Mobile Applications

  • Flutter SDK: For video application development in Flutter frameworks.
  • React Native SDK: For video application development in React Native frameworks.
  • Cordova SDK: For video application development in Cordova frameworks.

You can also create applications for a different platform to connect to same video session.