Fear of DMCA? Cursed with the blighted muted sections? Do you not want TTS stored in the VOD due to potential abuse? Twitch has a solution for you! Twitch allows you to upload two audio tracks! One that’s played during the stream, and one that’s played during the VOD, clips, or highlights. If you want the VOD track can be the Bee Movie script ASMR, but the more sensible way to use this is to exclude potentially hazardous audio.
Don’t worry if funny moments are tied to this source. If you record the stream locally, you can record all the tracks so you can switch tracks at your discretion in the masters.
This tutorial works for OBS and Streamlabs identically (minus a plugin) and doesn’t require special hardware. For the most painless track set-up we will be using a plugin that’s only available for OBS. This plugin only concerns those who don’t use virtual mixers like VoiceMeeter or GoXLR (which isn’t virtual, but its software is).
Let’s set up the VOD track
This is easy enough. In OBS, go to Settings -> Output. In Simple mode enable “Enable Custom Encoding Settings (Advanced)” so the “Twitch VOD Track (Uses Track 2)” box appears and enable it.
In Simple mode you will only record Track 1. To record multiple tracks for editing purposes, you will need to use Advanced mode.
In Simple mode you will only record Track 1. To record multiple tracks for editing purposes, you will need to use Advanced mode.
For Advanced mode, go to Settings -> Output, and if you haven’t already, switch to Advanced Mode (be mindful that it resets your encoder settings. You’ll want to re-enter your bitrate). In the ‘streaming’ tab enable ‘Twitch VOD Track’. The button should be on 2.
For recording, go to the ‘recording’ tab and enable all audio tracks that matter to you.
Let's route audio there! (Simple/3rd party setup)
Now we choose which audio source can be heard in which track. This step is for if you already have separated tracks, or if you use a third-party software to do so (voicemeeter, goxlr). If you don’t, skip this part and we’ll get to the advanced routing later. Though even for third party users the rest can be useful.
This is an example of the routing you can set up:
Go to Settings -> Audio -> Global Audio Devices.
Set the two Desktop Audios to the track that contains just the game and alerts, and the second one to the track you want filtered out. DO NOT USE THE SAME TRACK THAT YOU LISTEN TO THROUGH YOUR SPEAKERS/HEADSET! This track has both the game and music track mixed together, defeating the point of separating them. For instance, with a GoXLR this is the ‘Broadcast Mix’ for the first desktop audio, the ‘Music’ for the second desktop audio, and ‘System‘ for the track you actually listen to.
Now to filter track 2 out of the VOD:
(OBS) In the Audio Mixer dock, right click any track, then go to Advance Audio Properties. You will likely see more sources than you have audio mixes and that’s okay. The rest are most likely browser sources and they go to the obs-browser-page track in the windows mixer. Mind this while setting up your virtual mixer. These should go to the Desktop Audio and they will only be heard on there when the ‘audio monitoring’ of them is ‘monitor only’.
Simply turn off the second track for the Desktop Audio 2, which has the music.
(Streamlabs) pretty much the same, but instead click the gear of the Audio Mixer dock itself.
And that’s it. You’re done.
Unless you either don’t have access to a virtual mixer, don’t want to set it up (don’t worry, you don’t have to) or want to be more specific with your mix.
In that case, keep reading. Otherwise, I’ll be back another time with another tutorial!
Separating tracks in OBS
Still there? Good!
First of all, forget everything from Routing (simple). We aren’t using any of that. We’re not even using desktop audio, so let’s turn that off first.
Now that both desktop audios are disabled, we’re making our own.
The encouraged way (OBS Windows) - setup:
Install this plugin. Click on the latest release, then pick under Assets the download that ends with ‘setup-exe’. Close OBS, run it, and it should install:
An OBS plugin that allows capture of independant application audio streams on Windows, in a similar fashion to OBS's game capture and Di
Now with this installed, you have a new source. It’s called ‘Application Audio Output Capture’. This shouldn’t be confused with the ‘Application Audio Capture (BETA)’ which is native to Streamlabs and OBS and is a headache to use. We’ll see it again in the discouraged way.
Create a new blank scene and name is something like ‘audio’.
Open the program you use for copyrighted music, and other programs you want sliders for.
Add an AAOC (Application Audio Output Capture) source.
In ‘Add from current active sessions’ find the program that you use for music, then add executable. You could add multiple programs if you use both youtube and spotify and they’ll share the same track in the mixer.
Do these steps for all programs that you want individual audio control over in the audio mixer. Not just programs you want to filter out of the VOD track. This is recommended for Discord so you don’t drown out your teammates and so you can add a compressor effect.
Create one last AAOC. Add every program you created separate AAOC’s for and put them all in the list. You can also add programs that you don’t want audio captured at all. Then activate the ‘Capture all audio EXCEPT sessions from the selected executables’ box. This will capture all audio that doesn’t have its own slider. Great for variety streamers who often switch games because now the game is automatically captured.
Add this scene with just audio to every other scene to give every scene audio. Click ‘add source’ and then pick ‘Scene’. If you use the Downstream Keyer plugin, you only need to add the scene to the scene you’re keying, or you can use the scene itself for it.
The encouraged way - Browser sources:
This is optional but recommended.
OBS-browser-page is the executable for browser sources, but there is a better way to use browsers sources that gives you individual control over these sources. If you do this, add ‘OBS-browser-page’ to the AAOC that has ‘Capture all audio EXCEPT sessions from the selected executables’ turned on or else the stream will hear double.
Right click the browser source à properties à enable ‘Control audio via OBS’. You will now see yet another track in the mixer. This is great for changing the volume of multiple browser sources since some can be louder than others. If browser sources are loud to you but not to the stream, turn down the ‘obs-browser-page’ in the windows volume mixer. This won’t impact its volume to the stream.
Now that all your audio sources are decoupled, their volumes can vary quite a bit on stream vs what you hear. Listen to chat and the stream.
The cumbersome way (OBS any OS/Streamlabs)
There are two different paths here. One is to install OBS Studio anyway, and the other is to go the cumbersome way (which you’d have to do on a mac either way, but I still recommend switching over to OBS Studio).
Open all the programs you want to capture sound from.
Create a blank scene and name it something recognisable like ‘audio’
Add an ‘Application Audio Capture (BETA)’ of every program you want to capture. Pick ‘Match title otherwise find window of same executable’.
And now we need to add browser sources individually as well the same way as the encourages way, but this time it’s mandatory:
Right click the browser source -> properties -> enable ‘Control audio via OBS’. You will now see yet another track in the mixer. This is great for changing the volume of multiple browser sources since some can be louder than others. If browser sources are loud to you but not to the stream, turn down the ‘obs-browser-page’ in the windows volume mixer. This won’t impact its volume to the stream.
“That wasn’t so bad! What’s cumbersome about this way?”
Glad you ask! The problem is maintaining it. Because there’s no ‘other’ capture, you will need to add every game you’d want to play in the future. There is no ‘full screen capture’ source for audio capture and unfortunately it can’t be extracted from the ‘game capture’ the same way ‘browser source’ can.
Second, every sound source needs to have a window, otherwise you simply cannot add it. We encountered this problem with browser sources earlier and that's why splitting them is mandatory in this way.
Routing (again)
It’s really quite simple. It’s actually the exact same as the simple routing, just with more tracks, and you already have a much better idea of what audio you’re dealing with. The main difference is that you’ll want all Audio Monitoring into ‘Monitor and Output’.
(OBS) In the Audio Mixer dock, right click any track, then go to Advance Audio Properties. You will likely see more sources than you have audio mixes and that’s okay. Browser sources that you didn’t manually control will appear here too, but they will be controlled and routed through the ‘other’ list. If you went the cumbersome way, then you don’t have browser sources you don’t manually control.
Route it in a way that makes sense to you. Track 1 is the stream track, Track 2 is the vod track, and the other tracks are for recording only and requires you to switch to advanced mode. This makes it easier to isolate and edit sounds. Track 3 is voice only, track 4 is game (or other) only, track 5 is sound effects and track 6 is music, just in case the funny event is tied to the current music playing.
(Streamlabs) pretty much the same, but instead click the gear of the Audio Mixer dock itself. You’re also bound by 2 tracks so no extra stuff for recording, but there is a special way around that
I hope this was helpful, Stay tuned for more streamer tech blogs!