Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

For optimal picture quality with available channel bandwidth video bitrate should be managed while capturing WebRTC stream in browser. WCS server allows to limit minimum and maximum video bitrate for stream published. Audio bitrate is not managed.

WCS builds before 5.2.1825 use REMB to manage a publishing bitrate. Since build 5.2.1825 TWCC is used by default.

Platforms and browsers supported


Chrome

Firefox

Safari 11

Edge

Windows

+

+


+

Mac OS

+

+

+


Android

+

+



iOS

-

-

+


Settings

REMB

Since build 5.2.1825 REMB support should be enabled by the following parameter

Code Block
themeRDark
webrtc_cc2_twcc=false

The following WCS settings are intended to limit publishing bitrate:

...

These settings work in most modern browsers and define the REMB bitrate management limits.

How it works

If maxBitrate is set, WCS server will send REMB command to decrease bitrate when this limit is reached.
If minBitrate is set, WCS server will stop sending REMB command to decrease bitrate when this limit is reached.
Therefore, the settings define 3 ranges with its own bitrate management algorithm:

RangeAlgorithm
1[0, minBitrate]

WCS stops bitrate management and not send any REMB commands

2[minBitrate, maxBitrate]

WCS server makes active bitrate management: depending on jitter and incoming traffic uniformity WCS decides to send REMB commands to decrease bitrate. If channel is good, WCS does nothing and bitrate is not decreasing

3[maxBitrate, ...] 

WCS constantly sends bitrate decrease commands until it reduce to maxBitrate

TWCC

Since build 5.2.1825, TWCC is enabled by default

Code Block
themeRDark
webrtc_cc2_twcc=true

When TWCC is used, bitrate may be limited via publishing constraints at browser side only, in kbps

Code Block
languagejs
themeRDark
constraints.video.minBitrate=500
constraints.video.maxBitrate=1000

TWCC bitrate settings work in Android SDK 1.1.0.62, iOS SDK 2.6.122 and WebSDK 2.0.239.

How to enforce bitrate increasing

...