Class RembParams
- java.lang.Object
-
- org.kurento.client.RembParams
-
public class RembParams extends Object
Defines values for parameters of congestion control
-
-
Constructor Summary
Constructors Constructor Description RembParams()
Create a RembParams
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Float
getDecrementFactor()
get Determine how much is decreased the current REMB when too losses are detected.Float
getExponentialFactor()
get Factor used to increase exponentially the next REMB when it is below the threshold.Float
getLinealFactorGrade()
get Determine the value of the next linearFactor based on the threshold and the current REMB.Integer
getLinealFactorMin()
get Set the min of the factor used to increase linearly the next REMB when it is over the threshold.Integer
getPacketsRecvIntervalTop()
get Size of the RTP packets history to smooth fraction-lost.Integer
getRembOnConnect()
get Initial local REMB bandwidth estimation that gets propagated when a new endpoint is connected.Float
getThresholdFactor()
get Determine the next threshold (TH) when too losses are detected.Integer
getUpLosses()
get Max fraction-lost to no determine too losses.void
setDecrementFactor(Float decrementFactor)
set Determine how much is decreased the current REMB when too losses are detected.void
setExponentialFactor(Float exponentialFactor)
set Factor used to increase exponentially the next REMB when it is below the threshold.void
setLinealFactorGrade(Float linealFactorGrade)
set Determine the value of the next linearFactor based on the threshold and the current REMB.void
setLinealFactorMin(Integer linealFactorMin)
set Set the min of the factor used to increase linearly the next REMB when it is over the threshold.void
setPacketsRecvIntervalTop(Integer packetsRecvIntervalTop)
set Size of the RTP packets history to smooth fraction-lost.void
setRembOnConnect(Integer rembOnConnect)
set Initial local REMB bandwidth estimation that gets propagated when a new endpoint is connected.void
setThresholdFactor(Float thresholdFactor)
set Determine the next threshold (TH) when too losses are detected.void
setUpLosses(Integer upLosses)
set Max fraction-lost to no determine too losses.
-
-
-
Method Detail
-
getPacketsRecvIntervalTop
public Integer getPacketsRecvIntervalTop()
get Size of the RTP packets history to smooth fraction-lost. Units: num of packets
-
setPacketsRecvIntervalTop
public void setPacketsRecvIntervalTop(Integer packetsRecvIntervalTop)
set Size of the RTP packets history to smooth fraction-lost. Units: num of packets
-
getExponentialFactor
public Float getExponentialFactor()
get Factor used to increase exponentially the next REMB when it is below the threshold. REMB[i+1] = REMB[i] * (1 + exponentialFactor)
-
setExponentialFactor
public void setExponentialFactor(Float exponentialFactor)
set Factor used to increase exponentially the next REMB when it is below the threshold. REMB[i+1] = REMB[i] * (1 + exponentialFactor)
-
getLinealFactorMin
public Integer getLinealFactorMin()
get Set the min of the factor used to increase linearly the next REMB when it is over the threshold. Units: bps (bits per second). REMB[i+1] = REMB[i] + MIN (linealFactorMin, linealFactor)
-
setLinealFactorMin
public void setLinealFactorMin(Integer linealFactorMin)
set Set the min of the factor used to increase linearly the next REMB when it is over the threshold. Units: bps (bits per second). REMB[i+1] = REMB[i] + MIN (linealFactorMin, linealFactor)
-
getLinealFactorGrade
public Float getLinealFactorGrade()
get 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
-
setLinealFactorGrade
public void setLinealFactorGrade(Float linealFactorGrade)
set 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
-
getDecrementFactor
public Float getDecrementFactor()
get Determine how much is decreased the current REMB when too losses are detected. REMB[i+1] = REMB[i] * decrementFactor
-
setDecrementFactor
public void setDecrementFactor(Float decrementFactor)
set Determine how much is decreased the current REMB when too losses are detected. REMB[i+1] = REMB[i] * decrementFactor
-
getThresholdFactor
public Float getThresholdFactor()
get Determine the next threshold (TH) when too losses are detected. TH[i+1] = REMB[i] * thresholdFactor
-
setThresholdFactor
public void setThresholdFactor(Float thresholdFactor)
set Determine the next threshold (TH) when too losses are detected. TH[i+1] = REMB[i] * thresholdFactor
-
getUpLosses
public Integer getUpLosses()
get 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)
-
setUpLosses
public void setUpLosses(Integer upLosses)
set 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)
-
getRembOnConnect
public Integer getRembOnConnect()
get 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 at 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).
-
setRembOnConnect
public void setRembOnConnect(Integer rembOnConnect)
set 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 at 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).
-
-