Class: RembParams


new RembParams()

Defines values for parameters of congestion control
Name Type Description
packetsRecvIntervalTop external:Integer Size of the RTP packets history to smooth fraction-lost. Units: num of packets
exponentialFactor external:Number Factor used to increase exponentially the next REMB when it is below the threshold. REMB[i+1] = REMB[i] * (1 + exponentialFactor)
linealFactorMin external:Integer Set the min of the factor used to increase linearly the next REMB when it is Units: bps (bits per second). REMB[i+1] = REMB[i] + MIN (linealFactorMin, linealFactor)
linealFactorGrade external:Number Determine the value of the next linearFactor based on the threshold and the current REMB. Taking into account that the frequency of updating is 500ms, the default value makes that the last REMB is reached in 60secs. linealFactor = (REMB - TH) / linealFactorGrade
decrementFactor external:Number Determine how much is decreased the current REMB when too losses are detected. REMB[i+1] = REMB[i] * decrementFactor
thresholdFactor external:Number Determine the next threshold (TH) when too losses are detected. TH[i+1] = REMB[i] * thresholdFactor
upLosses external:Integer Max fraction-lost to no determine too losses. This value is the denominator of the fraction N/256, so the default value is about 4% of losses (12/256)
rembOnConnect external:Integer Initial local REMB bandwidth estimation that gets propagated when a new endpoint is connected.

The REMB congestion control algorithm works by gradually increasing the output video bitrate, until the available bandwidth is fully used or the maximum send bitrate has been reached. This is a slow, progressive change, which starts 300 kbps by default. You can change the default starting point of REMB estimations, by setting this parameter.

WARNING: If you set this parameter to a high value that is higher than the network capacity, then all endpoints will start already in a congested state, providing very bad video quality until the congestion control algorithm is able to recover from the situation. Network congestion is very unpredictable, so be careful when changing this parameter; for most use cases it is safer to just start with a low initial value and allow the REMB algorithm to raise until the optimum bitrate is reached.

  • Unit: bps (bits per second).
  • Default: 300000 (300 kbps).