VideoFrame timestamp实际对应什么?WebRTC视频流延迟测量可行性咨询
VideoFrame.timestamp 属性解析及WebRTC延迟测量适用性
一、timestamp的含义与生成时机
- 该属性没有统一的固定定义,其值完全由生成VideoFrame的上游组件(如WebRTC接收模块、本地媒体源、自定义代码)决定:
- WebRTC场景下:通常是从RTP包的时间戳转换而来的微秒级相对值,对应发送端采集或编码该帧的时间点(基于流的起始基准,不是绝对系统时间);
- 本地媒体场景(如视频文件、HTMLVideoElement):一般表示帧相对于媒体流起始位置的播放时间偏移;
- 自定义创建VideoFrame时:开发者可手动设置该值,用于标记自定义的时间维度。
二、是否可用于WebRTC视频流延迟测量?
可以使用,但无法单独依赖它完成,需要配合额外的时间同步逻辑:
- 发送端需要将采集帧的**绝对时间(如用
performance.now()记录)**与该帧对应的RTP时间戳(即后续接收端拿到的VideoFrame.timestamp的来源)通过信令同步给接收端; - 接收端获取到VideoFrame时,用当前
performance.now()减去发送端的绝对时间,即可计算出端到端延迟; - 仅靠
VideoFrame.timestamp本身无法直接计算延迟,因为它是相对值,没有绝对时间基准。
内容的提问来源于stack exchange,提问作者kusold
相关产品推荐
相关产品推荐

