(3 minute read)
As part of a project I am working on, I had to get OBS studio streaming into a Discord voice channel so that we could broadcast a stream to our community with all the benefits of the built-in Discord chat surrounding it.
First of all, is this even possible? Turns out it is, though you have to use OBS Studio differently to how you would if you were streaming to Twitch, Youtube, etc.
Note: All the information in this post is based on what I've found scattered across the web. I'm just compiling everything here into a single guide to save you time.
1. Setup OBS video
We need to use the OBS Virtual Camera feature if we want to stream via Discord. What this does is create a virtual webcam recognized by our computer. The webcam video will be our OBS stream video output. This allows us to use the OBS stream in any application that usually relies on a webcam (e.g Zoom, Google Meet, Discord, etc).
Enabling this is simple, Just click the Start Virtual Camera button in the control panel:
Note: You don't need to click "Start Streaming" in order to enable the virtual camera.
At this point a new webcam called OBS Virtual Camera will be available to all applications.
2. Setup OBS audio
The OBS Virtual Camera does not include audio by default. So we need to handle that separately.
We do this by making the audio for our stream available via the audio monitoring stream. The audio monitoring stream is a secondary audio stream output from OBS, separate from your main stream's audio output. It is intended as a way for you to monitor selective parts of the audio inputs for any issues.
In our case we can use the monitoring stream as a way to pipe the audio into a virtual microphone (just like how we turned the video stream into a virtual webcam).
Firstly, we need a virtual audio device to send the monitoring stream audio to. I recommend either of the following for Windows and Mac:
Note: Linux users, please refer to your distribution for the best option,
Use the virtual audio device software to setup a virtaul audio device. I use Loopback on my Mac and here is how it looks:
Once this is turned on a new audio device called Loopback Audio appears in my system's list of sound devices, both as a speaker and microphone.
Now let's tell OBS to send the monitoring audio stream to this device:
We now need to set which OBS audio source should be sent to the monitoring output. In the example below I'm streaming from a Browser source, and so I need to select the browser source. Start by selecting Advanced Audio Properties for the source:
This will open up the advanced settings menu for each audio source. Now let's set the appropriate audio source to be output to the monitoring stream:
That's it. If I were to now pipe the Loopback Audio device output to my computer's speaker I would be able to hear the stream audio.
3. Setup Discord
Note: You may need to restart Discord once you've setup OBS, just to ensure it picks up the new devices.
The setup in Discord is now straightforward. Create or go into a voice channel or stage and turn on your webcam video. Now, go into the Voice and Video settings for your account. Select the virtual audio device (Loopback Audio in my case) as the microphone:
Now, ensure that the Input Mode is set to Voice Activity and that the Automatically determine input sensitivity option is disabled. Set the sensitivity threshold to the leftmost end:
For the video, select OBS Virtual Camera as the webcam and disable any video background:
Finally, update the Voice Processing settings to ensure Discord doesn't do any unwanted processing on the incoming audio:
At this point the stream should be working in Discord, with audio!
Note that the video image will likely appear horizonally flipped. This is because Discord thinks the video image is coming from a webcam and so it flips it like it normally does for any webcam image. Don't worry, everyone else in the channel/stage will see the video as originally streamed; only you will see it flipped.
I hope you found this guide helpful!