博客

缓冲时间值对Pro Convert延时影响测试

2020.03.04

背景

用户在选择用网络传输视频时,传输延迟往往是他们非常关心的数据。集成商在探究如何降低视频传输延时,往往专注于网络本身和视频编码的优化,容易忽略视频解码和播出也是整个视频传输过程中非常重要的环节。本文重点讲述了通过调节美乐威NDI®解码器端的缓冲时间值(buffer duration)可以明显降低网络传输过程中的延时。


1.测试使用设备

硬件设备:

  1. 视频信号源:企鹅极光盒子(1080P60)
  2. 硬件编码设备:Pro Convert HDMI 4K Plus编码器(固件版本V1.0.567)
  3. 硬件解码设备:Pro Convert for NDI® to HDMI解码器(固件版本V1.0.571)
  4. 显示器:两台DELL E2214Hv(下文分别称为显示器1和显示器2)
  5. 交换机:新华三 Aoiynk S1208D

2.测试方案

设备搭建如下图:

我们通过Magewell Pro Convert HDMI 4K Plus编码器(下文简称“美乐威NDI®编码器”)对视频源编码,通过NDI®协议传输到局域网;同时利用这款美乐威NDI®编码器上的环路输出接口连接显示器1,因环路输出不经过任何系统处理,且本测试使用的显示器不带操作系统,故其显示的画面可视为视频源本身,用于和解码显示的画面做对比。

解码端使用的Magewell Pro Convert for NDI® to HDMI(下文简称“美乐威NDI®解码器”)也连接到相同的局域网,解码后的画面通过HDMI接口输出到显示器2显示。

为了测试目的,我们特地制作了可以用于秒表计时的视频。通过记录并对比视频源(显示器1)中的秒表显示时间和解码端(显示器2)显示的时间,可以获得从视频编码到最终完成解码显示需要的时间,即为视频传输延迟。

在搭建完以上测试环境后,我们登录美乐威解码器的Web UI(如何访问Pro Convert系列产品的Web UI),在数据流页面手动添加通道,即在“预设”中点击“添加”即可选择不同传输协议,在弹出界面“缓冲时间”中输入缓冲时间值。此外还可以自动获取NDI®数据流通道,在 “NDI®数据源”的“缓冲时间”中输入缓冲时间值进行统一设置,我们尝试不同的数值(20ms至120ms,每隔10ms变化一次),并记录测试结果如下。


3.测试结果

序号 缓冲时间值(ms ) 取流时间(s )
(显示器1)
解码时间(s )
(显示器2)
延 时(ms )
(显示器1-显示器2 )
延时 平均值 (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

通过整理,我们得到以下表格:

缓冲时间值(ms) 20 30 40 50 60 70 80 90 100 110 120
延时(ms) 50 66.7 83 83.3 83.7 100 116.7 133 133.3 150 150

4.测试结论

在相同的网络环境和视频编码下,视频的网络传输延迟和解码端的缓冲设置有直接关系。缓冲设置的越小,整体的传输延迟越小,但不能一味地追求低延迟,而忽略了缓冲设置对保证画面流畅程度的重要意义。一般情况下设置的缓冲时间值为传输过程中最大抖动值的两倍,以保持输出视频画面的平滑度,防止出现卡顿现象,我们可以登录美乐威解码器的Web UI(登录方式参看本文测试方案部分分享的链接),在设备状态页面“信号源”中“抖动”可以看到目前数据传输的抖动值。

需要注意的是,显示器的选择也会影响测试效果,具体内容推荐阅读《显示器类型对Pro Convert延时影响测试》