背景
用户在选择用网络传输视频时,传输延迟往往是他们非常关心的数据。集成商在探究如何降低视频传输延时,往往专注于网络本身和视频编码的优化,容易忽略视频解码和播出也是整个视频传输过程中非常重要的环节。本文重点讲述了通过调节美乐威NDI®解码器端的解码缓冲(buffer duration)可以明显降低网络传输过程中的延迟。
【测试使用设备】
硬件设备:
- 视频信号源:企鹅极光盒子(1080p60)
- 硬件编码设备:Pro Convert HDMI 4K Plus编码器(固件版本V1.0.567)
- 硬件解码设备:Pro Convert for NDI® to HDMI解码器(固件版本V1.0.571)
- 显示器:两台DELL E2214Hv(下文分别称为显示器1和显示器 2)
- 交换机:新华三 Aoiynk S1208D
【测试方案】
设备搭建如下图:

我们通过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,详情见cn.magewell.com/kb/005030002/detail),在数据流页面手动添加通道,即在“预设”中点击“添加”即可选择不同传输协议,在弹出界面“缓冲时间”中输入缓冲时间值。此外还可以自动获取NDI®数据流通道,在 “NDI®数据源”的“缓冲时间”中输入缓冲时间值进行统一设置,我们尝试不同的数值(20ms至120ms,每隔10ms变化一次),并记录测试结果如下。

【测试结果】
序号
|
缓冲时间值(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
|
【测试结论】
在相同的网络环境和视频编码下,视频的网络传输延迟和解码端的缓冲设置有直接关系。缓冲设置的越小,整体的传输延迟越小。需要注意的是,交换机和显示器的选择也会影响测试效果,具体内容推荐阅读《交换机、显示器类型对Pro Convert延时影响测试》。