Video Server Zextras

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:

Customer configuration

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.

Installation

  • 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).

CLI Instructions

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.

Broadband video

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.

Codecs for video
The VP8 video codec is employed by default. Although this codec is accessible in all supported browsers, this is done to offer the best compatibility because alternative codecs can be enabled:
  • 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
 
One codec can only be enabled at a time, therefore before turning on a new codec, make sure to turn off the old one by using the same command as in the list above but with the value true replaced with the value false.
 
For instance, to make the H264 codec run:
Sound Codec
Opus is the audio codec employed by the Zextras Video Server. Opus is the only trustworthy codec presently accessible across all supported browsers, hence no other codecs are supported.
 
Enhanced options
The audio experience is impacted by the following options.
 
Sound quality
By changing the sampling rate (in Hz) in the teamChatAudioSamplingRate global attribute, the administrator can adjust the Opus audio quality.
 
The choices are as follows:
  • 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.
Hearing Sensitivity
With these two commands, the administrator can improve the audio sensitivity:
How much of the audio should be normalised across all of the audio sources depends on the audio level sensitivity. The value has a range of 0 to 100, with 0 being muffled audio and 100 denoting the loudest possible volume.
 
By default, the value is set to 55, which is also the recommended number for best results.
 
The time interval in seconds utilised to calculate the audio sensitivity level is specified by the audio sampling sensitivity interval. Since the value is set by default to 2, the video server will normalise the audio level by taking the last two seconds’ worth of audio sources into account.
 
The number must be at least 0, but for the greatest results, it should be set to 10 seconds.
 

Leave a Reply

Your email address will not be published. Required fields are marked *