关于设备时钟函数的介绍

1. 设备时钟简介

  • 采集设备上每一个采集通道都有一个独立的硬件时钟;
  • 采集设备采集的每一个音视频帧都会标记一个以 100 纳秒(nanosecond)为单位的时间戳;

2. 设备时钟的作用

  • 可以用来同步采集到的音视频帧;
  • 也可以同步显示多个采集通道采集的视频画面;

3. 设备时钟的设置与校准

  • 时钟设置,由于各采集通道的时钟相互独立,使用前需要将其设置为相同的基准值。
    MWGetDeviceTime() → MWSetDeviceTime()
    在采集之前首先获取某一采集通道的当前时钟值,然后以该通道的时钟值作为时钟基准值设置到其他采集通道中
  • 时钟校准,各采集通道在运行过程中,其时钟会不断积累产生微小误差,因此需要周期性对各通道进行时钟校准.
    MWGetDeviceTime() → MWRegulateDeviceTime()
    校准方法和设置方法类似,每隔一段时间获取某一采集通道的当前时钟值,然后以通道的时钟值作为参考值校准其他通道的时钟
  • 时钟设置与校准的差别
    时钟设置为强制性设置,时钟将会陡变为设置的参考时钟,并以此为起始进行工作,帧信息将会受到影响。
    时钟校准是一个逐渐趋向的过程,被校准的通道会计算自身与参考时钟的差值,从而逐渐调节自身时钟,使之趋向于参考时钟。

综上, 如果对于单个通道音频帧和视频帧之间的同步是不需要进行时钟设置和校准的,它们使用的是同一个时钟。

但如果需要对多个通道的音视频帧进行同步,就需要进行时钟设置和校准了,采集之前先使用 MWSetDeviceTime() 同步各个采集通道的时钟,并在采集过程中周期性使用 MWRegulateDeviceTime() 对时钟进行校准。

示例 “Examples \ Applications \ XICaptureQuad” 中有对时钟函数调用的示范。

联系人