RTCRtpReceiver: jitterBufferTarget 属性

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

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

应用程序可以使用它来权衡播放延迟与因网络抖动而耗尽音频或视频帧的风险。

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

该值可以设置为不大于 4000 毫秒的正值。

异常

RangeError

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

描述

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

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

平均抖动缓冲区延迟可以通过将 RTCInboundRtpStreamStats.jitterBufferTargetDelay 除以 RTCInboundRtpStreamStats.jitterBufferEmittedCount 来计算。为了观察修改抖动缓冲区目标的效果,您可以跟踪此平均值随时间的变化。您还可以将其与 jitterBufferMinimumDelay(或其平均值)进行比较,以排除影响延迟的固有网络因素。

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

规范

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

浏览器兼容性