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 DeviceLinkThroughputLimitMode
and 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
DeviceLinkThroughputLimitMode
parameter toOn
. - Specify the desired
DeviceLinkThroughputLimit
parameter value. - Read the
BslResultingAcquisitionFrameRate
parameter to find out how the device link throughput limit affects the frame rate.
Bandwidth Reserve#
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 GevSCBWR
and GevSCBWRA
parameters, which are described in the table below.
Available Parameters#
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 On to enable the limit. The maximum bandwidth is limited to the DeviceLinkThroughputLimit parameter value. |
DeviceLinkThroughputLimit | Device Link Throughput Limit | Specifies the maximum available bandwidth for data transmission in bytes per second. To enable the limit, set the DeviceLinkThroughputLimitMode parameter to On . |
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 GevSCBWR parameter is set to 5 %, the bandwidth reserve will be 1.5 MByte/s. |
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 GevSCBWRA parameter to handle situations when the network connection becomes unstable. In these situations, a larger number of packet resends may be needed temporarily to transmit an image. The bandwidth reserve accumulation is basically an additional pool of resends that the camera can use in unusual situations.Example: The current bandwidth reserve setting is large enough to allow up to 5 packet resends during a frame period. The bandwidth reserve accumulation ( GevSCBWRA parameter) is set to 3. With these settings, the accumulator pool can hold a maximum of 5 x 3 = 15 resends. |
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 1500 bytes. |