The speed of Carbonio Chats is enhanced by the Carbonio VideoServer, a WebRTC stream aggregator that combines and decodes/reencodes all streams in a Meeting.
With the Carbonio VideoServer, each client will only have one aggregated inbound stream and one aggregate outbound stream, as opposed to the default WebRTC, which produces one incoming and one outgoing stream for each meeting participant. Both audio and video fall under this.
To achieve the greatest level of compatibility, the Carbonio VideoServer employs conservative codecs by default (VP8 and Opus), however more codecs can be enabled. Additionally, it divides the Webcam and Screen Sharing streams and allots the same amount of bandwidth to each.
As long as all clients can access the Carbonio VideoServer’s public IP and UDP traffic is not blocked, a correctly configured Carbonio VideoServer will eliminate the requirement for a TURN server.
The Carbonio VideoServer has the following prerequisites and has to be deployed on a dedicated server:
Installation of the Carbonio VideoServer
Please refer to the relevant Step for further information because Carbonio VideoServer installation has been relocated as part of the main installation.
Controlling architecture and services
One mailbox serves as the host for a Carbonio Chats meeting and also stores the meeting’s status. That mailbox has a communication duty with a videoserver instance to initiate and manage meetings.
As a result, every mailbox has an own connection pool that can be managed using the Carbonio CLI. Simple commands may be used to manage the service:
- beginning the connection pool
- Put an end to the connection pool.
- Verify the state of a connection pool. This command provides details about the node that it is running on.
This data is included in the output of this command:
- The status will read “offline” rather than “online” if the distant Carbonio VideoServer is unavailable or otherwise inaccessible.
- The minimum API versions (min_api_version and min_api_version) that the server supports
- If the most recent attempt to connect to the video server was unsuccessful, latest failure displays an error message (such as Unauthorised request (wrong or missing secret/token) or a generic Runtime Exception). When the connection is made, the message is removed.
- The number of meetings held on the current mailbox is reported by the local_meetings_hosted function.
Scaling using Carbonio VideoServer
The same infrastructure may be used to run several Carbonio VideoServers.
Run the Carbonio VideoServer installer on a new server and follow the instructions to add a new Carbonio VideoServer to the configuration. Once the packages are installed, the installer will provide the necessary commands (carbonio chats video-server add with the correct parameters) to add the server to the infrastructure.
Use the carbonio chats video-server delete command from any mailbox server to remove a Carbonio VideoServer from the setup. This will remove the relevant items from the Zextras Config (manual package removal on the video server is necessary).
The following advanced options affect the audio experience.
Recording a Video Meeting: Any meeting may be recorded and made accessible for later viewing by the room’s owner or moderator. An ongoing recording will be specific to that meeting because a meeting can only be captured once. A recording can be resumed at a later time if it is cut off. Every participant will be informed of the recording’s status, and any moderator in the room has the ability to halt it—even if it was initiated by another moderator—and save it to a file or their Carbonio Files.
A particular package named carbonio-videoserver-recorder, which must be installed together with carbonio-videoserver, offers this feature. This implies that on a multi-server system, the package must be set up on each node where carbonio-videoserver is installed.
The package installs a service that must be connected to the Carbonio VideoServer instance. This requires using the CLI to complete the installation process, and the command to use will depend on whether you have previously installed and configured the Carbonio VideoServer or not.
Carbonio VideoServer Recording configuration
You must run a few commands using the zextras user name to finish the configuration. First, confirm that the feature is turned on at the COS level on the infrastructure.
Then, you must allow for real recording in the rooms.
Allow anybody to start a recording at this point.