For the complete documentation index, see llms.txt. This page is also available as Markdown.

&audiodelay

Adds a fixed extra delay to incoming audio in milliseconds

Viewer-Side Option! (&view, &scene, &room)

Options

Example: &audiodelay=1000

Value
Description

Positive number

Fixed extra audio delay in milliseconds; decimals are accepted

0, negative, empty, or invalid value

Disabled

Above 179000

Capped at 179000 ms (179 seconds)

Parameter omitted

Disabled by default

Details

&audiodelay=1000 adds a fixed extra second to incoming audio on this viewer. Use it when audio consistently arrives ahead of video and you want a manual audio offset.

The viewer holds decoded audio in a Web Audio delay node. Its delay stays constant during playback: jitter, RTT, and buffer updates do not adjust this fixed offset. It applies to incoming audio streams processed by the viewer's audio pipeline.

This parameter does not request additional video buffering or change the WebRTC audio receiver's buffer target. The browser's normal audio buffering remains active. The value is an additional audio delay, not a target for total end-to-end latency.

Examples

Add a fixed second to received audio:

https://vdo.ninja/?view=STREAMID&audiodelay=1000

Add a fixed 150 ms offset to incoming audio in a scene:

These examples require a VDO.Ninja build that includes this new option. Replace the hostname with your own deployment when using a locally hosted build.

Interaction with other delay settings

  • &sync enables adaptive audio compensation. &audiodelay works without it. If both are enabled, the fixed delay adds to the separately changing sync delay, so the total audio delay can still change.

  • &buffer, &buffer2, and &bufferaudio retain their buffering behavior. Changing those targets does not change the fixed audiodelay offset.

  • &buffer3 automatically enables adaptive audio compensation. An additional audiodelay remains fixed, while that compensation continues separately.

  • &micdelay is the existing sender-side microphone delay. Use audiodelay for received audio and micdelay for the outgoing microphone.

  • &noap disables the viewer's Web Audio processing, including this fixed delay.

Set the value in the viewer URL before connecting. Reload the viewer to apply a different fixed delay; iframe setBufferDelay changes buffering, not this option.

The fixed delay cannot advance audio or recover audio packets already lost or discarded. For automatic alignment with changing video buffering, see &sync or experimental &buffer3.

Last updated

Was this helpful?