WebRTC在WebRTC统计的ssrc报告中有一个实验统计量googCaptureStartNtpTimeMs。我相信它被定义为当流从发送方开始时的NTP时间,以毫秒为单位。
我希望我的客户端与WebRTC用于生成该googCaptureStartNtpTimeMs的NTP时钟同步。
我一直在谷歌上搜索/读取WebRTC源代码,我找不到使用哪个NTP服务器来生成这个stat。我假设所有的NTP服务器都不可能同步,所以我需要确切地知道WebRTC使用的是哪个NTP服务器,这样我就可以用它们的googCaptureStartNtpTimeMs时间戳同步我的客户机。
我看到了几个选择:
pool.ntp.orgtime.google.comtime1.google.comntp.google.com在WebRTC源中搜索这些内容不会产生任何结果。pool.ntp.org看起来很有希望,因为它将帮助找到一个NTP服务器,它靠近请求的来源(低延迟)。但是,如果NTP池与NTP WebRTC不同步,除非我能够得到NTP池和NTP WebRTC之间的偏移量,否则它对我将毫无用处。
我的问题归结为:
所有NTP服务器都是标准化的,并且彼此同步吗?如果不是,googCaptureStartNtpTimeMs
发布于 2020-02-11 08:55:49
googCaptureStartNtpTimeMs与NTP服务器无关。在当地的时钟里。名称中的" NTP“来自RTCP数据包中传递时间的格式,并不意味着某些NTP服务器同步正在进行。
你对公制定义的理解有点模糊。当轨道开始发送时,这是一个本地(接收机)时间。
时钟同步由WebRTC内部使用RTT估计和RTCP SenderReport包完成。注意,要获得RTT估计值,对等方必须发送一些内容,并且需要一些时间(基于RTCP SR发送周期的音频音轨长达20秒)。在得到所有的估计数之前,该指标将报告-1。
https://stackoverflow.com/questions/60156224
复制相似问题