Active speaker, Highlight, and talking indicators
Use active-speaker switching, Highlight, fixed solo sources, and talking indicators for live VDO.Ninja productions.
This guide explains the common ways to feature the current speaker, manually highlight a guest, keep other guests visible in OBS, and show a green talking indicator around people who are speaking.
Quick choice
Automatically show only the current speaker
Use &activespeaker=1 or &activespeaker=3 on a scene/view link
Automatically show all current speakers
Use &activespeaker=2 or &activespeaker=4
Automatically make the current speaker larger while others remain visible
Use &activehighlight=2 or &activespeakerfeatured
Manually feature one guest from the director room
Use the director Highlight / Featured control
Build a fully custom OBS layout with fixed guest boxes
Use a large &activespeaker browser source plus separate &solo sources in OBS
Add a green border or dot when guests talk
Use &meterstyle=2, &meterstyle=3, or &meterstyle=4 with CSS
Feature social chat messages
Use Social Stream Ninja; this is separate from VDO.Ninja guest video highlighting
Automatic active speaker
Add &activespeaker, &speakerview, or &sas to a viewer, room, or scene link.
https://vdo.ninja/?room=ROOMNAME&scene=0&activespeaker=3&cleanoutputModes:
&activespeaker=1
Shows one speaker at a time, including audio-only sources
&activespeaker=2
Shows everyone currently talking, including audio-only sources
&activespeaker=3
Shows one speaker at a time, but only video sources
&activespeaker=4
Shows everyone currently talking, but only video sources
Use 3 or 4 for most OBS scene layouts, since audio-only guests will not replace the video layout.
You can slow down one-speaker switching with &activespeakerdelay, &speakerviewdelay, or &sasdelay. This applies to modes 1 and 3.
The delay is in milliseconds. This helps prevent rapid switching when people briefly interrupt or laugh.
&activespeaker&activespeakerdelayAutomatic active speaker Highlight
Use &activehighlight=2 when you want VDO.Ninja to keep everyone in the scene, but automatically make the current speaker larger using the secondary Highlight / Featured layout.
&activespeakerfeatured is an alias for the same mode.
Options:
&activehighlight=2
Uses the secondary Highlight / Featured mode, so the active speaker becomes larger while other guests remain visible
&activespeakerfeatured
Alias for &activehighlight=2
&activehighlight=1
Uses normal Highlight, which is closer to a full speaker focus mode
By itself, &activehighlight=2 does not enable &activespeaker, so it does not hide non-speaking guests. If you combine it with &activespeaker, the normal active-speaker hide/show behavior still applies.
You can also add &activespeakerdelay if speaker changes are happening too quickly.
This link still needs to receive and process guest audio, so do not add &noaudio or &noap to the same scene/view link. By default, it follows video-capable speakers, similar to &activespeaker=3, so audio-only sources do not take over the Featured layout.
Large speaker plus smaller guests in OBS
If you need exact positioning, crops, borders, or per-guest filters in OBS, use a hybrid OBS layout:
Add one large OBS Browser Source for the automatic speaker view.
Add each guest as a separate smaller OBS Browser Source using their solo link.
Add
&noaudioto the smaller solo sources so audio is not duplicated.
Large automatic speaker source:
Fixed side guest source:
Replace GUESTID with the guest's stream ID. Permanent guest IDs make this easier to maintain between shows.
Do not add &noaudio to the active-speaker source, since the automatic switching needs incoming audio levels. If the active-speaker source should not be heard in your final mix, mute that OBS source or route audio elsewhere in OBS instead.

Manual Highlight / Featured guest
From the director room, use the Highlight / Featured control on a guest to make that guest the featured video in scene outputs and connected room views that follow Highlight.
This is useful when the producer knows who should be on screen, such as a host, presenter, guest answer, or screen reader.
Tips:
Use a normal scene link for the OBS program source:
Click Highlight / Featured in the director control room to feature a guest.
Hold
Ctrlon Windows/Linux orCmdon macOS while using Highlight for the partial featured mode in supported layouts, where the guest becomes larger instead of fully replacing the layout.Add
&ignorehighlightto a viewer or scene link if that link should not follow director Highlight changes.
Mute follows Highlight
If you want the highlighted guest to be the only unmuted guest, add &highlightmute to the director link.
Aliases:
&hmute&mutefollowhighlight&mfh
This is intended for producer-controlled panels where the highlighted person should be the only active on-air microphone. Manual mute changes are still possible, but the rule applies again the next time Highlight changes.
&highlightmuteGreen border or talking dot
Use &meterstyle when you want visible feedback that someone is talking.
Common modes:
&meterstyle=1
Shows a VU-style meter
&meterstyle=2
Shows a green border around a talking guest
&meterstyle=3
Shows a small green dot when a guest is talking
&meterstyle=4
Hides the built-in meter and adds data-loudness / data-speaking attributes for CSS
&meterstyle=5
Pulses an audio-only avatar/background image while speaking

For custom CSS, data-speaking is usually easier than raw data-loudness.
data-speaking="0" means quiet, 1 means low-level speaking, and 2 means loud speaking.
API-driven switching
For most active-speaker Featured layouts, use &activehighlight=2. Use the API/loudness path only when you need custom rules, custom layout objects, or external production controls.
Available building blocks:
getLoudnessor&pushloudnesscan report guest loudness to a parent page.The
layoutAPI can apply a custom layout object or switch predefined layouts.The
soloVideo/highlightAPI command can toggle Highlight for a guest.
This is flexible, but it is more work than the built-in &activehighlight=2 mode. It usually requires a parent page, Stream Deck / Companion workflow, or custom script to decide who is loudest and then update the layout.
Featured chat messages are separate
Featured social chat messages are handled by Social Stream Ninja, not by &activespeaker or the director Highlight video controls.
Use Social Stream Ninja when you want to select YouTube, Twitch, or other social chat messages and show them as an OBS overlay.
Social Stream NinjaCommon issues
If active speaker never switches:
Make sure the scene/view link is receiving audio.
Do not add
&noap; audio processing is needed for loudness-based features.Try
&meterstyle=2first to confirm VDO.Ninja can detect who is talking.Use
&activespeaker=3if audio-only sources are unexpectedly taking over the scene.
If the layout is switching too quickly:
Add
&activespeakerdelay=1000to&activespeakerdelay=2000.Use manual Highlight when the producer needs deterministic control.
If you need the exact "current speaker large, everyone else still visible, all inside one VDO.Ninja scene link" behavior:
Use
&activehighlight=2or&activespeakerfeatured.Use the OBS hybrid method only when you need custom per-source positioning or filters.
Last updated
Was this helpful?