Class RembParams

java.lang.Object
org.kurento.client.RembParams

public class RembParams extends Object
Defines values for parameters of congestion control
  • Constructor Details

    • RembParams

      public RembParams()
      Create a RembParams
  • Method Details

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