怎样同步Tobii Pro Glasses 2眼动仪的场景视频和眼动数据?

Tobii Pro Tobii Pro Glasses 2眼动仪 Tobii Pro Glasses 2 SDK

您可以使用Tobii Pro Glasses 2 API来同步实时的场景视频和实时的眼动数据,或在后期对已记录的场景视频和眼动数据进行同步。

呈现时间戳 (PTS) 是适用于两种同步方式的概念。呈现时间戳是Tobii Pro Glasses 2眼动仪用于将眼动数据与场景视频同步的参考点。同步时间戳可以通过以下途径获取:

  • 实时同步时,从通过UDP端口接收的JSON数据包获取
  • 后期同步时,从SD卡上的livedata.json文件获取

呈现时间戳数据包的形式通常像这样: {"ts":488682903,"s":0,"vts":559844} 或 {"ts":489322743,"s":0,"pts":24837344,"pv":1468396373}。
ts代表Pro Glasses 2眼动仪的本地时间戳,vts代表用于后期同步的呈现时间戳,pts代表用于实时同步的呈现时间戳,pv代表用于Tobii Pro Glasses Controller软件的纠错时间戳。

将实时眼动数据与实时场景视频同步:
实时同步前,您需要开始记录并保持视频与眼动数据流处于激活状态。操作步骤请参考"怎样使用Tobii Pro Glasses 2 API开始校准和记录?

您现在可以从{"ts":489322743,"s":0,"pts":24837344,"pv":1468396373}表单接收到呈现时间戳并将视频流解码。视频解码器提供了与每一帧视频相对应的视频流的呈现时间戳 (我们称之为 pts_video)。您可以将眼动时间戳 (ts)与视频时间戳(pts_video) 通过pts_video的帧与眼动数据的时间戳ts一一匹配使他们同步。

眼动数据与视频数据的后期同步:
在后期同步前,您需要使用您自定义的应用或使用Pro Glasses Controller软件做一条记录。记录完成后,您的SD卡上将包含以下这些内容:

  • 场景视频 (位于\projects\<projectID>\recordings\<recordingID>\segments\<segmentNumber>\fullstream.mp4)
  • 眼动数据 (位于\projects\<projectID>\recordings\<recordingID>\segments\<segmentNumber>\livedata.json.gz) ,文件为 GZip压缩包格式
livedata.json文件包含了与记录过程中获得的实时数据相同的数据。您现在可以从{"ts":488682903,"s":0,"vts":559844}表单中获得呈现时间戳数据,您可以将fullstream.mp4视频进行解码。解视频码器可提供与视频每一帧相对应的视频呈现时间戳(我们称之为 pts_video). 您可以将眼动时间戳 (ts)与视频时间戳(pts_video) 通过使pts_video的帧与眼动数据的时间戳ts一一匹配使他们同步。