> For the complete documentation index, see [llms.txt](https://docs.vdo.ninja/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vdo.ninja/advanced-settings/audio-parameters/and-audiodelay.md).

# \&audiodelay

Adds a fixed extra delay to incoming audio in milliseconds

Viewer-Side Option! ([`&view`](/advanced-settings/mixer-scene-parameters/view.md), [`&scene`](/advanced-settings/mixer-scene-parameters/scene.md), [`&room`](/advanced-settings/setup-parameters/room.md))

## 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:

```
https://vdo.ninja/?room=ROOMNAME&scene=1&audiodelay=150
```

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`](/advanced-settings/audio-parameters/sync.md) 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`](/advanced-settings/video-parameters/buffer.md), [`&buffer2`](/advanced-settings/video-parameters/and-buffer2.md), and [`&bufferaudio`](https://github.com/steveseguin/vdo.ninja/tree/gitbook/advanced-settings/audio-parameters/and-bufferaudio.md) retain their buffering behavior. Changing those targets does not change the fixed `audiodelay` offset.
* [`&buffer3`](/advanced-settings/video-parameters/and-buffer3.md) automatically enables adaptive audio compensation. An additional `audiodelay` remains fixed, while that compensation continues separately.
* [`&micdelay`](/advanced-settings/audio-parameters/and-micdelay.md) is the existing **sender-side microphone delay**. Use `audiodelay` for received audio and `micdelay` for the outgoing microphone.
* [`&noap`](/advanced-settings/audio-parameters/noaudioprocessing.md) 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`](/advanced-settings/audio-parameters/sync.md) or experimental [`&buffer3`](/advanced-settings/video-parameters/and-buffer3.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.vdo.ninja/advanced-settings/audio-parameters/and-audiodelay.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
