ApiRTC Architecture

Any ApiRTC implementation involves possibly 3 parts:

  • your frontend application

  • your backend application (optional)

  • the ApiRTC CPaaS

Client Application

The client application is the web or mobile application that connects users together. It allows them to share messages or media, and it displays messages or media from others.

The ApiRTC library lets you build web and mobile applications, using any modern application framework or native languages.

Application Backend

The application backend may require some interactions with the ApiRTC CPaaS through REST APIs or webhooks to manage the video communication lifecycle.

ApiRTC CPaaS

The ApiRTC platform is a compound of different systems. All together they bring a full-featured communication system for various applications.

Video stream, REST APIs, Webhooks

The ApiRTC CPaaS offers several interfaces to orchestrate and run the whole lifecycle of video communications.

ApiRTC Console

The ApiRTC CPaaS is manageable through the Console interface.

WebRTC, a peer-to-peer communication standard

Basic WebRTC applications are using full mesh topology. Each client must :

  • encode and send their stream(s) to each remote peer

  • receive and decode every remote peer stream(s)

The CPU load and the required bandwidth increase linearly as the number of peers and streams grow. The mesh topology is unsuitable for applications where larger groups of peers need to be connected at once.

More details about the WebRTC standard are available on the W3C's website.

The ApiRTC Javascript library simplifies WebRTC-based video communications implementation

ApiRTC makes the implementation of WebRTC video communication in your app easier and quicker.

The ApiRTC library takes care of:

  • Signalling and connection initialization

  • ICE protocol on STUN and TURN servers

  • Connection retries

  • "Mesh" to "Star" smart switching

  • Video call quality management

Real-time Video Communication via SFUs (Selective Forwarding Units)

ApiRTC enables the usage of a star topology by providing SFUs (Selective Forwarding Units) that act as a central server that relays each peer’s streams.

In ApiRTC, media streams are sent by participants to video communication and flow through ApiRTC SFUs infrastructure and then are dispatched to every other participant.

Advanced interactions and features

The ApiRTC library enables to implement fine interactions happening during video communication:

  • Camera selection

  • Current speaker detection

  • Screensharing

  • Whiteboard sharing

  • ...

Real-time data exchange channel

ApiRTC provides simplified interfaces to use the WebRTC DataChannel to synchronise the participants' interactions across a conversation.

Conversation management

Each video communication is part of a conversation that can be planned ahead, configured, and historized to keep track of relationship management.

Stream Recording

ApiRTC includes a composite media recording of any video streamed throughout its infrastructure. Streams are recorded in a video file and then stored in dedicated data storage.

Files storage

Files exchanged during an ApiRTC video communication are stored on the ApiRTC CPaaS data storage space and can be retrieved afterwards.

Last updated