Dataify 可为音视频数据采集、视频数据处理和AI训练场景提供相关数据服务;本文重点给出一套不依赖品牌型号、可在实验室或现场复现的视频采集卡硬件延迟测试方法。核心思路是同时记录“信号源发生变化的时刻”和“采集端画面出现变化的时刻”,两者的时间差就是实际测得的端到端延迟。

如果只想得到一个可用于选型的结果,优先使用高帧率摄像机或光电传感器进行实测,并至少在不同分辨率、帧率、接口和软件链路下各复测一次。
一、什么是视频采集卡硬件延迟
视频采集卡硬件延迟,是输入视频信号从进入采集卡,到采集卡输出可被电脑或显示设备识别的画面之间所经历的时间。实际测试中通常测到的是“采集链路端到端延迟”,可能包括以下部分:
- 采集卡内部延迟:包括格式识别、缓存、缩放、帧同步和编码处理。
- 接口传输延迟:包括 HDMI、SDI、USB、PCIe 等接口传输过程中的排队和缓存。
- 驱动与系统缓冲:操作系统、驱动程序和采集软件可能增加额外缓冲。
- 显示或预览延迟:软件预览窗口、显示器刷新和渲染队列也会影响最终读数。
因此,测试报告必须注明测量边界。例如,“HDMI输入到采集软件预览窗口”与“HDMI输入到录制文件首帧”的结果不能直接混用。
建议先区分三个指标
- 硬件路径延迟:尽量绕开录制软件和复杂处理,测量输入到采集输出的变化时间。
- 预览延迟:测量输入变化到软件预览窗口显示变化的时间。
- 录制可用延迟:测量输入变化到录制文件中出现对应画面的时间,适合评估直播、识别和数据处理链路。
二、测试前的设备与环境准备
1. 准备测试设备
- 稳定的视频信号源,例如电脑、信号发生器、游戏主机或摄像机。
- 待测视频采集卡,以及对应的 HDMI、SDI、USB 或 PCIe 连接线。
- 用于接收采集画面的电脑,建议使用固定性能配置并关闭无关后台任务。
- 高帧率摄像机、手机慢动作模式、光电传感器或示波器,至少选择一种时间测量设备。
- 同一画面同步显示输入源和采集端预览的显示设备,便于进行画面对比。
- 可显示毫秒计时器、帧号或高对比度闪烁信号的测试程序。
2. 固定测试条件
测试前记录以下参数,并在一轮测试中保持一致:
- 输入分辨率,例如 1920×1080 或 3840×2160。
- 输入帧率,例如 30 fps、50 fps 或 60 fps。
- 色彩格式、位深和信号制式。
- 采集卡连接方式、USB端口类型或PCIe插槽。
- 采集软件、驱动版本和预览设置。
- 是否启用硬件编码、缩放、去隔行、降噪或其他图像处理。
测试时不要在同一批数据中混用不同帧率。以 60 fps 为例,单帧周期约为 16.67 ms,很多设备的测量结果会以一个或多个帧周期为单位发生跳变。
三、方法一:使用高帧率摄像机测试画面延迟
这是成本较低、适合采集卡初步选型的方法。它不能达到示波器级别的精度,但可以直观看出输入画面与采集画面的相对延迟。

步骤1:制作同步测试画面
在信号源上打开一个同时包含以下内容的画面:
- 左侧显示毫秒计时器或连续递增的时间码。
- 右侧显示黑白交替或红绿交替的高对比度区域。
- 画面中加入固定的帧号,避免只依赖颜色变化判断。
如果没有时间码软件,可以使用网页计时器或简单的视频测试文件,但应确保计时器刷新足够快,并在测试报告中标注其刷新精度。
步骤2:同时拍摄输入和采集输出
- 将信号源直接连接到显示器或分配器的一路输出。
- 将另一路信号连接到待测采集卡。
- 在电脑上打开采集软件预览窗口,并将输入画面和预览画面尽量放在同一显示设备中。
- 用高帧率摄像机同时拍摄“原始输入画面”和“采集卡预览画面”。
- 保持摄像机固定,避免自动曝光、自动对焦或变焦在测试过程中发生变化。
步骤3:逐帧读取时间差
将拍摄的视频导入支持逐帧查看的软件,找到同一次画面变化在输入区域和采集区域分别出现的帧。用以下公式计算:
延迟时间 = 帧差 ÷ 摄像机拍摄帧率 × 1000 ms
例如,摄像机以 240 fps 拍摄,某次画面变化在输入区域和采集区域相差 5 帧,则估算延迟为 5 ÷ 240 × 1000,约等于 20.83 ms。
至少记录 20 次画面变化,计算平均值、最小值、最大值和标准差。若帧差在不同测试中波动较大,应检查是否存在丢帧、预览渲染抖动或系统后台任务。
四、方法二:使用时间码和帧号测试帧延迟
该方法适合测试录制、识别和数据处理链路。它通过比较输入端与输出端的时间码或帧号,判断画面经过采集卡后延后了多少帧。
步骤1:生成连续编号的视频
制作一段每帧都带有唯一编号的测试视频,例如“Frame 000001”“Frame 000002”。编号应位于画面中央或其他不会被裁切的位置,并使用高对比度字体。
步骤2:分别保存输入参考和采集结果
- 保留信号源原始文件作为参考文件。
- 通过采集卡录制输出文件,关闭不必要的滤镜和转码选项。
- 尽量使用固定码率或无压缩、低压缩设置,减少编码器缓冲对结果的影响。
- 记录采集软件开始录制和停止录制的准确时间,但不要仅依赖文件创建时间判断首帧延迟。
步骤3:对比帧号而非文件时间戳
在输入文件和采集文件中找到相同内容的帧,计算两者的帧号差。若输入帧率为 60 fps,帧号差为 3 帧,则帧级延迟约为 50 ms。该结果反映的是采集、驱动、软件缓冲和编码链路的综合延迟。
需要注意,视频容器中的时间戳可能因可变帧率、音视频交错、丢帧或编码器重排序而变化。因此,文件时间戳适合辅助分析,不建议作为唯一结论。
五、方法三:使用光电传感器测试端到端延迟
如果需要更高重复性,光电传感器配合示波器或数据采集设备更合适。该方法可以绕过人工逐帧判断,直接比较光信号变化和屏幕亮度变化。
测试原理
在信号源画面中让一个区域按照固定频率快速亮灭,同时使用一个光电传感器检测原始显示器上的亮度变化,再使用另一个传感器检测采集预览画面的亮度变化。两个传感器输出波形之间的时间差,就是从输入显示到采集预览显示的端到端延迟。
具体步骤
- 在输入画面和预览画面中分别设置大小、亮度接近的白色测试块。
- 将第一个传感器固定在输入显示区域,将第二个传感器固定在预览显示区域。
- 让测试块以固定频率闪烁,避免频率过高导致显示器或采集卡进入特殊处理模式。
- 用示波器同时记录两个传感器的上升沿或下降沿。
- 读取两条波形同一边沿之间的时间差,重复测量至少 30 次。
- 分别在冷启动、持续运行 30 分钟和切换分辨率后进行测量,观察缓冲是否变化。
该方法测到的通常是“显示器输入到显示器输出”的链路延迟,而不是单独的采集卡芯片延迟。若要隔离采集卡本身,应使用同一台显示器、同一刷新率和尽可能相同的输出路径,并将显示器固定为低延迟模式。
六、如何计算与记录测试结果
推荐记录字段
| 字段 | 示例 | 说明 |
|---|---|---|
| 输入分辨率 | 1920×1080 | 记录实际输入,不只记录软件设置 |
| 输入帧率 | 60 fps | 注明是否为稳定帧率 |
| 接口与连接方式 | HDMI 2.0、USB 3.x | 记录端口和线材条件 |
| 测试边界 | 输入显示到预览显示 | 明确是否包含显示和编码 |
| 样本数量 | 30次 | 避免单次结果代表整体 |
| 平均延迟 | xx ms | 反映典型表现 |
| 最小/最大延迟 | xx/xx ms | 观察抖动和异常值 |
| 标准差 | xx ms | 评估稳定性 |
使用平均值时要注意异常值
如果某几次测试出现明显高于其他样本的延迟,不要直接删除。应先确认是否发生了丢帧、系统调度、USB带宽争用、预览窗口遮挡或摄像机记录误差。可以同时报告“全部样本平均值”和“剔除明确异常后的平均值”,并说明剔除标准。
七、误差控制与复测要求
常见误差来源
- 显示器刷新延迟:输入显示和预览显示使用不同刷新率时,结果可能出现周期性波动。
- 摄像机帧率误差:标称 240 fps 不一定等于实际有效帧率,应尽量使用固定快门和已校准设备。
- 软件缓冲:采集软件可能为了保证画面连续而主动增加缓存。
- USB带宽共享:同一控制器上的硬盘、摄像头和采集卡同时工作,可能引入排队或丢帧。
- 编码器延迟:硬件编码、B帧和码率控制会使录制结果晚于原始采集结果。
- 信号格式转换:缩放、去隔行、色彩空间转换和帧率转换都可能增加延迟。
推荐的复测流程
- 冷启动电脑和采集软件,测量 30 次。
- 保持软件运行 30 分钟后,再测量 30 次。
- 切换一次输入分辨率和帧率,再恢复原设置,测量 30 次。
- 更换 USB 端口或 PCIe 插槽,确认是否存在总线差异。
- 关闭录制,仅测预览;随后开启录制,比较两组结果。
- 分别在低负载和高负载状态下测试,记录CPU、GPU和磁盘占用。
八、不同应用场景的选型建议
直播和视频会议
重点关注预览延迟、长时间稳定性和丢帧情况。单次延迟较低但持续运行后出现抖动的设备,不适合直接用于稳定直播链路。
云游戏和交互式应用
应将采集卡延迟与显示器、编码器、网络和解码器延迟分开测试。建议优先使用光电传感器或高帧率摄像机测量整条交互链路,而不是只比较采集卡宣传参数。
机器视觉和实时识别
重点关注输入到算法首帧的延迟、帧时间稳定性和时间戳准确性。需要确认采集驱动是否提供硬件时间戳,以及丢帧后是否能识别和补偿。
音视频数据采集与AI训练
如果采集内容将用于数据集制作、语音视频对齐或模型评估,应同时检查音画同步、帧序连续性、时间戳可靠性和长时间录制后的漂移。延迟绝对值并不是唯一指标,稳定性和可追溯性同样重要。
九、测试结论应如何验证
一份可复核的测试结论至少应满足以下条件:
- 明确测试边界,说明是否包含显示器、预览软件、编码器和网络传输。
- 提供输入分辨率、帧率、色彩格式、接口、驱动和软件版本。
- 至少采用一种客观测量方式,并记录足够数量的重复样本。
- 同时报告平均延迟、最大延迟、最小延迟和抖动情况。
- 对异常值给出原因或保留依据,而不是只展示有利结果。
- 在目标应用的真实负载下进行一次验证,例如开启录制、推流或AI推理。
十、常见问题 FAQ
Q1:视频采集卡标称零延迟,是否还需要测试?
需要。所谓零延迟通常指直通输出或特定测试条件下的表现,不一定等于采集到软件预览、录制文件或算法输入的零延迟。应按照实际使用链路重新测量。
Q2:只有一台显示器,能否完成测试?
可以。可以在同一显示器上并排显示原始输入和采集预览,再用高帧率摄像机拍摄。为减少显示器扫描和窗口渲染差异,应固定窗口位置、缩放比例和刷新率,并进行多次重复测试。
Q3:手机慢动作视频能否替代高帧率摄像机?
可以用于初步判断,但要确认手机的实际慢动作帧率、快门速度和是否存在自动丢帧。手机测试结果更适合比较不同设置之间的差异,不宜直接作为高精度绝对值。
Q4:USB采集卡和PCIe采集卡的延迟哪个更低?
不能只按接口类型判断。延迟还取决于采集卡内部缓存、驱动、传输模式、分辨率、帧率和采集软件。应在相同测试边界和相同视频参数下对比平均值与抖动。
Q5:为什么同一采集卡每次测出的延迟不同?
常见原因包括帧同步位置不同、显示器刷新周期、软件缓冲、系统负载、USB总线争用和偶发丢帧。使用 20 至 30 次以上样本,并报告最大值和标准差,通常比单次测量更有参考价值。
Q6:测试采集卡时是否需要测试音频延迟?
如果应用涉及直播、会议、视频数据集或音视频对齐,建议同时测试音频。可以使用同时产生闪光和声音的测试信号,分别测量视频变化和音频波形到达采集端的时间,再计算音画偏移。
常见问题
视频采集卡标称零延迟,是否还需要测试?
需要。零延迟通常只对应直通输出或特定条件,不一定覆盖软件预览、录制和算法输入链路。应根据实际使用场景重新测量。
只有一台显示器,能否完成测试?
可以。将原始输入和采集预览并排显示,再用高帧率摄像机拍摄。固定窗口位置、缩放比例和刷新率,并通过多次重复降低误差。
手机慢动作视频能否替代高帧率摄像机?
可以用于初步比较,但应确认实际帧率、快门速度和是否丢帧。手机测试结果不宜直接作为高精度绝对值。
USB采集卡和PCIe采集卡的延迟哪个更低?
不能仅按接口类型判断。采集卡内部缓存、驱动、传输模式、视频参数和软件都会影响延迟,应在相同条件下实测。
为什么同一采集卡每次测出的延迟不同?
可能与帧同步位置、显示器刷新周期、软件缓冲、系统负载、USB总线争用或丢帧有关。建议使用至少20至30个样本,并报告平均值、极值和标准差。
测试采集卡时是否需要测试音频延迟?
涉及直播、会议、视频数据集或音视频对齐时,建议测试音频。使用同时产生闪光和声音的信号,分别测量两路到达采集端的时间并计算音画偏移。
总结
视频采集卡硬件延迟测试的关键是明确测试边界、固定输入条件、选择客观测量方法并进行多次复测。高帧率摄像机适合快速比较,时间码和帧号适合分析录制链路,光电传感器适合更高重复性的端到端测试。最终选型还应结合丢帧、抖动、音画同步、时间戳和长时间运行结果。