RTCRtpReceiver: jitterBufferTarget 属性

jitterBufferTargetRTCRtpReceiver 接口的一个 DOMHighResTimeStamp 属性,它表示应用程序首选的抖动缓冲区在播放媒体之前应保留媒体的时长(以毫秒为单位)。

应用程序可以使用它来影响播放延迟和由于网络抖动而导致音频或视频帧耗尽的风险之间的权衡。

一个 DOMHighResTimeStamp,表示当前抖动缓冲区目标保持时间(以毫秒为单位)。

该值可以设置为不超过 4000 毫秒的正值。

异常

RangeError

如果目标设置为负值或大于 4000 毫秒的值,则抛出此异常。

描述

该属性的值会影响用户代理执行的缓冲量,进而影响重传和数据包丢失恢复。

请注意,该属性“影响”用户代理的抖动缓冲区目标,但不会直接设置它。实际的用户代理抖动缓冲区目标将在反映用户代理根据网络状况和内存限制可以提供的目标范围的最大值和最小值之间变化,并且可以随时更改。jitterBufferTarget 返回的值不受用户代理的实际目标影响。

平均抖动缓冲区延迟可以通过将 RTCInboundRtpStreamStats.jitterBufferDelay 除以 RTCInboundRtpStreamStats.jitterBufferEmittedCount 来计算。为了观察修改抖动缓冲区目标的效果,您可以跟踪此平均值随时间的变化。

如果 RTCRtpReceiver 音频和视频轨道同步,则两个接收器中较大的 jitterBufferTarget 应用于两个接收器。

规范

规范
WebRTC:浏览器中的实时通信
# dom-rtcrtpreceiver-jitterbuffertarget

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。