我目前正在开发一个 WebRTC 项目。我们使用 Janus Gateway 进行 WebRTC 服务器端记录/收发等。
对于与画布相关的同步,我需要访问接收到的视频轨道的 RTP 时间戳。一段时间以来,我一直在广泛寻找一种方法。
我尝试过对等连接的 getStats 函数,但统计数据的时间戳是获取时间。不是数据包时间戳。
另外,W3的标准中明确指出:
DOMHighResTimeStamp [HIGHRES-TIME] 类型的时间戳,指示包含源的 RTP 数据包的最近播放时间。时间戳定义在[HIGHRES-TIME]中,对应于本地时钟。
getContributingSources()可以通过对象的函数访问它RTCRtpReceiver。但我注意到,该函数返回一个空数组。
重现:
https://webrtc.github.io/samples/src/content/peerconnection/pc1/
按“开始”和“呼叫”后,应显示相机源和对等连接。之后打开控制台并写入:
const receivers = pc2.getReceivers();
receivers.forEach(receiver => {
console.log(receiver.getContributingSources());
});
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何访问收到的 RTP 数据包的时间戳?或者最后接收到的视频 RTP 时间戳?
提前致谢。