Jump to content

GstNetBalancer/User Guide: Difference between revisions

m
no edit summary
mNo edit summary
mNo edit summary
Line 5: Line 5:
== Main Properties ==
== Main Properties ==
This element balances the network load by distributing the packages over time. To do so netbalancer provides 3 main properties:
This element balances the network load by distributing the packages over time. To do so netbalancer provides 3 main properties:
[[File:Netbalancer parameters.png|center|frame|Figure 1. netbalancer properties behavior representation]]


* '''bandwidth''': defines the maximum desired bandwidth in kbps.
* '''bandwidth''': defines the maximum desired bandwidth in kbps.
Line 12: Line 10:
* '''min_delay''': add a minimum delay between each pair of consecutive packets.
* '''min_delay''': add a minimum delay between each pair of consecutive packets.


You can adjust these properties to fit your network and stream conditions.
You can adjust these properties to fit your network and stream conditions. The following figure shows a representation of the element properties.
 
[[File:Netbalancer parameters.png|center|frame|Figure 1. netbalancer properties representation]]


In general, the netbalancer will distribute the bandwidth between the intervals, allowing only to send a portion of the bandwidth in each interval. If the stream provides more bytes than the bytes assigned to an interval time, the netbalancer will wait until the next interval to send them.  
In general, the netbalancer will distribute the bandwidth between the intervals, allowing only to send a portion of the bandwidth in each interval. If the stream provides more bytes than the bytes assigned to an interval time, the netbalancer will wait until the next interval to send them.  
Line 26: Line 26:


It is important to set the properties above carefully in order to achieve the expected results.
It is important to set the properties above carefully in order to achieve the expected results.
[[File:GstNetbalancerRepresntation.png|center|frame|Figure 2. netbalancer behavior representation]]


==== The bandwidth property ====
==== The bandwidth property ====
This property is set based on the network capabilities; however, in most cases, this parameter by itself is not enough to balance the transmission.
This property is set based on the network capabilities; however, in most cases, this parameter by itself is not enough to balance the transmission.


As shown in figure 1 both cases A and B have the same bandwidth and transmit the same amount of bytes per second; however, the network load is distributed in two very different patterns. This is where the distribution factor comes into play.
As shown in figure 2 both cases A and B have the same bandwidth and transmit the same amount of bytes per second; however, the network load is distributed in two very different patterns. This is where the distribution factor comes into play.


==== The distribution_factor property ====
==== The distribution_factor property ====
This property splits the bandwidth specified for a second into smaller intervals. This allows limiting the transmission with more control while keeping the same bandwidth.
This property splits the bandwidth specified for a second into smaller intervals. This allows limiting the transmission with more control while keeping the same bandwidth.


Figure 1 A has a distribution factor of <code>30</code>, which means that the <code>1.34Mbps</code> is not limited as <code>1.34Mb = 167500B</code> every <code>1s</code>, but instead it is limited as <code>5600B</code> every <code>33ms</code>.  
Figure 2 A has a distribution factor of <code>30</code>, which means that the <code>1.34Mbps</code> is not limited as <code>1.34Mb = 167500B</code> every <code>1s</code>, but instead it is limited as <code>5600B</code> every <code>33ms</code>.  


Figure 1 B takes this even further, instead of being limited to <code>5600B</code> every <code>33ms</code> this one uses a distribution factor of <code>120</code> so it divides the previous intervals into fourths; meaning that the bandwidth is seen as <code>1400B</code> every <code>8.25ms</code>.
Figure 2 B takes this even further, instead of being limited to <code>5600B</code> every <code>33ms</code> this one uses a distribution factor of <code>120</code> so it divides the previous intervals into fourths; meaning that the bandwidth is seen as <code>1400B</code> every <code>8.25ms</code>.


Notice how all of these configurations still keep a <code>1.34Mbps</code> bandwidth but the overall behavior and limitations are different.
Notice how all of these configurations still keep a <code>1.34Mbps</code> bandwidth but the overall behavior and limitations are different.
Cookies help us deliver our services. By using our services, you agree to our use of cookies.