audio_mixer
Combine multiple audio inputs into a single mixed output. The output is a continuous audio stream: when every input is idle or no input track is available, audio_mixer emits continuous silence so downstream encoders and muxers keep a stable timeline. Idle channels use Zero Gain Optimization to skip unnecessary downstream DSP.
Example
Section titled “Example”{ "name": "mix_audio", "type": "audio_mixer", "inputs": ["room_src"], "config": { "sampleRate": 48000, "channels": 2, "audioLevels": { "enabled": true, "intervalMs": 1000 } }}Config
Section titled “Config”| Field | Type | Default | Description |
|---|---|---|---|
sampleRate | int | 48000 | Output sample rate. Values outside the allowed set are snapped to the nearest of {8000, 16000, 24000, 32000, 44100, 48000}. |
channels | int | 2 | 1 or 2 (clamped). |
audioLevels | object | off | Optional per-identity volume reporting for clients. Omitted = disabled. |
audioLevels
Section titled “audioLevels”| Field | Type | Default | Description |
|---|---|---|---|
enabled | bool | false | Emit quantized volume tiers to supporting sinks (RTC data channel or in-band video metadata for media sinks). |
intervalMs | int | 1000 | Report interval in ms. Clamped to 200–2000. |
levels | int | 5 | Number of discrete tiers; output is 0…levels-1 (0 = silence). Clamped to 2–10. |
floorDb | int | -50 | Silence threshold in dBFS, not an output volume. Values are usually negative; positive values are normalized to negative (e.g. 50 → -50). Less-negative values such as -30 require louder input than more-negative values such as -70. |
Pricing
Section titled “Pricing”$0.0005/min of actual processing time. Node pricing.