How do I use JACK with OBS Studio on Windows?

5,246

Jack can use ASIO drivers, and there's a few pieces you can put together to do this -- in fact, this is the setup I run on my streaming/gaming rig for everyday use.

  • Jackd provides the audio "hub."
  • SAR is an ASIO driver that allows the creation of virtual Windows playback/recording devices and passes the audio through to the client, so audio played into a SAR playback device becomes available as an audio source in jack; audio sent to the corresponding jack audio sink will be available for recording on the Windows side from a virtual recording device. SAR can also chain to another ASIO device to allow access to your audio hardware using something like...
  • ASIO4ALL, which is an ASIO driver providing access to your hardware.
  • Finally, you need a jack-aware DAW such as Ardour, which is where you can perform your DSP.

This stuff is all freeware (ASIO4ALL) or open source (everything else).

Here is an image of my Ardour setup to give you an idea of what's possible:

Ardour screenshot

Note that the config can all be pretty finicky so you may have to play around a lot to get it to work well.


The observant reader will note that this is a screenshot of Ardour running on Linux, not Windows. In my case, I'm offloading the DSP to a Linux box; jack has network capabilities, so you can link two jackd instances and have them share audio. This way, the audio from my Windows system gets sent over the network to my Linux system, mixed by Ardour there, and sent back to Windows to be sent to the hardware and/or programs that record audio (OBS, Discord, etc.). This all happens with ~5-8ms latency, which isn't perceptible.

I have also run Ardour directly on Windows, so I know that that works as well.

Share:
5,246

Related videos on Youtube

Guillaume Jacquemin
Author by

Guillaume Jacquemin

I'm currently a student in IT, in a French school.

Updated on September 18, 2022

Comments

  • Guillaume Jacquemin
    Guillaume Jacquemin almost 2 years

    I recently wanted to use OBS Studio to record game footage while playing with a friend, though that friend doesn't want his voice to end up in the recording.

    The thing is, OBS Studio cannot record audio from a program, but from a device (the sound that gets output to the speakers, for example).

    A quick search on Google led me to test two programs: Virtual Audio Cable (what we French call a "usine à gaz" ["gas factory", a very confusing and hard to use program]), and JACK Audio Connection Kit.

    Being a fan of freeware, I ended up keeping JACK.

    While I found some tutorials on the Internet (this one is the best I've seen), I'm always stuck at the same point: the selection of the JackRouter audio "device".

    I also tried to use the Connect feature of QjackCtl, but obviously, neither OBS or the game appear there.

    Is there something I'm missing ? What should I do to make JACK and OBS work together ?

    Technical details: I downloaded JACK2 1.9.10 64-bit from the official site, and I run it on Windows 10 64-bit.

    I ask my question here because I didn't find the answer on the web.