So I was not particularly happy with either of the half-solutions above. Searching around a bit more I found the
Audio Monitor Plugin for OBS.
Probably all the OBS experts already know this is the way to solve this and this is obvious to them...but I didn't...so figured I would post back here with details on how to accomplish the desired setup (not half way) I described in my previous post using this plugin.
It still feels quite complex and I created a diagram just so I could easily sanity check my setup. So it would still be great if the solution I proposed above was eventually implemented directly in OBS (first class audio output device for virtual cam case where OUTPUT goes separate from MONITOR device so you don't have the microphone problem).
Maybe my diagram helps someone. I'm on a mac but left the concepts general enough they should apply to both systems.
The main differences (I think) are the following:
- OBS doesn't require virtual cable to capture desktop audio in Windows (apparently does in Mac) - Windows users can ignore "Virt. Cable A" in my diagram.
- On MacOS you can create and use a multi-output device (from "Audio Midi Setup") to combine a virtual cable B and speakers (or headphones) into a single output device (OBS Audio Monitor device).
- On windows I don't know if this exists so you may need a software mixer like the banana thing people mentioned for this output stage.
- However this would be "set and forget" as OBS handles the audio switching for you...the mixer is just to combine a virtual cable and whatever output device you want for monitoring (speakers, headphones) into a single Output device for OBS to target.
This example uses zoom but this should work for any app that allows you to select system audio input device (and webcam/video device).
The benefits of this setup:
- Desktop audio switching (e.g. when changing scenes) AND monitoring.
- OBS media (e.g. video files in OBS scenes) audio monitoring (switching of course is a given since they are played by OBS)
- Microphone audio switching (e.g. when changing scenes) WITHOUT monitoring (no echo or feedback issue)
- All the above audio is fed into a single virtual cable that can be used as an audio input device for Zoom or whatever.
Of course if you don't want audio switching for a specific audio source then you just add it in the global audio settings rather than within a specific scene.
View attachment 72357