&audiodelay
Adds a fixed extra delay to incoming audio in milliseconds
Viewer-Side Option! (&view, &scene, &room)
Options
Example: &audiodelay=1000
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=1000Add 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
&syncenables adaptive audio compensation.&audiodelayworks 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&bufferaudioretain their buffering behavior. Changing those targets does not change the fixedaudiodelayoffset.&buffer3automatically enables adaptive audio compensation. An additionalaudiodelayremains fixed, while that compensation continues separately.&micdelayis the existing sender-side microphone delay. Useaudiodelayfor received audio andmicdelayfor the outgoing microphone.&noapdisables 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?