A WebRTC stream aggregator called the Zextras Video Server enhances team performance by combining and decoding/reencoding all streams during a Meeting.
With the Zextras Video Server, 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 provide the greatest level of compatibility, the Video Server utilises 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 Video Server’s public IP and UDP communication is not blocked, a correctly configured Video Server will take the place of a TURN server.
The following prerequisites must be met in order to install the Zextras Video Server on a dedicated server:
Since the Team Zimlet will automatically determine whether a video server is set up and use it if it is, no client configuration is required.
- Download the installation package for the Linux distribution (RHEL 7 and CentOS 7 RHEL 8 and CentOS 8 Ubuntu 18.04) on which Zextras Suite is installed.
- Installer package should be copied to the server.
- Unpack the installation package and replace [OS] with the appropriate text, such as r7, r8, or u18 in the example below.
- Cd videoserver-installer will take you to the unpacked directory.
- Install the software by running./install.sh.
- The Zextras Video Server and all of its runtime requirements will be installed on the currently active system by this script.
- Would you wish to proceed as the system will be modified? [Y]
- The installer will first look for any necessary dependencies and, if any are discovered, will install them. a prompt that reads: “Press Y to install them.”
- After that, a popup to install the real Video Server packages will appear:
- Press Y once again to install them.
- You will be prompted for the public IP address of the video server when all packages have been installed.
There is only this one piece of setup needed. In order to connect to the Video Server and activate it for all servers, the installer will configure the Video Server and then return two instructions that must be run on any Mailbox Server of the infrastructure:
Copy and run them, and for more on the syntax and other arguments if you wish to customise them, see ZxTeam CLI Commands.
Controlling architecture and services
One mailbox serves as the host for a team 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, each mailbox has an own connection pool that can be managed using ZxTeam CLI commands. Simple commands may be used to manage the service:
- Launching the connection pool:
- Put the connection pool to sleep:
- 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 be down rather than online if the remote Video Server is unavailable or cannot be reached.
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 of video servers
Multiple videoservers can run on the same infrastructure as of Zextras Suite 3.1.8 (Video Server package version 0.10.5).
Run the Video Server installer on a new server and follow the instructions to add a new Video Server to the configuration. Once the packages are installed, the installer will provide the necessary commands (zxsuite team video-server add with the necessary parameters) to add the server to the infrastructure.
Use the zxsuite team video-server remove command from any mailbox server to remove a video server from the configuration; this will delete the relevant entries from the Zextras Config (manual package removal on the video server is necessary).
Zxsuite team, with the arguments video-server, video-server add, and video-server delete, is the CLI command to manage Video Server installations.
Codecs and bandwidth are quick references.
The administrator can specify the relative bitrate in Kbps when adjusting the camera broadcast quality and the screenshare stream quality. The values can be raised as needed and must be at least 100 Kbps.
Higher numbers indicate higher quality but also more bandwidth use.
- The command for the webcam stream quality/bandwidth is teamChatWebcamBitrateCap, which is set to 200 in the zxsuite configuration global set property.
- The command for the screenshare stream qualitybandwidth is set to 200 by the global set attribute teamChatScreenBitrateCap in the ZX Suite configuration.
- AV1: global set attribute teamChatVideoCodecAV1 value true in zxsuite configuration
- TeamChatVideoCodecH264: global set attribute zxsuite config value true
- TeamChatVideoCodecH265: zxsuite global set attribute set to true
- VP8: global set attribute teamChatVideoCodecVP8 value true in zxsuite configuration
- VP9: global set attribute teamChatVideoCodecVP9 value true in zxsuite configuration
- The narrowband bandwidth is represented by 8000
- The mediumband bandwidth is 12000 Hz.
- The wideband bandwidth (default) is 16000.
- The superwideband bandwidth is 24000.
- The fullband bandwidth is represented by 48000.