Wowza Community

Question about : SendBufferSize / ReceiveBufferSize

Hi .

My website is movie website (my server use FTTH 1GB), How can i set SendBufferSize / ReceiveBufferSize to client watch movie HD (Resolution:1280* 720 ,Bit Rate:1499 kbps ,Frame Rate:24) fastest . If client use Adsl speed 3MB how can i set SendBufferSize / ReceiveBufferSize . Thanks and sorry my english is bad.

You can find these settings in [install-dir]/conf/VHost.xml /HostPort (/Port 1935) /SocketConfiguration

For VOD applications the defaults should be sufficient.

Salvadore

Hi,

Larger SendBufferSize and ReceiveBufferSize will give better throughput on connections where there is a lot of latency (high ping times). The amount of throughput possible in bytes per second must be lower than the buffer size / rtt (round trip time). The size of the buffers determine how much data can be sent before the sending end must stop and wait for a reply from the receiving end. The size used for the connection will be the smaller of the senders send buffer or the receivers receive buffer.

Generally most modern clients will use automatic settings so the send buffer on Wowza may limit the connection speed for high latency connections. Wowza by default uses 65000 for the send buffer because it is a good average value. This will give you the following performance figures:

65000bytes / 50ms rtt = 1300000 bytes / sec = 10.4mbps
65000 / 100ms = 5.2mbps
65000 / 200ms = 2.6mbps

As you can see, the further away the client player is, the less throughput it will have streaming from your server. Unless your player is a very long way away, the default settings should be fine for the stream and player you have described.

You can severely restrict the throughput if you set it too low. The low latency settings are for when the players are very close to the server or the stream bitrates are very low.

16000bytes / 50ms rtt = 320000 bytes / sec = 2.56mbps
16000 / 100ms = 1.28mbps
16000 / 200ms = 640kbps

The receive buffer sizes on Wowza generally only affect publishing of live streams so these should be set to allow your publishing encoders plenty of bandwidth.

If you set the sizes too big then you can run into problems when congestion occurs as it will take longer for the server to detect and make adjustments to overcome it. For this reason, you should not set these values too large.

If you know roughly how far away your players and publishers are then you will be fine using manual settings.

If you have Wowza 3.5.0 or later then you can use automatic settings. When this is enabled, Wowza lets the operating system determine the best settings for each connection and it will adjust them to suit the current network conditions.

To set wowza to use the automatic settings, set the ReceiveBufferSize and SendBufferSize to 0.

<ReceiveBufferSize>0</ReceiveBufferSize>
<ReadBufferSize>65000</ReadBufferSize>
<SendBufferSize>0</SendBufferSize>

NOTE: The ReadBufferSize is an internal Wowza buffer and must not be set to 0. Leave this at the default value.

If your VHost.xml does not list ReadBufferSize then it is most likely an old version and should be updated to the current version which is available when you update Wowza 3.x.x to the current version.

For MediaCaster connections, you can make the same adjustments in the NetConnections section in the VHost.xml file.

Roger.

Yes, those are the defaults for VOD applications.

There are multiple sets of these settings in VHost.xml so be sure to edit the set in /HostPort (/Port 1935) if you do modify them.

Salvadore

is setting the send and receive buffer to automatic “0” still work on latest wowza 4 versions?

also did i read that correctly that it said if someone has a slow connection ping etc it will give it a very long buffer time to catch up?

cheers

You can find these settings in [install-dir]/conf/VHost.xml /HostPort (/Port 1935) /SocketConfiguration

For VOD applications the defaults should be sufficient.

Salvadore

Thank you for answer . Your answer mean :

65000

65000

Yes, those are the defaults for VOD applications.

There are multiple sets of these settings in VHost.xml so be sure to edit the set in /HostPort (/Port 1935) if you do modify them.

Salvadore

If i want cilent watch faster not delay . should i increase or Decrease SendBufferSize / ReceiveBufferSize .

Example :

120000

120000

or

16000

16000

Thanks

Thank you for support . i change value to 85000 it is good .