Architecture
All users and clients in a room can share their streams through Licode.
They can act like videoconferencing chats, instant messaging rooms, video streaming sessions, and any other kind of virtual space for real-time collaboration.
A room is created by server apps through Nuve API, and the users will connect to these rooms through Erizo.
Rooms are controlled by Erizo Controller, which manages Erizo through a JavaScript wrapper called Erizo API to control streams.
Client API
You will use this API to handle connections to rooms and streams in your web applications.
This API is designed to be executed in the browsers of your users, so it is provided as a JavaScript file you can reference in your web applications.
Typical usage consists of: connection to the desired room, using the token retreived in the backend (explained at Server API), management of local audio and video, client event handling, and so on.
Here you can see the main classes of the library:
Class | Description |
---|---|
Erizo.Stream | It represents a generic Event in the library, which is inherited by the others. |
Erizo.Room | It represents an events related to Room connection. |
Erizo.Events | It represents an event related to streams within a room. |
Server API
The Licode server-side API provides your server communication with Nuve.
Nuve is a Licode module that manages some resources like the videoconference rooms or the tokens to access to a determined room. Server-side API is available in node.js.
Class | Description |
---|---|
Room | Represents a videoconference room. |
Token | The key to add a new participant to a videoconference room. |
User | A user that can publish or subscribe to streams in a videoconference room. |