Blogs

Test of Buffer Duration Value’s Effect on Pro Convert Latency

2020.03.05

Background

When users choose to transmit video over the network, the transmission latency is often what they care about most. When integrators explore how to reduce the video transmission latency, they tend to focus on the optimization of the network and video encoding, and they often ignore video decoding and playout. This blog emphasizes that the transmission latency can be remarkably reduced by adjusting the buffer duration value of Magewell NDI® decoders.


1. Testing Equipment

Hardware Equipment:

  1. Video Source: Skyworth Video Player (1080p60)
  2. Hardware encoder: Pro Convert HDMI 4K Plus (Firmware V1.0.567)
  3. Hardware decoder: Pro Convert for NDI® to HDMI (Firmware V1.0.571)
  4. Monitor: two DELL E2214Hv (hereinafter referred to as Monitor 1 and Monitor 2)
  5. Switch: H3C Aoiynk S1208D

2. Testing Method

Equipment Setup:

We use Magewell Pro Convert HDMI 4K Plus encoder (hereinafter referred to as "Magewell NDI® encoder") to encode the video source and transmit it to the LAN through NDI® protocol. At the same time, the loop-through interface of this encoder is connected to Monitor 1. Since the loop through isn't processed by any system, and the monitor used in this test has no operating system, the screen it displays can be regarded as the video source itself which can be used for comparison with the displayed screen by decoding.

The Magewell Pro Convert for NDI® to HDMI (hereinafter referred to as "Magewell NDI® decoder") used for decoding is connected to the same LAN, and the decoded video is output to Monitor 2 for display through the HDMI interface.

For the testing purpose, we have specially made a video that can be used for stopwatch timing. By recording and comparing the stopwatch time of the video source (Monitor 1) and that of the decoder (Monitor 2), we can obtain the time required from video encoding to the completion of decoding, which is the video transmission latency.

After setting up the above testing environment, we log into the Web UI of the Magewell decoder (how to access the Web UI of the Pro Convert products). Add channels manually on the Source Page, click "Add" in "Preset" to select different transmission protocols, and then enter the buffer duration value in "Buffer duration". In addition, we can also automatically obtain the NDI® data stream channel. Enter the buffer duration value in the "Buffer duration" of the "NDI® Source" for uniform settings. We try different values (from 20ms to 120ms, change it every 10ms), the recorded testing results are as follows.


3. Testing Results

NO. Buffer duration value (ms) Time of receiving NDI stream (s)
(Monitor 1)
Time of decoding NDI stream (s)
(Monitor 2)
Latency (ms)
(From Monitor 1 to Monitor 2)
Average latency (ms)
1 20 00:09.717 00:09.667 50 50
2 00:10.433 00:10.383 50
3 00:11.550 00:11.500 50
4 30 00:14.000 00:13.933 67 66.7
5 00:15.417 00:15.350 67
6 00:16.183 00:16.117 66
7 40 00:53.900 00:53.817 83 83
8 00:54.450 00:54.367 83
9 00:55.433 00:55.350 83
10 50 00:24.350 00:24.267 83 83.3
11 00:25.500 00:25.417 83
12 00:26.217 00:26.133 84
13 60 00:07.967 00:07.883 84 83.7
14 00:08.700 00:08.617 83
15 00:09.517 00:09.433 84
16 70 00:26.267 00:26.167 100 100
17 00:27.750 00:27.650 100
18 00:28.633 00:28.533 100
19 80 00:45.633 00:45.517 116 116.7
20 00:46.567 00:46.450 117
21 00:47.300 00:47.183 117
22 90 00:05.733 00:05.600 133 133
23 00:06.033 00:05.900 133
24 00:07.700 00:07.567 133
25 100 00:23.517 00:23.383 134 133.3
26 00:24.267 00:24.133 134
27 00:25.533 00:25.400 133
28 110 00:40.500 00:40.350 150 150
29 00:41.683 00:41.533 150
30 00:42.317 00:42.167 150
31 120 00:06.433 00:06.283 150 150
32 00:07.550 00:07.400 150
33 00:08.333 00:08.183 150

After sorting we get the below table:

Buffer duration value (ms) 20 30 40 50 60 70 80 90 100 110 120
Latency (ms) 50 66.7 83 83.3 83.7 100 116.7 133 133.3 150 150

4. Testing Results

With the same network environment and video encoding, the network transmission latency is closely related to the buffer duration setting of the decoder. The smaller the buffer duration value is, the smaller the overall transmission latency is. But we can't blindly pursue low latency and ignore the importance of buffer setting to ensure the smoothness of the picture. In general, the buffer duration value is set twice the maximum jitter value during transmission in order to maintain the smoothness of the output video and prevent stuttering. We can access the Web UI of Magewell decoder (the link is shared in the testing method section), in the Jitter>SOURCE>Dashboard we can see the jitter value of the current data transmission.

It should also be noted that the type of monitor will also affect the testing results. For details, it is recommended to read "Test of Monitor’s Effect on Pro Convert Latency".