Network Bandwidth Control#
Using the Feature#
Controlling network bandwidth consumption is necessary when multiple devices are connected via a common link to the receiving host and must share the network bandwidth available. To ensure stable operation, you may have to limit the amount of bandwidth each camera consumes.
Example: If you connect 2 cameras via a switch to a network port of a Gigabit Ethernet adapter of the receiving computer, the sum of the throughputs of both cameras must not exceed the maximum throughput of 1 GBit/s (125 000 000 byte/s).
Another reason to reduce the bandwidth used by a camera is when the receiving host is unable to keep up with the data transfer and has to discard packets.
Controlling Bandwidth Consumption#
In a first step, determine the maximum possible throughput your cameras can generate with their current settings by reading the
BslDeviceLinkCurrentThroughput parameter. This parameter indicates the bandwidth consumption when the camera is in free run mode, i.e., when it isn't triggered externally using software or hardware triggers.
Once you have this information, use the
DeviceLinkThroughputLimit parameters to specify sensible throughput limits for each camera. The sum of the throughputs of all cameras sharing the same link must not exceed the maximum throughput of the network adapter.
To achieve a specified limit, the camera inserts pauses between individual network packets. The lower the limit, the more numerous and longer the pauses will be. The transfer time for a complete frame and the associated latency, i.e., the time between generating the image and the data reaching the host's memory, increases in line with lowering the limit.
At a certain point, this will affect the frame rate you can achieve. Read the
BslResultingAcquisitionFrameRate parameter to find out the maximum possible frame rate with the current camera settings.
Specifying a throughput limit is also referred to as assigning network bandwidth.
To limit the throughput:
- Set the
- Specify the desired
- Read the
BslResultingAcquisitionFrameRateparameter to find out how the device link throughput limit affects the frame rate.
The streaming protocol is based on the UDP protocol. UDP does not guarantee that packets sent by the camera are received by the host.
Packets can be dropped by the host or by network devices between the camera and the host. The receiving software usually detects lost packets and sends appropriate requests to the camera to resend the data lost. A certain bandwidth reserve is kept available for these packets to be resent and for control traffic. If this reserve is used up, the camera can't resend requested packets anymore.
The bandwidth reserve is controlled by the
GevSCBWRA parameters, which are described in the table below.
|Parameter Name||Display Name||Description|
|DeviceLinkThroughputLimitMode||Device Link Throughput Limit Mode||Allows you to limit the maximum available bandwidth for data transmission. Set the parameter to |
|DeviceLinkThroughputLimit||Device Link Throughput Limit||Specifies the maximum available bandwidth for data transmission in bytes per second. To enable the limit, set the |
|BslDeviceLinkCurrentThroughput||Device Link Current Throughput||Actual bandwidth (in bytes per second) that the camera will use to transmit data the with the current camera settings.|
|BslResultingAcquisitionFrameRate||Resulting Acquisition Frame Rate||Maximum number of frames that can be acquired per second with current camera settings.|
|GevSCBWR||Bandwidth Reserve||Specifies which portion of the assigned bandwidth is reserved to handle packet resends and to control data transmission. |
The setting is expressed as a percentage of the assigned bandwidth.
Example: If a bandwidth of 30 MByte/s is assigned to the camera and the
|GevSCBWRA||Bandwidth Reserve Accumulation||Multiplier used to set the maximum number of resends that can be held in the "accumulator pool". |
You can use the
Example: The current bandwidth reserve setting is large enough to allow up to 5 packet resends during a frame period. The bandwidth reserve accumulation (
|GevSCPSPacketSize||Packet Size||Specifies the maximum size of a data packet transmitted via Ethernet. The value is in bytes. |
For blaze cameras the only supported value is