Question / Help OBS-MP w/ VB-Cable - routing - play VLC to headset+stream, but not to local recording?

obsgyn

Member
I hope it is kosher that I'm posting this here. While it is not inherently an OBS-MP issue, it is with OBS-MP that I am attempting to accomplish this and the sound/mix setup is more robust and different in OBS-MP.

What I ultimately want to do is have audio to the STREAM and my HEADSET include Desktop+Mic+VLC while audio to LOCAL RECORDING contains only Desktop+Mic.

I'm using: Win10, OBS-MP, VB-Cable.

I only use a soundcard to play audio out to my speakers (SPDIF/Optical out to Tuner).
Headphones are plugged into Audient iD22 interface which is then plugged into the PC (via USB).


I can record everything to STREAM and everything minus VLC to LOCAL RECORDING as desired, but then I can't get VLC in my headset:

1. Tell VLC to use VB-CableA
2. Use Headphone as the Desktop Audio device.
3. Set Desktop Audio Device to Headphones in OBS.
4. Set Mic to Mic on OBS.
5. Set Mic Aux 2 to VB-CableA
6. Select the desired channels/sources in the Mix and each Stream/Local recording section.


Or, I can get VLC in my headset, but then of course OBS is going to record VLC in *everything*, because it is using Headphone as the Desktop Audio Device (and therefore all the audio that comes through Headphone):

1. Tell VLC to use VB-CableA.
2. Tell VBCableA to play through Headphone which is the default desktop audio device.
3. Set Desktop Audio Device to Headphones in OBS.
4. Set Mic to Mic in OBS.
5. Select the desired channels/sources in the Mix and each Stream/Local recording section.

Is there some logical routing here that I'm failing to see in my head?

It seems like the only way I could accomplish this is if I had the desktop audio playing to both default audio *and* headphones. I could then play VLC->VBCableA->Headphone and also capture VBCableA directly into the recording in OBS... as well as then using the desktop audio/speakers (muted) to record directly into OBS. That way I have a stream in my headphones that include VLC and a stream outside of my headphones that does not include VLC... and can this be captured by OBS.

I just have no idea how to accomplish that. Stereo Mix shouldn't be involved, because I don't use onboard audio.

Any help would be really appreciated. I feel like I'm missing something stupidly obvious.

Thanks.
 

obsgyn

Member
Okay, so a little success:

Instead of headphones or desktop as default desktop audio, I set VB-CableA as default. Then I tell it to play through VB-CableB.
Then, I tell VB-CableB to play through Headphones.
Then, I tell VLC to play through VB-CableB.

Then, I set channel 1 mix in OBS to capture everything and channel 2 mix to capture everything except VB-CableB (desktop audio 2). Then, I set STREAM to channel 1 audio and RECORD to channel 2 audio.

The result is that in my headphones, I get desktop audio and VLC audio.
In the local recording, I get desktop audio and desktop audio.
BUT in the STREAM I get desktop+mic+VLC audio... where the desktop audio is duplicated (ie, it has an echo like it is being played twice).
 

obsgyn

Member
Resolved!

VLC reverted back to its default device playback setting, so when I manually set it back to play through VBCableB, I got the desired result.

Now, I have:

1. Default Desktop Audio Device set to VBCableA
2. VBCableA set to playthrough to VBCableB.
3. VBCableB set to playthrough to HEADPHONES.
4. Desktop Audio Device in OBS set to VBCableA
5. Desktop Audio Device 2 in OBS set to VBCableB.
6. Mic set to Mic in OBS.
7. STREAM set to use track channel 1.
8. RECORDING set to use track channel 2.
9. MIC set to use track channel 1 and 2.
10. OBS MIX set to Desktop Audio 2/VBCableB set to track/channel 2 (VBCableB has desktop+vlc).
11. OBS MIX set to Desktop Audio/VBCableA for track/channel 1 (VBCableA has just desktop audio).

The result is I get DESKTOP+VLC in my headphones.
Then I get DESKTOP+MIC in LOCAL RECORDING.
Then I get DESKTOP+MIC+VLC in STREAM.

*phew*
 

Jack0r

The Helping Squad
Dont you just need one VB Cable?
Set VBCable A as default desktop device and to playthrough to your Headphones.
Set VLC to play to your headphones directly.
In OBS you can then select VBCableA and your Headset.
 

obsgyn

Member
Dont you just need one VB Cable?
Set VBCable A as default desktop device and to playthrough to your Headphones.
Set VLC to play to your headphones directly.
In OBS you can then select VBCableA and your Headset.

Actually, I just realized that I had misspoken. I think I was using HEADPHONES as my default sound device in Windows.

I can't actually seem to use CableA/B as my default device in Windows. If I do, I see the audio bar bumping green, so it is getting desktop audio. It just isn't plaything through from CableA to Headphones. However, if I tell VLC to play through Headphones, I'll get VLC audio even though Headphones is not the default windows device.

I also just tested, using my default speakers, too. If I set CableA as my default device, and point that to the speakers, they do not get the desktop audio from it. However, I can point VLC to the speakers while CableA is the default device and VLC will play through it.

And of course, now I can't seem to get my original "working" setup back either. Heheheh.
 
I have used this exact setup with both old OBS and OBS MP for about a year now:

1. CABLE Input as my default playback device.
2. Have CABLE Output play its sound directly to my headset (properties of CABLE Output -> tab next to general -> check the checkbox -> select your headset in the dropdown)
3. Have OBS record the default playback device
4. Whenever you want a program to be excluded from your recording, you simply have to select your headset as its audio output instead of the default. (VLC: Preferences -> Audio -> Device dropdown)

Hope this helps.
 

obsgyn

Member
Still working on it, but I just wanted to add that I think I discovered why I'm having inconsistent results. I thought you had to restart Windows after installing the VBCable drivers -- but apparently you really do have to restart your OS every time you *enable/disable* a VBCable device from the Sound configuration.

Now I can go back and try what Jack0r and WilliamBarrows suggested.

Good grief. Seriously, I thought I was going mad. Pretty sure I understood how VBC worked.. and thought the logic made sense. Didn't understand why it had to be so complex. Then why *that* failed when I went back. All because I didn't take the "you must restart every time you disable/enable the device" warnings seriously. :D
 

obsgyn

Member
Alright, after enabling both cables and restarting the OS again, I was finally able to do the much simpler thing of using CableA as default device and Headphone as playthrough device for it (and direct playthrough device for VLC). Now I'm able to get the result I wanted in OBS-MP.

Thanks to both of you for your suggestions and confirming that the simpler method was supposed to work. That helped me pinpoint where I should be looking, beyond just configuration issues. :)
 
Top