Streaming is fun, and it’s easier than ever to get into. Unfortunately, a side effect of this is that it’s also easier than ever to make a mistake somewhere in the process of getting set up, especially with search results flooded with unhelpful nonsense that’s either misleading, outdated, or flat out incorrect, along with so many articles and videos recommending very expensive things and encouraging people to treat streaming as an investment or a career.
So, I wanted to put together as much good information as I could in one place to make it as easy as possible for you to hit the ground running.
It’s a lot.
If you know someone who wants to get into streaming and they don’t know where to start, consider sharing this with them!
I’m going to cover the basics of everything from the simplest aspects to some more advanced ones, so you can stop wherever is good enough for you, you don’t have to read this whole thing if you don’t feel the need to. This could easily become information overload if you intend to read it all, so take your time and follow along at your own pace.
Keep in mind, however, that this is not intended to be a be-all end-all authoritative guide on The Right Way to do this stuff, because such a thing does not, cannot, and will never exist, and if you’re expecting a deep dive into the details of how all the little things work, you’re barking up the wrong tree and should find a better source. This is just meant to make the dive easier in the beginning, but you’ve still got to swim on your own.
If you’re experienced with streaming and find an error in this post or think something should be added or changed, let us know on Twitter or join our Discord. Just remember the goal here, don’t try to tell me about how important it is to spend four figures and commit to 17 hours daily, or about how to treat streaming as a business to make bigger profits. We will likely disagree on some things, so please be ready to explain your reasoning.
Before you start
The most important thing I can share here isn’t technical at all, it’s a harsh truth. You need to accept that streaming is not for everyone, so you may not find it fun, and your chances of becoming successful enough to make a living out of this like [insert popular streamer here] are so incredibly low you may as well dismiss the possibility entirely.
You also absolutely do not have to follow trends, you don’t have to stream what’s new or popular, you don’t have to be loud and energetic, you just have to have fun and interact with your viewers when they’re there. You will probably have some streams with zero viewers, and that’s fine as long as you’re having fun. To sum all that up in one sentence…
If you’re not in it for fun, you will only suffer for it.
I just want you to keep that in mind. Don’t treat this like a business. Of course, you’re free to approach streaming however you want, I can’t stop you, but don’t say I didn’t warn you. If you’re upset by this statement, you are exactly who it’s aimed at.
I also want to point out that streaming is NOT about having the best quality video, the most high end hardware, the most expensive toys, or the most RGB lights all over the room. It’s about the content – namely, YOU – and how engaging it is. Many people would choose to watch a blurry stream at a low resolution over one with a better image if the person behind the microphone is more engaging and entertaining.
Don’t overspend, don’t overthink, just get up and running and focus on the fun. Provided you’re already using a good enough computer and already have a microphone, you don’t need to spend a dime if you don’t want to, so consider everything in the hardware section below as recommendations, not requirements.
It’s possible to stream directly from phones and consoles, but none of that will be covered here, the expectation is that you will be streaming from a PC. A decent rule of thumb for PC specs is that you need at least a 4 core 8 thread processor, like an Intel i7-6700K or something newer, at least 16 GB of RAM, and an Nvidia graphics card. Even many mid- to high-tier laptops can stream acceptably because of these relatively low requirements, but this guide assumes you’re using a desktop, and that’s what I recommend.
I won’t give specific part recommendations for your computer since specific needs vary so much, and it’s possible to have a decent stream with a weaker computer than that, along with some more effort in the configuration. You also don’t actually need an Nvidia card, AMD cards are perfectly fine too, but I’ll talk more about that later.
What I will say is this. Your CPU is more important than your GPU for streaming. Assuming you’re streaming games, as long as your GPU is strong enough to run the game, the CPU is what’s going to be responsible for any dropped frames most of the time. So if you want to upgrade anything specifically for streaming purposes, upgrade that first.
You don’t need a super high end CPU either, even the lower end CPUs today are up to the task. Diminishing returns start setting in after the midrange, being Ryzen 5 (5000 series) and Intel i5 (10/11 series) options, so even though the higher end options will perform better and last longer before needing another upgrade, don’t let yourself think it’s a requirement.
Something else worth thinking about for streaming performance is your storage. That might seem unexpected at first, but if you’re playing games and you have them installed on the same drive as your OS, you can potentially run into more performance issues than you would otherwise.
Many people already have two drives in their system, and it’s usually a combo of a small SSD and large HDD, so it’s often best to keep games on your secondary drive in this case. Of course, it’s best to have your OS installed on an SSD, and games also benefit from being on an SSD, but the vast majority will still be fine on an HDD as long as you can tolerate longer load times. SSDs are getting cheaper and cheaper though, so try to get one if you can.
If you want to record your streams locally as well, it’s even worth considering having a third drive to record the footage to, because recording footage to the same drive as your OS or games can also lead to performance problems you wouldn’t otherwise encounter. Not always, but it’s possible. You could also end up filling the recording drive completely, and if that’s your OS drive, you’re in for a world of hurt as your entire system will slow to a crawl.
You absolutely don’t need an SSD for recording though, it’s fine to cheap out on a third drive, even the slowest HDDs made today are more than fast enough for recording purposes. External drives can sometimes work fine, but they also come with more potential problems like limited USB bandwidth, connection loss, or poor write performance for one reason or another, so an internal drive is always preferable if possible.
If you only have two drives and can’t get a third though, it’s more important to record to the drive that doesn’t have your games on it than anything else. Be very mindful of your available space if you decide to record to your OS drive. A better solution in this case though would be to install only a handful of games at a time on your OS drive and record to your secondary drive. Try to never exceed 80-85% usage on any of your drives for the sake of performance.
As a final note on PC hardware, you do NOT need a second PC for streaming. If your computer is old or low spec and you already have a second computer, you’re welcome to use it as a dedicated streaming PC if you want to, but I strongly believe that it is not necessary for anyone. It’s almost always cheaper to upgrade your current PC than to build and run a second one, and it’s less hassle. There are limited benefits with a setup like that, but they aren’t worth the cost for the vast majority of people. For that reason, I won’t cover how to set up a second PC for this purpose. If you’re adamant on running a second PC though, check out this video instead.
Also, as a side note that should really go without saying, you need a decent internet connection for this. Consider an upload speed of 5 Mbps to be the bare minimum, but anything past 10 Mbps is comfortable. More important than raw speed though is connection stability, because you need to be able to deliver that speed constantly without dropping out. For that reason, unless it’s absolutely not possible, you should always use an ethernet connection instead of wireless.
There are a ton of peripherals out there marketed specifically towards streamers, and I’m here to tell you that the majority of them are overpriced to take advantage of you, many are altogether unnecessary, and you don’t actually need any of them. You can have a good stream with nothing but your basic mouse and keyboard.
However, many of these things do exist for good reason and have their benefits, like the expensive yet wonderful Stream Deck, but I’ll let you do your own research and make your own decisions on those things. Every setup is different after all, do what works for you. Personally, I could probably get two Stream Deck XLs and fully utilize all the buttons, but I know some people wouldn’t even use all the buttons on a Stream Deck Mini.
The biggest recommendation I can make on this front though is to get a second monitor if you don’t have one already. It doesn’t need to be expensive, it just needs to work. Having a second monitor is extremely convenient for streaming since you can have OBS, your stream dashboard and chat, and anything else you have open in the background displayed on that monitor, always visible no matter what you’re doing.
The benefit of an extra monitor extends to just about everything else you do as well, aside from streaming, so be careful, because you’ll never be comfortable with a single-monitor setup again after you upgrade. You can pick up a brand new 1080p monitor for as little as $100 before sales, but I’d recommend shopping used, especially if you can visit a local thrift store, unless you already wanted another monitor and planned to get a high end one. If you have limited desk space and your monitors are VESA mountable, you can get a vertical monitor arm to save a lot of space. Or a horizontal one. Whatever works for you.
For a little bonus side note, if you’re worried about keyboard noise being picked up by your microphone and you use a mechanical keyboard, pick up some O-rings and put them on your keycaps. It’s a tedious job, but it works well. Alternatively, if you’re looking to upgrade the whole keyboard for this reason, look for silent switches. As in, they have the word “silent” in the name. To my knowledge, Cherry, Kailh, Zeal, and KBDFans all have options for that. Non-mechanical keyboards will always be among the quietest though, so if you value quiet more than feel, get one of those.
Not everyone streams with a facecam and you absolutely don’t have to if you don’t want to. But if you do, keep a couple things in mind. You have absolutely no need for a super high resolution camera since a facecam will always be a tiny part of the screen, and even if you intend to stream a camera-only view, you still don’t need anything crazy. You also absolutely do not need 60 fps on your camera. Sure, a higher framerate is nice to have, but 30 fps is perfectly adequate. Use what you’ve got if you already have a webcam.
With that in mind, there are a lot of cheap no-name webcams available on amazon, and odds are good that most of them will be more than adequate. Just look at these five very cheap ones. Of course, the tried and true Logitech C920 or C922 are also good options that you may never have to upgrade if you want a recognizable brand name, but they’re relatively expensive.
Anything more expensive than that for a webcam is going to be a waste, because even the highest end webcams are still webcams, and they aren’t amazing. If you want better quality, you would be better off with a full-on camera like a DSLR or a GoPro or something along those lines. As long as it has a clean HDMI output so you can plug it into a capture card, you can use it. I’d recommend against doing this unless you already have something like that at home and know how to use it though, because it won’t be worth the cost for most people, so I won’t talk about that further.
Another option that is very much worth considering is using your phone as a webcam instead. If you have a relatively new smartphone, chances are that its front facing camera will be equal to or better than any reasonably priced webcam you could buy, and the rear facing camera is better still. As long as you can keep it charged for the length of your streams, this is a fantastic option that could cost you nothing.
Simply visit VDO.Ninja in your phone’s web browser, tap “Add your Camera to OBS” and choose your front or rear camera, tap start, and add the link displayed on screen to OBS as a browser source. If you don’t know what a browser source is, we’ll get there. You can use this website to easily collaborate with people by adding their cameras or screens to your stream as well.
Mounting the phone in a good position is more of a challenge than setting it up with OBS. You can get creative with coat hangars and tape if you don’t have a tripod or something to set it on and want to keep the cost at zero, but phone tripods are cheap on Amazon and cheaper still on AliExpress.
As a final note on this, you might want to avoid it if your phone is prone to overheating or you plan on streaming for several hours at a time. If you have an old spare phone, you may want to use that one instead to avoid the wear on your main phone’s battery. It might even be worth buying an older used phone just for this purpose if you can find one for around the price of a Logitech webcam or lower, which is very doable, especially since for this purpose it doesn’t matter if it’s locked or unlocked or whatever.
Lighting and Camera Settings
Now, here’s the thing. There’s actually something far more important than your camera for having a high quality video. Lighting. Even a crusty old webcam can be dramatically improved with good lighting, which is a huge part of why I don’t recommend spending a lot on a camera. Your room probably has a light in it, so turn it on.
That might not be enough though, so you can pick up any ring light on Amazon for under $30 and mount it behind your camera, or even any desk lamp for less money, or a clamp light if you’d rather not take up your desk space. If you go with a lamp, just stick a sheet of paper or two (wax or parchment paper if it’s a halogen or incandescent light, even though it shouldn’t be,) over the bulb to diffuse the light, or point it at your wall instead to bounce the light onto you. White paper lanterns are also a cheap, great way to fill a room with diffused light.
An ideal setup would be to have a ring light behind the camera, and a lamp on one side in front of you, plus another light source behind you opposite to the lamp. These make up the key light, fill light, and back light of a standard three-point lighting setup, and the difference this makes is dramatic. The key light should be the brightest of the three, and you should look for “daylight” lights with a temperature between 5000K and 6500K. If that isn’t listed on the lights you see or you don’t know what it means, just look for white light and you should be fine. If you have stuff in your background or a greenscreen, you may even want a fourth light pointed that way to make it clearer and better separated from you.
After you set up your lighting properly, your image might look a little washed out, but that’s okay, it just takes some tweaking to fix. You can control the camera settings from within OBS by right clicking the video capture source and clicking properties. We’ll cover OBS sources properly later, but the settings in this menu are pretty universal to cameras.
Firstly, you can set the resolution and FPS to specific things manually. Some webcams default to low resolutions like 800×600, and too high of a resolution can create more CPU overhead than necessary, so I’d recommend setting this to 1280×720 at most. Set the FPS as high as you want it, but some webcams may lose image quality at higher framerates, so don’t be afraid to lower this to 30 if needed. Video format varies, you can experiment with that if you want.
The main thing we’re here for is the Configure Video button. Click on that and you’ll get a very bland window full of sliders. This is what will save you.
First, and most importantly, uncheck Auto next to White Balance. This is the magic slider that will fix the majority of your image color issues, so move it around until your image looks good and natural. This will be different for everyone, so you’re just going to have to experiment. You can experiment with the other sliders too if you want to touch it up a bit more.
Next, in the Camera Control tab, uncheck Low Light Compensation, Auto Focus and Auto Exposure as well if available and tweak those the same way. Not all webcams will allow you to do this though, as you can see in my screenshot, my webcam doesn’t have any of the functionality in that tab. Again, different for everyone.
Once you have the settings down, you should take screenshots or notes of what you did, because some webcams – namely, Logitech – don’t actually save these settings properly. If that happens, you’ll need to set these again next time you start OBS. Alternatively, your webcam may have its own settings on your computer, or its own separate driver with a control panel. If that’s the case, make these changes there instead as best you can. Yet again, it’s different for everyone.
You may have heard someone say that audio is really important for a stream before, but I’m going to be frank with you. That’s a drastic understatement. Audio quality is THE MOST IMPORTANT part of your stream’s technical aspects. You can’t change my mind. I mentioned at the start of this guide that many people would choose a worse looking stream if the person behind it was more engaging, and audio is a massive part of that, especially considering that there are a lot of people that don’t actually watch at all, only listen to streams. If there’s one thing you probably should spend some money on, it’s this, but you can actually still get fantastic results for fairly little money.
Step one: Don’t buy a Blue Yeti. That’s it.
Okay, let me explain why since I’ve seen people get angry about this suggestion. The Blue Yeti is not a terrible microphone, it’s a terrible $130 microphone. The Yeti Nano isn’t much better for the money either. Sure, they have decent sound quality, so if you have one already you should use it. With that in mind, don’t take this personally, but they absolutely do not justify the price with sound quality. Much of the price instead seems to get you build quality – and this thing is MASSIVELY overbuilt – and brand name recognition. You can do better, and I’ll give you options.
I’d also like to mention that anyone striving for quality audio should avoid gamer gear at all costs. It’s not made with quality audio in mind – and I mean studio equivalent quality, not just “it sounds good to me” quality – it’s made to appeal to convenience and aesthetic more than anything else. It’s often overpriced and cheaply made. If price is a big sticking point for you but you still want to do better, look for used studio gear, you’ll get vastly more bang for your buck in both audio quality and build quality. Don’t be afraid to look around for used studio equipment if you want the most for your money, especially if you manage to find the expensive things recommended later in this post for cheap.
But before we get to that, I have some much more important advice for you.
By far the most important thing you can do for your audio quality actually has nothing to do with your hardware, it’s your room and how you set the microphone up.
First things first, the obvious. If there are any sources of noise in your room that you can get rid of, do so. Turn off anything that isn’t essential, and close windows and doors. If you’re not in a closed room, it’s even more important, so make sure your fridge isn’t rattling and your dad isn’t watching the game on the TV behind you.
If your room has a reverb/echo problem, a common thing people do is go on amazon and search “sound foam” then buy as much of the cheapest stuff as they can and cover the walls completely with it. Well, those foam panels aren’t nearly as effective as you may think they are. Those panels do help a little bit with reverb, but you know what else does that? Stuff. You can just fill your room with as much stuff as possible – preferably stuff with porous materials – and the reverb will be noticeably reduced. This is because the sound is diffused by having so much more surface area to bounce off of in lots more directions, or simply be absorbed by. You don’t need foam. It’s often used as more of a decoration than a functional item, and wouldn’t you know it, a lot of foam is grossly overpriced as a result. Looking at you, Elgato.
Also, you especially don’t need one of these things, because not only do they do quite little in general and are nearly useless on their own, they’re also entirely useless in any situation other than a proper vocal recording session, with you facing directly at it from the front, only a few inches away… meaning that if you plan to stream from a computer and you still want to be able to see what you’re doing while properly using one of these, you’re out of luck. Do not buy these.
If your room really needs sound treatment, three of the most effective things are carpets or rugs, thick curtains, and blankets. Throw a rug down if your floor isn’t carpeted, cover your windows with a nice heavy curtain, hang a blanket or two up on your walls, and that will do more for your acoustics than cheap acoustic foam ever could alone. Naturally, streaming from your bedroom gives you a big advantage here automatically. If you want to cover some wall space this way but don’t have any spare blankets, moving blankets are a cheap and very effective option for sound absorption. Even folded bath towels on the wall can be more effective than foam in some situations.
If after all that you’re still adamant that you need dedicated acoustic material, get something like these acoustic panels – or make your own for far less – instead of basic foam. Panels like this come in many sizes and they’re significantly more effective than foam when placed strategically on areas that sound reflects off of the most. I don’t believe you’ll need acoustic material unless you’re streaming from a bathroom, concrete garage, or totally empty square room, but I’m not the boss of you and nobody can complain if you care about your audio that much.
Your voice doesn’t travel in one straight line, it travels outward in all directions. With that in mind, the most useful areas to place acoustic material tend to be in front of you, directly beside you, and in the corners between those areas to absorb all of those early reflections from your voice. Bass traps are made specifically to go in the corners and are very effective, but for our purposes, it’s just as good to mount your panels at a 45 degree angle, leaving an air gap all the way to the corner behind it, or even just mounting two panels flat on the walls that physically meet in the corner.
Placing material behind you to absorb later reflections can be useful as well, but is less immediately valuable since most of the sound that would have reflected that way should already have been mostly dealt with by what’s in front of and beside you. Hang some panels from the ceiling if you want to get really crazy, that could be equal to or better than covering the wall behind you, depending on the size and shape of your room. If you have a sloped ceiling though, don’t bother, that’s already a blessing for room acoustics. Unless maybe you’re in an attic, the ceiling is very low, and you’re facing the slope, then you may want to treat that part of the ceiling the same as the wall beneath it.
There is no need to cover entire walls top to bottom with acoustic treatment, and that can actually make your voice sound worse in some cases by absorbing too much of the higher frequencies and making you sound sort of muffled. A room like that isn’t nice to be in either, and if that’s your bedroom, you’ll regret it.
If you want a professional perspective on this matter that has actual visual aids, check out this article.
As a very important closing note, bear in mind that NONE of what’s been mentioned here is soundproofing, it is sound treatment. This is a very important distinction. Sound treatment improves the acoustic quality of a room by reducing reverb and echo, but does not block sound from entering or escaping. Soundproofing is the opposite, and is typically much more expensive and difficult. If you are in your bedroom and the issue is too much sound getting in even with your door closed, then seal your door and maybe your windows too, and if you still need more, use an actual soundproofing product on them. That’s pretty much the best you can do for DIY soundproofing without tearing out your walls.
After the room has been considered, the single most important thing that will solve most of your problems is microphone placement. Make sure you know where the front of your microphone is and point it directly at your mouth, then place the microphone between 4 and 12 inches from your mouth. Of course, it isn’t always possible to achieve that ideal, but you should aim to get as close as possible to it. If you use a dynamic mic, it could even benefit from being slightly closer than that. Keeping your microphone close allows you to run a lower gain, reducing background noise, and also gives your voice more bass due to the proximity effect. Experiment with the distance to get different sounds.
The next biggest thing you can do for your setup is to set your gain properly with the knob on your microphone or interface, or somewhere in your system settings if there is no knob. Too high and your voice will clip and distort and sound terrible, too low and you’ll have to raise the volume so much in post that you might find a constant hissing sound in the background.
A decent place to start when looking for the right gain setting is to place the microphone in its final spot, then speak at a normal volume and adjust the gain until your meter reads around -15 db. After that, shout or speak as loudly as you think you ever will on stream to see how close you get to 0 db. If there’s a lot of headroom left, you can turn the gain up more if you want to, and if there’s very little headroom left, consider turning it down. OBS has a meter built in that you can use. If you want to learn more about what gain is and why it’s important to get right, here’s a great video on it by Podcastage, probably the best channel on YouTube for knowledge about microphones and interfaces.
The third big improvement is to either get a pop filter, or move the microphone off axis to avoid plosives. Plosives are the loud popping sound that happens when you pronounce the letter P into the mic. Pop filters diffuse the wind to kill that sound, but if you don’t want to or are unable to use a pop filter, simply moving the mic to the side a bit and pointing it at the corner of your mouth (that’s off axis) can also solve the problem by avoiding that wind entirely. You may want to move the mic slightly closer to compensate for the volume difference either way.
And the final solid improvement you can make here is to get your microphone off of your desk by mounting it with a stand or a boom arm. Ideally you would also fit the mic into a shock mount for even better isolation. It’s not always necessary, but I highly recommend it. If you do that, make sure you get a shock mount that’s compatible with your microphone, one size does not fit all here. The point of this is to isolate the microphone from any vibrations on your desk, like from typing, or from the floor. While it won’t eliminate such noise on its own, it will make a huge difference. You can DIY a shock mount too if you’re crafty, all you need is some rubber or elastic bands and something to hold them taut so you can suspend the microphone inside them.
While USB microphones can sound great and are undoubtedly convenient, that comes at a cost. They quickly start to become too expensive for the audio quality they provide, because of the fact that the microphone must include a built in audio interface, preamp, and power source. They’re also less versatile than XLR microphones, and USB cables aren’t nearly as good at combating interference as XLR.
None of this is to say that a USB microphone is an inherently bad purchase, just to keep in mind that you probably don’t want to spend too much on one, because that money would be better spent on a better setup. Fortunately, there are some inexpensive USB microphones that will serve you very well.
An important tip: For all USB microphones, make sure you disable AGC (Automatic Gain Control) in the Windows sound control panel. This is also where you’ll adjust your microphone’s gain if it doesn’t have a physical gain knob on it.
At just $30, the FIFINE K669 is an incredible value for money with audio quality that punches above its weight, and for $10 more, the FIFINE K670 is pretty much identical but with a bit more bass. To get the most out of them, they should be kept between 4 and 8 inches away from your mouth, and off axis due to their high sensitivity to plosives. Don’t get the T669 though, it’s identical to the K669 but with a poor quality shock mount included that you shouldn’t use, making it a waste of money.
For $50, there’s the CAD Audio U37, a noticeable overall upgrade over the FIFINE options that’s more resistant to plosives, so you don’t have to mount it as far off axis from your mouth. Another option at the same price is the Razer Seiren Mini. I never would have expected a Razer product to be both high quality and reasonably priced, but here we are. This one has a supercardioid pickup pattern, so it will be a bit better at rejecting background noise than the others here.
For $70, there’s the Samson Meteor, another solid overall upgrade over the previous ones listed. Equivalent quality to the Yeti at half the price and size, and it has a headphone jack, so you can monitor your voice with no latency. The one downside is that despite its small size, it has big fixed legs that might be a nuisance to you when you attach this microphone to a separate arm, which you absolutely should since those legs do you precisely zero favors.
Now, at the upper limit of what I would consider spending on a USB microphone, we have the Rode NT-USB Mini at $100. It’s hard to say this for most USB microphones above this price point, but the audio quality delivered by this one is truly worth every penny, they put all their focus into that aspect. As a result, the stand isn’t very good. That’s the only downside. It even has a built-in pop filter. Personally, this would be my pick for USB.
If you’re absolutely committed to a USB microphone and don’t plan to ever upgrade to an audio interface for XLR though, you can take a look at the Samson G-Track Pro at $130. For the same price as a Yeti, you get more in all respects without any sacrifices. Quality is solid, the headphone output is solid, and you can even plug a guitar into it and record it and your voice on separate tracks simultaneously, because wouldn’t you know it, this microphone actually is an audio interface!
Those are all condenser microphones, but if you’ve got some background noise you can’t get rid of, they will all pick it up quite clearly. You can mitigate it somewhat with software, but in that situation you might be better off with a dynamic mic instead. These need to be placed as close to your mouth as possible to make the most of, and often require quite a lot more gain than a condenser, but in exchange they are excellent at background noise rejection.
At $30, there’s the Pyle PDMIDCUSB6 delivering fantastic quality for the price, but if you want more, you can try the Samson Q2U for $70 or the Audio-Technica AT2005USB for $80, both of which will deliver some of the best audio quality you can get in a dynamic USB microphone before diminishing returns kick in and you would be better off with XLR.
XLR Microphones and Interfaces
I recommended ten USB microphones, so I’ll recommend ten XLR microphones as well. However, I’m not going to bother telling you about the features of each one this time, because every single one of these will perform equally or better than any of the USB options.
With one exception. At only $35, the Behringer C-1 is an insane value for money. This is only an exception because I don’t think it can quite match the $100+ USB options. I can’t call that a negative though, not at all.
Beyond that, you get what you pay for. For the most part, more money means more quality. Audiophiles, look away and pretend you didn’t read that, but the differences between these microphones are like splitting hairs to most people. If you’re interested in that level of detail, feel free to do your own research, but I see no point in explaining it here when you can’t go wrong anyway.
At $70, you’ve got the PreSonus M7. At $80, you have the Samson C01 and the MXL 770. At $100, you have the sE Electronics X1 A and the Audio-Technica AT2020. And finally, at $150, there’s the AKG P420. Those are all condenser microphones, and they will require 48v phantom power. If you want a dynamic mic, there’s the Shure SM48 at $40, the Shure SM58 and sE Electronics V7 at $100, and the Q2U and AT2005 from the USB mics happen to also have XLR connectors. Unlike condenser mics, dynamic mics will not require 48v phantom power. Personally, I would take the MXL 770.
Something to keep in mind about XLR microphones is that unlike USB, cable quality is quite important and can noticeably affect the audio. The effect isn’t on the tone or quality of your voice though, it’s about mitigating electromagnetic or radio interference in the signal. Because of that, you should avoid cheap no-name cables. Generally, with reputable brands, a higher price means higher quality, but for our purposes, anything over the midrange is overkill. I’d recommend the LyxPro Quad series, Hosa Pro REAN, Rapco Horizon N1M1, and Mogami Silver cables. Go with the most you’re willing to spend here.
To run an XLR microphone, you need an audio interface. They convert the analog XLR signal to digital for your computer, and provide 48v phantom power when you need it. This is something that you will most likely never upgrade, so while I am going to show you some very low priced options, you should strongly consider spending as much as you can here, because this is another case where for the most part, higher price means higher quality. That said, any of these will be more than adequate. They all ultimately perform the same function, so I won’t describe them, only list them.
Behringer UMC22 – $50
Behringer UMC202HD – $80
PreSonus AudioBox USB 96 – $100
Steinberg UR12 – $110
Rode AI-1 – $130
Audient EVO 4 – $130
Roland Rubix 22 – $160
MOTU M2 – $180 (My personal choice)
Steinberg UR22C – $190
Zoom UAC-2 – $250
If you search for these on your own, you will probably find studio bundles that include a microphone and accessories plus some headphones. Feel free to grab one of those, they can save you a good chunk of money while still getting you quality stuff. If you don’t get or don’t want new headphones though, pick up a 3.5mm to 1/4″ adapter to plug the headphones you have into the interface, that way you can take full advantage of it. If you usually plug your headphones into your motherboard or front audio connectors, you may notice a difference in clarity even on cheaper headphones. USB headphone users are sadly out of luck.
The keen among you might have noticed that I didn’t recommend any Focusrite interfaces despite them being some of the most popular options of them all. I will admit that they are solid hardware, so if you really want one I won’t stop you, but there’s a reason I left them off. It’s entirely possible that me and all my friends just have bad luck, but I and everyone I know who have used affordable Focusrite interfaces have had poor experiences with driver stability. I don’t think it’s worth taking the chance on that.
I also would like to mention the GoXLR devices, because while they aren’t bad in any way, you absolutely do NOT need one. They are very expensive for what they are. It’s possible to get a great interface, a great mic, great headphones, and all the accessories you need for the same price or even less than the GoXLR costs on its own, especially if you shop used. I won’t stop you if you have money to burn, but because of price alone I absolutely do not recommend them, especially when we can also nearly match all of its extra features with free software, which will be covered later.
As a final note on XLR microphones, you may have heard of the Shure SM7B and how amazing it is. Well, it’s true, it is an amazing microphone, but you really need to set it up right to get the most out of it, and the difference between it and most of the microphones I recommended won’t be noticeable to most people provided you set them up well, so it’s not worth the cost to the vast majority of people.
I encourage you to learn more about high end audio on your own if you’re interested, because I think spending more than $250 on a microphone or interface (or headphones for that matter) is a complete waste of money and hardware unless you can explain exactly what your needs are and why a certain device meets those needs. Audio is a rabbit hole, be careful not to fall too deep unless you have a deep interest. Like I said at the start, don’t overspend, don’t overthink.
For some cases, a standard condenser or dynamic microphone won’t suit your needs. That’s alright, we’ve got options for that.
If you’re unable to mount your microphone close enough to your mouth and you’re willing to spend a bit more, you can consider a shotgun microphone like the TASCAM TM-200SG at $150, the Audio-Technica AT875R at $170, or Rode NTG-1 at $250. These can be placed quite a bit further away than the average condenser microphone without sacrificing audio quality while still maintaining a decent amount of background noise rejection.
If you prefer headset-style microphones, do yourself a favor and don’t buy a headset. Instead, buy a proper set of quality headphones and stick a detachable microphone to it. The Audio-Technica ATGM2 and Antlion Audio ModMic USB are both exceptional for what they are at the same $80 price, but if you’d rather spend less, you can’t go wrong with the ModMic Uni with nearly the same quality for $50.
If you want to stream IRL content and be able to move around a lot, or you just don’t want a microphone on your desk or your face, you can consider a lavalier microphone like the Sennheiser XS Lav at $50, the Rode Lavalier GO at $80, Beyerdynamic TG L58C at $150, or Audio-Technica AT831b at $200. These are more complicated to set up though, so unless you know – and can explain why – these are definitely what you need, you probably don’t need these.
First things first, we’re going to use OBS Studio, NOT Streamlabs OBS. It may be tempting to use SLOBS because it’s “easier to use,” but truthfully, it doesn’t make nearly enough of a difference in that regard to make up for its drawbacks, such as increased system resource usage(!), no ability to use plugins(!!!), slower updates, and sometimes more technical difficulties than you would otherwise have. Plus, probably the best feature of SLOBS is undo/redo support, which just got added to OBS Studio in version 27.0 anyway.
If despite all of that you choose to use SLOBS anyway, more power to you, but it’s not my recommendation and I can’t guarantee that everything here will work the same or apply at all for you.
Also, there’s something really cool that OBS Studio has that gets overlooked extremely often for some reason. A wiki. That wiki even has not one, but two quick and simple guides on how to set up OBS for beginners! Of course, that’s not stopping this and every other guide from existing, but keep that in mind, because chances are if you have any more specific questions about some part of OBS that aren’t covered here, the wiki may have your answers.
Level -1: Where to Stream
Most people think first of Twitch when you mention streaming, which makes sense. You have other options though, and it’s worth considering them now so you don’t have to think about it again.
The most immediate alternative would be YouTube, which comes with the unique benefit of allowing you to stream at very high bitrates and resolutions without alienating viewers on slow connections. Facebook is usually the next thing that comes to mind since Facebook is huge and it absorbed a lot of streamers from Mixer after it painfully shut down.
There are still other choices. There’s Trovo as a straight up Twitch alternative, Picarto for primarily creative content, and if you’re a musician, internet radio host, live podcaster, or anything like that and you’re subscribed to Mixcloud, you can stream there too. Some of these might take some investigating before you decide to use them, and there are probably even a couple other decent options that I haven’t listed. If you don’t like Twitch for any reason, you don’t have to use it, that’s for sure.
You also don’t have to commit to a single platform. You can stream to any combination of these places – even all of them – simultaneously, for free, using Restream. Some say that’s a good idea to attract more potential viewers, others say it’s a bad idea because it’s bad for business for some reason, I say do whatever you like the sound of the most. The main caveat with using Restream is that if you connect Twitch to it and you later become a Twitch affiliate, you have to stop using Restream, because Twitch affiliates and partners are contractually obligated to stream exclusively to Twitch. No other platform has that restriction though.
Personally, I’d recommend using Restream because even if you only want to use Twitch, you can multistream to YouTube and use it as an extra backup of your VODs just in case your local copies get corrupted or lost. I also like multistreaming more than Twitch affiliation.
Level 0: First Time Setup
If you haven’t already, download OBS Studio and install it. It will create a desktop shortcut for you, and before anything else, I want you to right click on that and click on Properties. In the Compatibility tab, make sure “Run this program as administrator” is checked, then hit OK. There are a few problems that can be caused by forgetting to run OBS as administrator, so this will prevent them. You can do the same thing with the shortcut in the start menu if you prefer.
Launch OBS (or close and reopen OBS if it launched itself before you changed the shortcut properties,) and you should be greeted with the auto configuration wizard. If it didn’t appear, click on Tools at the top of the window and then click Auto-Configuration Wizard. Make sure “Optimize for streaming” is selected, and click Next.
The base resolution defaults to 1920×1080, which is perfect. However, if you have a higher resolution monitor and you want to record local footage at your full resolution, feel free to change this to something higher. Make sure it’s a 16:9 resolution though, like 1920×1080, 2560×1440, or 3840×2160. Bear in mind that it will cost you slightly more system resources if you do that though, so you may want to avoid higher base resolutions or even set it to something lower if your computer is particularly low spec.
Now connect your account with your service of choice. After logging in, you’ll have a couple of options. Make sure to UNCHECK “Prefer hardware encoding” – Die-hard Nvidia fans, please bear with me on this (and read the Level 1.5 section for reasoning) – and leave “Estimate bitrate with bandwidth test” checked, then click next again and wait for the test to complete.
After the test is done, it will show you the settings it chose. Hit the apply button and you’re probably good to go, all that’s left is adding sources. No, seriously, it’s that easy.
In my screenshot, OBS chose to rescale my stream to 1280×720. This is a good thing. If you have any desire to stream at 1080p, put that out of your mind now. Encoding a watchable 1080p stream at 60 fps with an acceptable bitrate is very hard on a computer, and frame rate is far more important than resolution if you’re streaming games, so 720p is ideal for everyone without a high end setup and transcoding available.
It takes a much higher bitrate for 1080p to look decent. On Twitch, unless you’re partnered, you will likely never have transcoding – what allows viewers to view lower resolutions – available to your viewers, so they’ll only be able to watch at the resolution and bitrate that you stream at. Many viewers don’t have a good enough connection for 1080p and 60 fps, so they’ll be buffering a lot, and they’ll leave. 720p at 60 fps is the best balance between bitrate, resource usage, and video quality for the vast majority of people, so use it. Even if you’re not streaming fast paced games and want to prioritize resolution, I’d still only recommend 900p (1600×900) at most, potentially at 30 fps.
Audio is more important than video though, so to add one little step after this, I highly recommend clicking on the Settings button in OBS, going to the Output tab, and increasing the Audio Bitrate to at least 192. The default of 160 is acceptable at least, but since you have the ability to do better, why not? You can increase it to the maximum of 320 on Twitch if you want to, but 192 is the point where many people stop being able to tell the difference in quality. If you have a particularly slow connection and you’re only streaming at 2000 Kbps or less, consider 192 your maximum so you can squeeze out a little more video quality from that limited bandwidth.
If for whatever reason you find that this auto configuration isn’t good enough for you, or it’s done something wrong, Level 1.5 of this guide should solve your problems, but if it doesn’t, Level 5 will be what you’re after.
Level 1: Basic Levels, Sources, and Scenes
First things first, check and make sure your audio is working. Play some music or something and make sure the Desktop Audio meter reacts, and the Mic/Aux meter to your microphone. If either of them aren’t reacting, click on the cog wheel next to the volume slider and click Properties, then change the device to the correct one.
Take this opportunity to set your levels as well. Speak loudly and adjust your microphone volume (on the microphone itself, in the control panel, or in OBS) until the meter is somewhere in the bottom of the red section, between -9 and -6 dB.
If you can’t quite get it that loud, don’t worry, we can fix that in the Level 2 segment. You can just set it as high as you can and work with that if you want to, but I’d highly recommend going through that section to solve this problem properly.
I know that’s the red zone, and red usually means bad, but I promise you this is correct. From the perspective I have as someone who works extensively with digital audio, I strongly disagree with the OBS wiki and many other guides on this matter. Many people set their microphone in the middle or even the bottom of the yellow, and their streams are ridiculously quiet. If any viewers complain that it’s too loud, you tell them to turn their volume down, they might even be giving themselves hearing damage with other things on the regular without realizing it. Heck, YOU might be doing that if you feel these levels are too loud yourself!
After you set your microphone level, play some music or something and adjust your desktop audio level to be a bit below your voice at normal speaking volume, just enough to be noticeably lower. You won’t be adjusting your microphone volume much – if at all – from now on, but your desktop audio might require periodic adjustments as certain things can be louder or quieter than others.
The only thing you really need to worry about when it comes to being “too loud” is clipping, which only happens when audio hits and exceeds 0 dB, and – provided that your hardware setup is good – we’re avoiding that by keeping everything below -6 dB already, which leaves plenty of headroom in the final mix on stream.
The reason I believe your levels should be as high as I said is that it’s easier for a viewer to turn you down than it is to turn you up. Twitch even defaults their volume slider to 50% for some reason, only making it worse if you’re too quiet and making the people that complain about it being too loud seem even crazier.
Finally, click on the plus icon under Sources and add whatever you want. If you’re using your phone as a webcam as covered earlier, this is where you add a browser source and input the URL provided by VDO.Ninja. If you’re capturing a game, you should always try the Game Capture source first, but on the rare occasion it doesn’t work, Window Capture should with at least one of the capture methods available. Display Capture won’t pick up true full screen games, but will capture the entire display for everything else.
If the source you just added doesn’t fit the screen properly, it’s a simple fix. Right click on the source, roll over Transform, and click Fit to screen. Simpler still, you could just click on the source and press Ctrl+F on your keyboard, which is something I didn’t know until I wrote this. Neat.
You can also scale the sources by dragging the corners of the red box on the preview window, and if you hold shift while dragging, it will either preserve or ignore the aspect ratio depending on the source. Of course, moving sources is as simple as clicking and dragging, and you can hide/unhide them by clicking on the eye icon next to the source.
Side note, when it comes to Game Capture, I recommend only using a single source even if you plan to play many different games. Either set it to “Capture foreground window with hotkey” and configure a hotkey for it (covered below) or “Capture specific window” and manually select the game in OBS every time. For Window Capture, similar story, stick to a single source and manually select the game in OBS every time. Keep your sources minimal.
Now for scenes. In as few words as possible, a scene is a collection of sources.
By making multiple scenes, you can toggle between them easily with hotkeys, and if you’re prepared well enough, avoid the need to use your mouse on OBS during your stream entirely. A common setup is to have a main scene, a “BRB” scene for taking breaks, and an intro/ending screen, but you can do whatever you want.
Just click the plus under scenes and name it, then you can add sources to it.
But what if I told you that a scene can also be a source? This can be useful for a few things. For instance, if you use a camera and want it to appear in multiple scenes, you can’t just add multiple video capture device sources because only one will work at a time. Instead, you can make a scene with nothing but your camera in it, and then you can add that scene as a source in your other scenes. Just choose “Scene” when adding a source and then choose the scene.
Another way to accomplish that without a dedicated scene is to add a video capture device source, but click on Add Existing and select the original. This will make a copy of that source, so there’s only actually one active source accessing your camera despite displaying more than one.
Be aware that if you want to add filters or crop your camera differently per-scene, you can only do so by using a dedicated camera scene and adding that scene as a source. If you add copies of the video capture device source like I just described, all filters and cropping you do to one source will affect all the other ones as well.
To control these things with hotkeys, click Settings again and go to the Hotkeys tab. You can set hotkeys for starting/stopping the stream or recording while you’re at it. Everything in here is pretty self explanatory, just set whatever hotkey you want for whatever function you want. When a pair lights up red, that means that you can set the same hotkey for both functions to make it work like a toggle. Check back here as you add more stuff, because more stuff means more hotkey potential if you’re into that.
Just don’t go too crazy with adding scenes or hotkeys. You’ve got to be able to remember them all.
Once you have all your scenes and sources in place, you’re nearly ready to go.
As a little bonus tip, I recommend enabling the stats view in OBS so you can see more details about what’s going on at any given time. This is especially useful when trying to figure out why you’re dropping frames, and just how many you’re dropping. You can do this by clicking View on the top left and then on Stats. Alternatively, you can enable the stats dock and rearrange your OBS to your liking to keep everything in a single window.
Don’t start streaming just yet though. You actually can and should test your stream offline first.
Level 1.5: Offline Testing and Recording
Offline Streaming Test
Click on the Settings button, then click on the Output tab, and change Recording Quality to “Same as stream” then click OK. You can change the recording path to whatever you want as well. Make sure that wherever it is, you know where to find it easily so you can quickly access your recorded videos. Make sure the format is MKV as well. I’ll explain why at the end of this section.
Now when you click on Start Recording, it will use the same encoding settings as you would for a stream. So, host yourself a practice stream for a couple of minutes and record it, then watch the video and check how it looks and sounds. If you’re streaming games, do your test recording with the most graphically demanding, fast-paced game you have so you can test the worst case scenario.
If the video quality is a little too crusty, go back to the output settings and check “Enable Advanced Encoder Settings,” then change the encoder preset to the next one down. If it defaults to “veryfast,” try “faster” and test again. This will induce more CPU usage though, so keep that in mind. Diminishing returns set in quick after this point, so even if you have a ridiculously powerful CPU, I don’t recommend ever going beyond the “medium” preset.
If your test clips come out looking choppy or laggy even though you didn’t notice any poor performance while recording, first ensure that whatever you’re doing is at the correct fps. If you’re playing a game, make sure it’s locked at either 60 fps or a multiple/division of it (30, 120, 240,) no higher or lower (so no 144, 90, or 75). If your frame rate is different to what you’re recording at, it looks like you’re dropping frames because you literally are. If it still looks choppy after correcting that, try going to the Advanced tab in the settings and change Process Priority to High.
If you still want to squeeze out more quality after testing the different encoder presets, you can increase the bitrate. Twitch supports a maximum of 6000 Kbps, but I don’t recommend going any higher than 5000 Kbps for the sake of viewers with slower connections. You should aim to keep the bitrate as low as you can stand for that reason, some people even go as low as 2500 Kbps, though I’d recommend also dropping to 30 fps if you go that far, just to avoid sacrificing too much visual quality.
However, if you’re streaming on YouTube, they support basically any bitrate you want and your stream will always have transcoding available for viewers, so if you really wanted to and you have the computer for it, you could stream to YouTube at 4K 60 fps with a bitrate of 50,000 Kbps and it would be fine, and people with slow connections could still watch.
Regardless of platform, if your upload speed is only 5 Mbps, I’d recommend setting your bitrate no higher than 4000 Kbps, because you need to leave room for other network traffic.
On the other hand, if you encounter problems with your computer’s performance while testing, set the encoder preset to the next one up. If you still have performance issues even on the “superfast” preset, then change the streaming encoder to Hardware and do some more tests at different bitrates. If you have an Nvidia GTX 1660 or an RTX card, don’t even bother with “superfast” and just switch to Hardware if “veryfast” still affects performance too much. If you have an older AMD card, consider comparing it to “ultrafast” as well, or use QuickSync if it’s available to you.
After you’re done testing the streaming encoder, you can move on to recording. It’s much simpler this time. All you need to do is set the Recording Quality to High, record a minute long clip, set it to Indistinguishable, record another minute long clip, then repeat again for Lossless. They’ll all look more than good enough, so compare the file size of the three clips and decide which one you’ll use based on how much storage space you’re willing to use up.
If you had to set the streaming encoder to Hardware for performance reasons earlier, don’t worry, you can actually stream and record at the same time even with both set to Hardware, though you may have to disable Nvidia ShadowPlay or Windows Game DVR if it doesn’t work immediately or performs poorly. With that said, if you have an Intel CPU with QuickSync available, you may want to use that for one task and your GPU for the other to conserve GPU resources, but the difference may be negligible, so test that for yourself.
Some people swear by NVENC quality for their streams and say it’s better than x264. The main reason I still recommend using x264 if you can is that I personally haven’t seen those kinds of results in my own testing. It’s entirely possible that using NVENC for your stream encoder is worth it even if your CPU can handle streaming at the “faster” preset, especially if you have an Nvidia GTX 1660 or RTX card, I just haven’t been able to prove it myself. But one thing I do know for certain is that if your CPU can stream at the “medium” preset, it will absolutely be a better choice, and the CPU horsepower required for x264 encoding is nowhere near as bad as many people seem to think it is. If you disagree with my recommendations, that’s fine, I only base them on my own experience, so feel free to do your own testing there.
As you test settings, if you encounter errors or performance problems that you can’t identify, use the OBS Log Analyzer. If that still doesn’t help you, the problem (in my experience) is likely to be related to your storage rather than your settings or your CPU/GPU, so you should try changing your recording destination to another drive. This is why I mentioned at the start of this guide that having three drives in your computer is worth considering.
Testing is Important
That all might sound like a pain, and that’s because it kind of is. You could skip it all if you really wanted to, but I believe that testing your setup before using it is extremely important. You should always test things as extensively as you can to make sure things are the best they can be. I know I’ve emphasized earlier that image quality isn’t as important as other things, but that doesn’t mean you should totally disregard it either. This is also a way to ensure your audio levels are good, and a way to discover many potential technical difficulties before they happen live.
With all that in mind, however, the true final test will be when you do actually go live. Streaming on YouTube can be great for this since it supports private, unlisted streams. The one and only thing that can’t be tested offline is of course, your connection quality, so if your connection isn’t fast enough or is too unstable, you may drop frames on stream even though you didn’t during offline testing. Pretty much all you can do to help that situation is to lower your bitrate, which may make it worth streaming at a lower resolution too.
Finally, about the recording format, if your computer can’t play MKV files, you have two options. First would be downloading VLC or MPV to be able to open them as they are, second would be to click on File in OBS, then Remux Recordings to bring up a window that will convert the MKV files to MP4. The reason you should always record in MKV is because if the recording suddenly stops, like if OBS or your computer crashed, the video file would still be recoverable. With MP4, you would lose it all. If you want to edit these files later, you can use LosslessCut to cut down an MKV file extremely quickly with no rendering time needed, but you’ll probably have to remux to MP4 to load them in any other editor for anything more advanced than cutting.
If you wanted to, you could stop here and have a solid, basic stream. No need for anything fancy, right?
Level 2: Basic Audio Processing
OBS makes it easy to make your microphone sound a bit better, but before you do anything here, ensure that you’ve looked through the audio part of the hardware section of this guide already, because by far the most effective way to improve your voice quality is your physical setup, not software. This is mainly polish, and you can’t polish a turd.
To start, click on the cog wheel next to the volume slider of your microphone and click on Advanced Audio Properties. In this window, make sure that Mono is checked for your microphone, and set the audio monitoring to Monitor and Output, then click Close.
Now when you speak, you should hear yourself, so you can experiment with the settings without having to record a bunch of clips. Click that cog wheel again but click on Filters this time. If there’s still a little noise in your room or your microphone makes a slight hissing noise, the first filter you should add is Noise Suppression, which should require no configuration. Aside from that, add a Noise Gate.
To configure this properly, drag both threshold sliders all the way to the left and move the window so you can see the meter in OBS. Watch the meter and drag the close threshold to the right until it’s a bit closer to 0 dB than what the meter is showing. If the meter shows nothing, shuffle your clothes a little bit or something to make a small amount of noise. Next, speak quietly and watch how high the meter goes, then set the open threshold to a bit less than that.
You don’t have to be very precise with this, just make sure the open threshold is low enough that it always opens when you start talking, and that the close threshold is high enough that it does the job. When it’s all said and done, your mic will essentially mute and unmute for you automatically and eliminate all background noise when you aren’t speaking.
Next, add a Compressor. Immediately, the first thing you should do is decrease the ratio slider dramatically, down to 3.00:1, and drag the threshold all the way to the right. Don’t worry if you don’t know what that means, just trust me on that. Now look at the meter again and speak at your normal volume, then start slowly dragging the threshold slider to the left until you hear your voice being affected or see the meter go down. This can take some trial and error. You can raise the threshold if you want less compression or lower it if you want more, but you’re going to have to trust your own ears on this. If you don’t know what to listen for, drag the threshold far to the left and see what happens when you play with the ratio.
In simple terms, the ratio is how much the compressor lowers the level of any sound that exceeds the threshold value, so you can experiment with this and find what you like the sound of best, but I wouldn’t recommend going above 4.50:1. After you have the ratio and threshold where you want them, increase the Output Gain slider until the meter in OBS is once again around the bottom of the red zone, like I mentioned in the Level 1 segment.
Attack affects how long it takes for the compression to take effect, and Release is how long it takes for compression to cease. The defaults are probably fine, but they may still be worth experimenting with if you want to make the most of this effect.
Finally, add a Limiter and set the threshold to -3.00 dB. The compressor should already be keeping your voice under control, but this will be the last line of defense to prevent any clipping – even if you scream real loud – provided you have your hardware set up right.
If you’d like, you can also add limiters to your other audio sources, set between -4.00 and -6.00 dB to prevent clipping on stream even without turning the volume sliders down. Also adding a Gain filter above those limiters set to -3.00 could then improve sound quality with particularly loud games.
If you weren’t able to get your microphone volume loud enough even after all of this, add a Gain filter and move it above the compressor, then use that to add however much gain you need to reach the desired volume. You’ll have to adjust the compressor settings again though. You should only use this if you can’t add any more gain at the hardware level.
Final note, if you used the noise suppression filter and during a test in a game you encounter performance issues, change the noise suppression method from RNNoise to Speex. The further the slider goes to the left, the stronger the noise suppression will be, at the cost of potentially distorting your voice to a degree. The further right, the more subtle it gets. Trust your ears here.
Once you’re done with this, you can open up the advanced audio properties window again and turn off monitoring if it bothers you. Of course, you should also check your levels again to make sure your voice is still clearly audible above your other audio.
Level 3: Chat Bots
Chat bots are a very simple addition you can make to your stream that can make a big difference. They can also do pretty much nothing. It’s all up to you, they’re very customizable.
Probably the most popular choice is Nightbot, and for good reason. It’s both powerful and incredibly easy to use. All you have to do is log in with your Twitch, YouTube, or Trovo account and click on the Join Channel button, then follow the instructions to make Nightbot a moderator in your chat.
Everything you can do here is either self explanatory or explained on screen, and the help documents are extensive if you need a bit more information, so I’m not going to go into any more detail on setting up this bot. It’s a good choice, and I would recommend it to anyone.
However, if you want a chat bot that does a little extra, StreamElements is worth a look. It has a lot more features than just a chat bot, but we’ll look at those later.
You can set up timers, custom commands, song requests and spam protection pretty much the same as Nightbot, but the banned words option is more powerful… and cumbersome. In the Spam Filters tab, click the edit button next to Banned Words, then click Create New Group. You can name the group, set the timeout length and whatnot, but to actually add words to the list, you have to add a word individually and click on Save next to the word. Every time, for every word. However, you also get access to regular expressions, so if you know how to use those, you can do a lot more than a simple list of words like Nightbot.
If you’re on Twitch, you also have access to the Loyalty tab, which allows your viewers to earn points by watching your stream and redeem them for rewards that you define, or run betting contests like what Twitch offers with their channel points for affiliates and partners. This feature may be coming to other platforms as well, but I wouldn’t know when.
Now let me be honest with you for a second… I actually don’t know much of anything about setting up this feature, because I don’t like it and don’t personally believe it’s worth using. If you want to use this feature and want a guide for it, you should watch this video from the StreamElements YouTube channel. For that matter, they have several other helpful videos if you’re interested.
Sorry if you expected more specific information about chat bots, but they’re so personalized that I have no recommendations on how to use them, and it’s pretty easy to figure out the basics of them, especially with Nightbot. Anything more than the basics (like the Loyalty tab) is situational, very optional, and beyond the scope of this guide.
Of course, there’s no law saying you can only use one bot, so feel free to experiment with as many bots as you’d like and use as many as you’re happy with. These are just the ones I recommend.
Level 4: Overlays and Alerts
If you want to put alerts on screen for when people follow you and whatnot, or make a fancy overlay, StreamElements is a solid option again. This is another reason to consider using the StreamElements chat bot over Nightbot, because you can consolidate the bot and your alerts into one platform.
First, overlays. You can design your own or hire someone else to do it for you, but a significantly easier option for something decent – albeit impersonal – is to use one of the many free themes StreamElements offers. Just go to the Themes gallery tab and look for one you like. I’d recommend looking at super themes primarily, since they offer five premade scenes instead of just one.
You will also notice that some are static and others are animated. You’re going to want to use static overlays if your computer isn’t particularly powerful, because animated overlays will use slightly more CPU resources, but most people should be fine either way. Check them out with the Preview button, and when you find one you like, click the Create button.
After clicking the Create button, you’ll get a collection of links. Each of these needs to be added as a browser source in OBS, in their own scene. You don’t have to use all of them if you don’t want to though. To add these to OBS, add a browser source and paste the URL in, then change the resolution to 1920×1080.
After you add the browser sources to OBS, go back to StreamElements and click on “See theme in my overlays” then click the Edit button on a scene to get editing. You’ll be met with an intimidating number of layers.
Since it’s a super theme though, you don’t have to worry about any of that. Just click on one of the elements you want to edit and then expand the Settings tab on the left to make whatever changes you want to it. Click around and experiment, it’s all up to you, but you probably won’t want to do anything more than filling in or removing social network fields, switching from 16:9 to 4:3 for the camera border, removing it, or moving it somewhere else.
If you want to get creative though, you can start with a blank slate by clicking on the Create Blank Overlay button in the My overlays tab. Set the overlay resolution to your OBS base canvas resolution (probably 1080p) and click start. Now you have a blank canvas, who could have foreseen this? Click on the “Add Widget” button on the left, or the plus button at the bottom of the screen, and examine your options.
I’ll only be saying this: The basics are largely self explanatory. To build your overlay, you can add custom images or videos in the Static/Custom tab, your stream chat in the Stream Tools tab, and all your alerts at once by adding an AlertBox from the Alerts tab. You can then configure each alert type individually, and disable whatever you don’t want from the sidebar on the left. You can also test each alert type by clicking on the Emulate button at the bottom
If you’re willing, you can put a lot of time and effort into an overlay. You can also just throw one together in a few minutes and never touch it again. I’d recommend poking around and figuring out what’s possible with the StreamElements overlay editor yourself if you want to use it, but if you want more information to get you started, have a look at this video.
Of course, if you’re making a custom overlay, you don’t have to use StreamElements at all. You can just load all your assets straight into OBS instead, and if you don’t plan on using alerts or an on-screen chat either, you can end up with as pretty of an overlay as you can make without using a single browser source, saving system resources.
When it comes to actually making a custom overlay, I’m no designer, so I’m not going to try and give any authoritative advice on how to design one yourself, but I do have two suggestions.
First, consider your own preferences as a viewer. What kind of overlay would you actually like to see in a stream? What elements would you hate? If you wouldn’t watch your own stream because of your overlay, there’s a problem. Don’t add things just because you think you should, or you heard that it was important, add things because you want them and like them.
Second, try not to take away too much of the screen. In my opinion, it’s a better idea to shrink the main content and keep it fully unobstructed than to actually cover it with things, unless, perhaps, the only other things you have on screen are a camera and maybe some small alerts in the corner, no overlay. But when shrinking the window, try to make it no smaller than about 83.5% of a dimension, or 69.5% of total pixels. So if your canvas is 1920×1080, keep the content no smaller than 1600×900 in relation.
Finally, I just want to remind you that this isn’t a necessity, it’s an option. If you want an overlay and alerts, go for it, but don’t let yourself feel like you need them. If you want custom assets for these things but you don’t know how to make them yourself, search around online, there are freely usable assets and detailed guides on how to make your own floating around out there, along with plenty of designers and artists willing to make things for you for a fee. I wouldn’t recommend buying premade overlays from stores though, because if you’re going to spend money on this at all, you should get something personal and unique to you.
Bonus tip: You can even make custom transitions for OBS. I’m not covering them because I’ve never used them, never wanted to, and therefore don’t know anything about them. There’s a page for this on the OBS Wiki though.
Level 5: OBS Advanced Output Mode
If, for whatever reason, you feel that your stream isn’t as good as it should be, or you just want to really get in there and fiddle with settings to experiment, advanced output mode is there for you. Hit the Settings button in OBS, go to the Output tab, and switch to Advanced mode.
Also, here’s a little side note. You may want to check the Advanced tab in your settings first and make sure that Color Format is set to NV12, Color Space is 709, and Color Range is Partial. Anything other than this will make the colors on your stream look wrong, either washed out or too dark.
The only time you should ever change this is if you want to do ONLY a local recording, you want close-enough-to-lossless quality, and you’re not using a capture card for anything unless you know for certain that it’s compatible with these settings after changing them. In that situation, and only that situation, you want RGB or I444, 709, and Full.
As you test settings, if you encounter errors or performance problems that you can’t identify, use the OBS Log Analyzer. If that still doesn’t help you, the problem (in my experience) is likely to be related to your storage rather than your settings or your CPU/GPU, so you should try changing your recording destination to another drive. This is why I mentioned at the start of this guide that having three drives in your computer is worth considering.
Keep in mind that this is a rabbit hole, and you may fall into tweaking settings and experimenting with every little thing to maximize quality, but it’s likely that you’ll do more harm than good if you overthink it like that. Unless you happen to be more knowledgeable than the OBS, x264, and GPU driver developers regarding video encoding, don’t to go too wild with it.
By now, you should have already tested encoders in simple mode and found out whether or not you need to use hardware encoding for your stream, and found a good bitrate. To start, just replicate your settings from simple mode. Not much is actually going to change.
Keep this in mind though: ALWAYS use CBR for streaming. Just because you have new options for rate control now doesn’t mean you should use them, they are universally a bad idea for streaming, even before considering that CBR is actually required by streaming platforms. Using any other rate control will, at best, make your stream harder to watch and dramatically increase buffering time for viewers, and at worst, not work at all and possibly get you suspended.
For the few extra options available in advanced mode here, set the keyframe interval to 2, and set the profile to high. Keyframe interval is required to be 2 by Twitch and pretty much everywhere else to my knowledge, and setting profile to high allows for better compression efficiency, and therefore higher video quality at the same bitrate. Some platforms recommend using the main profile for higher device compatibility, because it’s true that some things can’t view video encoded with the high profile… but unless someone’s watching your stream on an old iPod Touch, it’s going to be fine.
For the tune field, leaving it set to none should be fine, but you can try setting it to film and see if it makes a noticeable difference for you. If you play a lot of 2D games though, especially those made with pixel art or all flat colors, it will probably be worth setting this to animation. These mainly alter the deblocking behavior of the encoder. None of the other options here will do anything worthwhile.
In the x264 Options field, you can get real crazy with all sorts of different options to tweak the encoding, but I’m going to be honest with you. I have no idea what many of the options do. Most things are best left alone anyway, so unless you really know what you’re doing, you should probably not be doing much here.
With that said, there are a few options I would recommend trying out if you have the time and want to squeeze out every last smidge of quality. Remember, you can and should still test your stream encoder settings offline by setting the recording encoder to use the stream encoder.
rc-lookahead=60 subme=7 trellis=2 threads=x
These settings have been listed in order of priority according to my opinion, using this as reference to compare to defaults. Here’s my explanation for these settings, which you really need to read in full before using them. As a disclaimer though, despite my belief that these settings have improved my stream quality in my own testing, I’m not going to claim that they are optimal and am very open to more input on this.
rc-lookahead – Trade a slightly increased CPU load for slightly more visual quality. Simple. Experiment with this by increasing or decreasing it in intervals of 10 if you want to, but there’s no reason in any situation to go above 60, because that’s the default from slower to placebo. It defaults to 40 on the medium preset and decreases by 10 for every faster one until reaching 0. The performance cost of this is small enough that the quality increase is usually worth it for all but the weakest systems, so this should be the one thing you try hardest to keep.
subme – Higher number means higher quality and higher CPU load. The quality difference can be quite noticeable, but the cost is high. It defaults to 7 on medium, 6 on fast, 4 on faster, and 2 on veryfast. If you have performance problems with these options, the first thing to try is lowering this number by 1. Just remove the option if you still encounter issues at 5. Set it higher if you’re crazy and have a powerful CPU, but the visual change above 7 is expensive and very hard to identify.
trellis – Setting this to 2 trades encoding speed for compression efficiency. The quality difference may not be as noticeable as a higher subme value, but the cost is also lower. If you’ve already lowered or removed the subme setting and you still encounter performance problems, lower this to 1 or remove it. The default is 1 on medium, fast, and faster, and 0 below that.
threads – I left this as “x” because this value depends entirely on your system. It defaults to 0 (auto). This is NOT the same as the number of threads your CPU has! This sets the number of process threads the x264 encoder will use. The calculation it uses by default is to choose the LOWER number between CPU threads times 1.5, or vertical resolution divided by 40. So, if you have an 8 core 16 thread CPU and are streaming at 1080p (which you shouldn’t), it will default to 24 process threads (16*1.5=24), but at 720p, it will use 18 process threads (720/40=18). Default is fine for almost everyone.
You DON’T want to set this higher than that! The reason I include it is that you can sometimes find benefits by setting it LOWER than default. Fewer threads means higher quality, though the difference is very small and might not be worth anything. Your system performance might get worse, stay the same, or strangely improve depending on your specific setup.
Leave this option out until you’ve figured out the other options, then experiment with this. Start with the lower of the two calculations mentioned above, minus 2, then continue lowering by 1 until you find your limit, and add 1 to that result for safety to prevent the odd encoder overload down the line. If in the future you get random encoder overloads and you don’t know why, but you do know your CPU wasn’t overloaded, the first thing to do is increase this by 1 again.
NVENC is up first. If you have multiple choices, make sure you choose the “(new)” NVENC encoder. Set the bitrate, keyframe interval, and profile like before, and make sure the preset is set to Quality. Max Quality enables two-pass encoding, which creates additional GPU load and isn’t really worth using for streaming anyway. Make sure GPU is set to 0 and Max B-frames is set to 2, and that Psycho Visual Tuning is checked. Test with your most graphically intensive game. If you’re not streaming games, you’re not going to have any issues and should be good to go.
If you encounter performance problems, first thing to do is uncheck Psycho Visual Tuning and test again. That setting creates extra load for the GPU, so it won’t be able to keep up when games max it out. The quality difference you get by enabling that option is hit or miss anyway, and whether or not having it on or off looks better is entirely subjective, so you may want to turn it off anyway. If you still have performance issues with that unchecked, change the preset to Performance.
Next, QSV. Unfortunately I don’t have an Intel CPU to test with, but it’s the simplest of them all to configure anyway. Just set the bitrate, keyframe interval, and profile like before, then experiment with the target usage setting. Quality is ideal of course, but if you get performance issues or the encoder overloads and drops frames, drop it down. That’s it.
Finally, AMF. If you’re stuck using this for your stream encoder, my condolences, but at least you can improve it. If you install the StreamFX plugin, you get a new encoder that comes with support for zero-copy encoding for better performance, same as new NVENC, so I highly recommend using it. It looks a bit different and brings some new options, so I’ll cover both anyway.
If you decide not to use the StreamFX plugin, the default OBS AMF encoder has a couple of options worth looking at. First, set the view mode to Advanced. Don’t worry about the number of settings you see, we’re ignoring almost all of them. Set your bitrate, keyframe interval, and profile as usual, then change the Quality Preset to Quality and enable Pre-Pass Mode, then test.
If the encoder overloads or you encounter performance issues, change the Quality Preset to Balanced and try again. If it still happens, set it back to Quality and disable Pre-Pass mode, and if it still happens after that, drop down to Balanced again. Pre-Pass comes with a significant performance penalty, but also a potentially significant improvement in bitrate stability, and therefore perceived quality, so it’s worth testing.
VBV Buffer Strictness can be experimented with to find more stability. Increasing it up to a maximum of 80% might be very helpful, or maybe you’ll find benefit in lowering it to 40%, but I don’t think going outside of that range is a good idea. Alternatively, it may be worth changing VBV Buffer to Manual and setting VBV Buffer Size to the same or lower than your target bitrate.
Only two other settings here are worth mentioning in this guide, and they are hardware dependent. If you have an RDNA based GPU, (RX 5000 series or newer) you should ensure your drivers are up to date and enable High Motion Quality Boost. Older GPUs won’t benefit from this. You have nothing to lose if you can use it, it’s a free quality boost. Next, if you have a non-Ryzen CPU, it may be worth enabling OpenCL Transfer for performance reasons. It also might not do anything noticeable, or might make things worse. You might also find that enabling it along with OpenCL Conversion will improve bitrate stability to some degree, or you may not. As usual, test for yourself.
When using the StreamFX encoder, by selecting the option that says “via FFmpeg” rather than “AMD Advanced Media Framework”, it actually gets simpler. Set the preset to Quality, then your bitrate, keyframe interval, and profile as usual, and set the buffer size to the same or less than the bitrate. Just doing this, you will likely have better results than the default AMF encoder.
You can also try enabling Look Ahead, setting Maximum B-Frames to 2 enabling B-Frame References, setting Reference Frames to 8, and enabling Enforce HRD and VBAQ. The number of reference frames affect quality and can be experimented with, and your results will vary case-by-case. Look Ahead is the first thing to disable if you encounter problems, and then you can drop the preset down to Balanced if you need to. VBAQ has no performance impact but alters the way the encoder prioritizes fine detail in the image, so it can create a subjective difference in quality that you’ll have to trust your eyes on. Finally, to be honest, I don’t actually know what Enforce HRD does, but it’s enabled by default in the default AMF encoder and disabled by default here, so test for yourself and see what happens.
With AMF and/or StreamFX, you can choose either H.264 or H.265. Only YouTube – as far as I know – supports H.265 for streaming though, but despite that, OBS doesn’t allow you to choose the H.265 encoder in the streaming tab even if you are streaming exclusively to YouTube. Until that changes, unfortunately you’re stuck with H.264. The H.265 encoder is dramatically better though, so if this has changed since the time of writing, you should absolutely use it if possible. You may need to change your stream service to YouTube HLS (after clicking Show All) in the Stream tab of your OBS settings for it to work.
First and foremost, consider this: While for streaming you should always use CBR, for recording, NEVER use CBR. Streaming uses CBR – Constant Bit Rate – to keep the stream stable and easy to watch with minimal buffering, because it keeps the bitrate consistent. When recording locally though, you use far higher bitrates and it is INSANELY inefficient to keep it constant, so you should always use any other option to allow the bitrate to adjust automatically to suit the amount of movement and data on screen.
You probably shouldn’t be using x264 for local recordings if you’re streaming at the same time unless you have a super beefy CPU, but if you insist, it’s very simple.
Configure it exactly like you did for the streaming encoder, except change the rate control to CRF, and set the CRF value between 18 and 30. A higher number means lower quality and more compression, lower number means higher quality and bigger file sizes. You can go lower than 18 if you really want to, but diminishing returns set in big time and file sizes start getting insane real quick. Experiment with this value until you find your preferred balance between quality and file size.
You can (and probably should) experiment with choosing a faster preset for recording than you use for streaming, because the far higher bitrate will make up for the sacrifices made with the faster presets. If you want to experiment with the custom options, try the same ones from the streaming section mentioned earlier.
Much of the same here, you can setup your hardware encoder the same as you did for streaming to start, regardless of NVENC, QSV, or AMF, but with rate control set to CQP instead of CBR, and the CQ level between 18 and 30. Experiment with the CQ level to find your preferred balance of quality and file size. The same value here will look different and produce different file sizes on each encoder with NVENC being the best looking and smallest, and AMF being the worst and largest, but the difference isn’t enough to be a problem.
For NVENC, I would recommend setting the preset to Max Quality, enabling Look-ahead and Psycho Visual Tuning, and changing Max B-frames to 4. If you have performance issues or the encoder overloads, first drop the preset back down to Quality. If that doesn’t help, go back to Max Quality, then disable Psycho Visual Tuning. If you still have problems, set Max B-frames back to 2 and disable Look-ahead, and only drop the preset again as a last resort if nothing else helps.
Unlike streaming, recording can benefit from two-pass encoding, so Max Quality is ideal if you can run it. Look-ahead combined with more B-frames has a larger effect on quality though, which is why you should drop the preset before disabling this, even though it creates more GPU load.
For AMF, fortunately the increased bitrate mostly covers for the problems with the H.264 AMF encoder, so you can have great quality recordings with it. It’s only problematically weak at low bitrates, making it less than ideal for streaming.
The H.265 AMF encoder is still much better though, to the point that it can even be a close competitor with NVENC at times, so it’s the preferred option and I highly recommend using it. The only difference in settings for H.264 and H.265 for our purposes is that with H.264, you use the High profile, and with H.265, you use the Main profile and tier. More on H.265 format recordings in Level 5.5.
Configuring the encoder is also very easy. Do exactly the same things mentioned in the streaming section above, while remembering to change the rate control to CQP (or Constant Quantization Parameter) and set both QP sliders to the same value, between 18 and 30. It’s the same with default AMF and StreamFX.
QSV has nothing special to play with so there’s nothing to talk about.
Recording and Streaming at Different Resolutions
Since you should be streaming at 720p and one of the biggest advantages of recording locally is higher quality, it’s great to be able to record at a higher resolution than your stream, and doing so is simple.
Go to the Video tab of the settings menu and set your Output (Scaled) Resolution to the same value as your Base (Canvas) Resolution if it’s not already. Then, go back to the Output tab and check the Rescale Output box in the streaming encoder, and set the resolution to 1280×720 there. You can manually type that in if the option isn’t shown for whatever reason.
That’s it. There is unfortunately one major caveat. You can’t do this if you’re using NVENC for both streaming and recording, it will only work if you use different encoders for each. However, I can confirm that AMF does not have this limitation, so if for whatever reason you have to both stream and record with the AMF H.264 encoder, you’ll still be able to do this. I can’t confirm whether or not QSV has this limitation.
Rescaling the video in the Output tab rather than in the Video tab results in more load on the system and for the encoder though, so if your CPU isn’t particularly powerful or you tweaked your settings to the limit, you may find that you start getting encoder overloaded messages even though you never did before. If that happens, try easing up on the streaming encoder settings some, but if you can’t stop the encoder overloading, you’ll need to undo this change.
Other OBS Plugins
There are just too many of them. Aside from StreamFX for its improved encoder, any other plugins you use are up to you and I have no specific recommendations. They can really expand your on-stream capabilities in numerous ways, so if you’re feeling experimental, look through the available plugins and try some out.
Level 5.5: Handling Local Recordings
In case you haven’t guessed by now, I highly recommend recording your streams locally. Even if you don’t plan on ever editing down your streams into videos, you can at the very least upload these recordings to a YouTube channel and provide VODs for your viewers in vastly higher quality than they would otherwise get, an archive that doesn’t expire, and without any potential dropped frames due to connection or server problems. Plus, no Twitch DMCA risks that way! (Yes, Content ID still exists, but that’s not even close to as bad the genuine potential danger involved with DMCA claims on Twitch.)
So with that said, if all you’re going to do is record locally and upload it to YouTube, you don’t actually need to do anything different. You can upload the MKV file fresh out of OBS to YouTube and they’ll accept it, even if it’s encoded with H.265, no problem.
If you need to conserve storage space and want to delete the recording file after uploading it, hold your horses. Wait for YouTube to finish processing the video first. Occasionally, YouTube can fail to process a video or just get stuck processing forever, and the only way around that is to delete and reupload the video. Don’t delete the recording file until you know the video is processed and available.
If you plan to keep a local archive of your recordings though, I recommend compressing them with HandBrake. Unless you have many terabytes of storage or the willingness to buy as many hard drives as it takes, OBS recordings can chew through storage space before you know it, and sometimes HandBrake can reduce their size by over half while maintaining “good enough” quality in my experience, depending on your settings in both HandBrake and OBS.
Just note that you should upload your recordings to YouTube BEFORE compressing them, and if you aren’t 100% sure that you won’t be editing a video with your recordings in the near future, don’t compress them at all. You want to keep re-encodes to a minimum with any kind of video, because no matter how high you set the encoding quality, repeated encodes WILL cause quality loss. Will you be able to notice it? Maybe not, who knows, just keep that in mind, it’s good practice.
While I staunchly believe that a two PC streaming setup is unnecessary, HandBrake is one thing that definitely benefits from having a second computer, no matter how cheap or old it is. If you have a NAS at home, you might even be able to install HandBrake on that. Still, it’s fine to run HandBrake on your main PC while doing other things, it’s just time consuming and may run slower than it could otherwise. The benefit of using another computer for this is that you no longer have to care how long it takes, and can therefore use slower, more efficient settings.
If you want to learn details about how HandBrake works and experiment with configurations, many of the guides and settings you’ll find on YouTube or Reddit or whatever are mediocre at best, downright harmful at worst, and almost never made with this kind of content in mind, so please just read the documentation. Now with that said, allow me to give you some settings to use because I can be trusted of course.
First, click on Preferences at the bottom left (or Tools > Preferences at the top left if source selection doesn’t appear) then go to the Video tab and check all the unchecked boxes, if any, that aren’t grayed out. Then click the back button and drop a video onto the program (or click Open Source at the top left.)
Whatever the default preset is, we’re not going to use it, so here’s the big settings list. Punch all this in. Any setting you see in HandBrake but not on this list is fine to leave default. If you see something here that you don’t see in HandBrake, you have an outdated version, we’re using 1.4.0.
- Summary tab
- Format: MP4
- Web Optimized: Checked
- Align A/V Start: Checked
- Passthru Common Metadata: Checked
- Dimensions tab
- Resolution Limit: None
- Anamorphic: Automatic
- Cropping: Custom (with all values set to 0)
- Final Dimensions > Automatic: Checked
- Filters tab
- Everything OFF
- Video tab
- Video Encoder: H.265 (NVENC/QSV/VCE)
- Framerate: Same as source
- Constant Framerate selected
- Constant Quality selected (18-30)
- Audio tab
- Click on the Selection Behavior button
- Track Selection Behavior: All Matching Selected Language
- Available Languages: Select (Any) and (Unknown) by moving them right
- Auto Passthru Behavior: Check every box
- Fallback encoder: AAC (avcodec)
- Codec: Auto Passthru
- Bitrate: 192-320
- Mixdown: Stereo
- Samplerate: Auto
- For Additional Tracks: Use First Track as template
- Click on the Reload button
- Click on the Selection Behavior button
- Subtitles tab
- Click on the Selection Behavior button
- Track Selection Behavior: None
- Add Closed Captions when available: Unchecked
- Add ‘Foreign Audio Scan’: Unchecked
- Burn-In Behavior: None
- Click on the Clear button
- Click on the Selection Behavior button
- Chapters tab
- Create Chapter Markers: Unchecked
After all that, click on the Save New Preset button, name it whatever you want and click Add.
Now about the Video tab… this is the most important tab, and there are some details to think about.
Firstly, the encoder. Unless you’re doing this on a second computer, you should use a hardware encoder. NVENC is preferable to QSV, and QSV is preferable to AMD VCE, but you likely won’t be able to see a difference in quality no matter which one you use.
If you are using a second computer though, or you just have a really powerful CPU in your main computer and run it overnight, you should choose the x265 encoder, because it will always give you the best quality relative to file size.
We’re encoding to H.265 because we can usually get noticeably smaller file sizes at the same quality as H.264, but you can choose H.264 anyway if your computer isn’t compatible with H.265 or something like that.
Under the encoder options, you should always set the encoder preset to the slowest setting you can tolerate, except for Placebo if it’s present. Slower preset means higher efficiency, meaning lower file sizes with the same or better quality than other presets. With hardware encoders, this usually doesn’t change much, but with x265/x264, the time difference can be huge. Also, if you’re using H.264 instead of H.265, set the encoder profile to High for better compression efficiency and enable Fast Decode if available.
Now for the all important quality slider. I said to set it between 18 and 30 before. 18 is the lowest you should ever set it due to exponentially diminishing returns and increasing file sizes, and 30 is the highest you can go before sacrificing too much quality, in my experience. The higher the resolution, the higher you should set this for the sake of compression, though I have gone as far as 30 with some 1080p footage before without issue.
When re-encoding files from OBS though, you should probably never set this more than one or two digits lower than your OBS encoder is set to, or else you’ll just make the file bigger without any benefit. So if your OBS settings are to record with a CQ of 22, then your HandBrake settings should never go lower than 20. This is something to experiment with though, because sometimes HandBrake will output a decently smaller file size even though it’s set lower than OBS, but it might not for you and your situation.
And speaking of experimentation, you may want to change the quality slider depending on the type of video you’re recording. Most slow paced games and IRL footage coming from OBS can look almost unchanged with the quality slider set very high, but a very fast high action game will probably start looking real crusty. Take some short recordings and test for yourself, run them through HandBrake multiple times at different quality levels and see how low you’re willing to go. You may even want to make yourself multiple presets to cater to different footage.
As a final note, what I’m using as a guideline to determine that 30 is the highest you should go is YouTube. In my experience, footage encoded at that quality setting, even if it’s a high action game at 1080p, will still look clearly better than YouTube’s video processing. If you ever have to reupload a video to YouTube and it’s one of these archived files, it should look almost the same as the original recording did on YouTube. You can experiment with more aggressive quality settings if you don’t care about that and really want to squish those files down as much as possible though.
Allow me to immediately reiterate that if you’re going to edit a video out of your recordings, you should aim to use the raw recording straight out of OBS without re-encoding it first. Many editors don’t support MKV files though, so you’ll need to remux them into MP4 files with OBS. Click on File at the top left, then Remux Recordings, and select your MKV files.
Also, I mentioned it way earlier in this guide, but I highly recommend using LosslessCut to trim your recordings down to smaller, more manageable pieces, or even cut clips with it and upload them as-is without any other editing. You can use it on the raw MKV and then remux the segments with OBS, or remux the recording to MP4 first and load that into LosslessCut, it makes no difference. The learning curve of LosslessCut is incredibly small, so I won’t waste time explaining it here, the GitHub page explains everything.
If for whatever reason you feel that your editing software of choice isn’t performing very well with your recordings, or the files are encoded with H.265 and your editing software doesn’t support that, you should be able to fix that with HandBrake. I’m going to recommend again that you cut your recordings down beforehand with LosslessCut though, because this process does have to use the x264 encoder and can take a while, and the file sizes of the output will be massive.
Load a file into HandBrake and select the Production Standard preset. After that, check Align A/V Start in the Summary tab, then Fast Decode in the Video tab, and change the codec to Passthru in the Audio tab. If you record with multitrack audio as covered in the next section below, you also need to click on the Tracks button, then Add All Remaining Tracks, and change the codec for every new track too. Just in case, double check the Dimensions tab and make sure that cropping is set to Custom with all values at 0, change the resolution limit to none if you want to, and make sure all filters in the filters tab are off.
Click the Add to Queue button and load another file with the Open Source button. All your changed settings will stay except for the Audio tab, so you’ll have to go back and set that to Passthru again (and add new tracks if needed) every time. If you want to get around that, you can click on Selection Behavior, set it up the same way covered in the archival section above, and then click Save New Preset. Use your new preset instead from now on and it’ll be good to go from the start.
Once you have the queue all ready, click the Queue button and hit Start Queue. The files output from this process, while massive, should play much nicer inside of editing software.
Level 6: Multitrack Audio
Splitting your audio into multiple tracks can be very convenient. You can split background music to its own track that can be excluded from Twitch VODs – which is actually pointless, and I’ll explain why at the end of this section – or separate everything into its own track that can be independently processed or selectively muted in editing, or simply stream and record at different bitrates for quality reasons.
OBS supports up to six tracks, so decide how many of those you want to use now. Personally, I use a separate track for my microphone, chat, game audio, and the rest of my system audio, plus two dedicated tracks with all of those things combined and processed together at different bitrates. Works for me, and I’ll be showing you how to set up the same stuff, but feel free to adapt and experiment with whatever you want.
This requires you to be using advanced output mode in OBS. Go to Settings > Output > Audio and give each track you plan to use a name, and change the bitrates. As mentioned much earlier, I recommend using a bitrate of at least 192 for your stream audio, but now we can adjust in more detail. For your microphone and/or chat track, you don’t really need to go any higher than 128 due to the nature of the human voice. Most podcasts you hear are encoded at 96 Kbps and they sound great. For every other track, there’s no reason not to use the maximum of 320 when recording locally.
If you plan to upload raw, unedited recordings to YouTube while using multitrack audio like this, make sure that the combined audio track is at the top, either track 1, or if that’s your stream audio track, track 2. If you don’t do that, your YouTube upload will only have partial audio. Once you have the tracks planned, you can turn away from OBS for now because we’ll be installing some new software for this purpose.
You may have heard of VoiceMeeter before since a huge number of streamers use it. There’s a good reason for that. It’s powerful, and it’s free. Some people are turned away from it by the complicated looking interface, or maybe they heard some horror stories from someone who had issues with it, but I assure you it’s much simpler and easier to use than it looks. Issues, however, can still happen, because a lot of them depend on your specific setup. I’ll cover all the common troubleshooting steps I’ve personally relied upon at the bottom of this section, but no more.
Immediate disclaimer – I am not going to give you tech support for this software. Many common problems are solved by simply paying better attention and noticing that you made a mistake, and many more are solved with the same basic troubleshooting steps I will detail for you. If you have problems with this software, are certain you made no mistakes in setup, and followed all the troubleshooting steps, then please read the VoiceMeeter or VB-Cable manuals, search the support forum, or use Google instead of contacting me.
For the sake of this guide since it’s what I use personally, I’ll be showing VoiceMeeter Banana. Download it, install it by running the setup as administrator, and restart your computer. I’m running an older version of the software, so the screenshots I show here may look a little different to yours, and you may have some features I don’t, but everything here will still apply without issue.
I am aware that Potato exists, but the reason I’m using an old version of Banana in the first place is because my setup isn’t broken, so I don’t want to fix it. For my use case, Potato has no benefits anyway since I already have as many tracks as I need. But if you can think of uses for more tracks, or you only want three separate tracks aside from your microphone and don’t want to install a virtual cable, you’re free to use Potato instead, everything here will still help you.
OBS supports six tracks, Banana supports up to five and provides two outputs, and Potato supports up to eight and provides three outputs. If you, for instance, only want to separate your Discord chat from everything else, all you need is Banana.
To get additional tracks though, you will also want to install both VB-Audio Virtual Cable and Hi-Fi Cable (scroll down to find the Hi-Fi cable). You can donate to get four more virtual cables too if you want to use every track Potato supports and get creative in Level 7.
Install by running as administrator then restart your computer, one by one, for each cable you install.
Here’s a picture of the interface and some other things with some colorful boxes and such. We’ll go over everything here one part at a time.
First, the red boxes numbered 1. The A1, A2, and A3 buttons represent your actual, physical hardware audio devices. You can set each one to a different device if you want to, but you should use A1 as your primary device. The volume level to these devices is controlled with the first three small volume faders at the bottom right.
The green boxes numbered 2 represent VoiceMeeter’s outputs, which show up in Windows as inputs, or recording devices. Their volume level is controlled with the last two small volume faders at the bottom right.
The yellow boxes numbered 3 represent VoiceMeeter’s inputs, which show up in windows as outputs, or playback devices. Their volume level is controlled with the last two large volume faders in the center.
Finally, the cyan box numbered 4 represent the hardware input group, and boxes 5, 6, and 7 represent each individual input. By clicking on the title at the top, you can set each of these to a physical microphone you have plugged in, or for our purposes, a virtual audio cable. Their volume level is controlled by the first three large volume faders on the left.
That can seem confusing at first, so picture it as though your headphones, VoiceMeeter, and Windows are all separate pieces of physical hardware. Normally you just plug your headphones right into Windows and the signal comes through, but in this case, VoiceMeeter is sitting in the middle. Audio signals only travel one way, so by connecting your headphones to VoiceMeeter, and then a cable from VoiceMeeter’s inputs to Windows’ outputs, the signal passes through normally, but if you connected a cable to both inputs, it would just loop and do nothing. This kind of setup at its simplest looks something like this.
We’re not going to bother with anything else in here, so you don’t have to worry about any of it. If you’re curious, read the manual or experiment for yourself. Almost every control can be reset to default by double clicking on it.
Setting It Up
Before doing anything, go to your Windows Sound Settings and set both your output and input devices to VB-Audio VoiceMeeter VAIO in order to actually route your audio through VoiceMeeter.
Now in VoiceMeeter, click on the A1 button in the top right corner and you’ll see a list of devices prefixed by WDM, KS, MME, and maybe ASIO. If you’re using an audio interface, definitely use ASIO, but for anything else, try WDM first.
If you’re using an audio interface with an XLR microphone and you chose ASIO, you can leave Hardware Input 1 blank and it will automatically use the microphone plugged into your interface through ASIO. For any other device, or if you’re just not using ASIO for whatever reason, try the WDM option for your microphone first.
If you’re using virtual audio cables, select them for Hardware Inputs 2 and 3, and use the WDM option. These will each function as a separate selectable audio device in Windows and OBS. You can rename all of these devices by right clicking on the titles. In my setup on the screenshot, I use Hardware Input 3 as a “Mixdown” track, which has benefits I will detail in Level 7. If you don’t plan on doing that, you can use this another way or leave it out.
The A1, A2, A3, B1, and B2 buttons next to each large fader controls whether or not the audio received by VoiceMeeter is sent to those outputs. Everything with A1 selected will be output to your selected device, and anything with B1 or B2 selected will be output to a Windows recording device.
Make sure everything that you’re not using is disabled, like in the first screenshot, then enable A1 for everything you want to hear, and B1 for your microphone. Setting your microphone to mono here as well is a good idea.
After that, click on the Menu button in the top right and make sure Auto Restart Audio Engine is enabled. If you want to use VoiceMeeter all the time, enable Run at Startup as well. After that, click on Shut Down Voicemeeter. Shutting it down through the menu saves the current settings, so it will retain them every time you start the program from now on. You can save your settings to a file as well if you want to, just in case.
Next, latency. Having low latency is great if you want to have your microphone playing back in your headphones, because too much latency when doing that turns your computer into a speech jammer. Aside from that though, unless you’re recording music or playing rhythm games at a high level, latency probably doesn’t matter to you.
If it does matter to you, click on System Settings / Options in the menu. The main thing to change for a lower latency is the buffer size. Make it smaller. How low you can go depends on your specific system. Going too low won’t break anything, it’ll just make the audio crackle until you raise it again. If you’re using ASIO and an audio interface, you’ll almost definitely be able to set that buffer size far lower than any of the others. Put on some music and start lowering the buffer size by increments of one or two until you encounter crackles, then raise it one at a time until the crackles stop.
If you still want even lower latency, you can change the sample rate to something higher. In simple terms, think of the buffer size as an amount of time it takes your computer to process and send out an audio signal, and the sample rate as the speed of that processing. A buffer of 512 at 96000 Hz results in roughly the same amount of latency as a buffer of 256 at 48000 Hz, so sometimes changing the sample rate can make a big difference.
If you do that though, make sure to change the sample rate for every single audio device, in both the Playback and Recording tabs of the Windows sound control panel, to either the same value or half of it by right clicking the device, clicking Properties, and going to the Advanced tab. So if you choose 96000 Hz, every single device needs to either be 96000 Hz or 48000 Hz. If you’re using an audio interface, you will likely need to change this setting in your interface control panel before or instead of the Windows one.
24 bit is selected in my screenshot for music production. Unless you have a specific reason like that, you gain no benefit from this, so 16 bit will be the right choice for most people. You can also rename these devices while you’re here if you want to.
After doing that, change the sample rate for each virtual cable in their control panels. They should all be in your start menu in the VB-Audio folder, but the extra virtual cable you installed may be missing. If it is, open
VBCABLE_ControlPanel.exe from the install directory. This step isn’t needed for the Hi-Fi cable.
Restart your computer after changing all of that. Be aware that a higher sample rate will put a higher load on your system though, so you may need to undo these changes if you encounter problems in testing.
Common Troubleshooting Steps
Is your audio crackling even though you didn’t touch the buffer size, or even anything at all? First, click Menu and then Restart Audio Engine. Still crackling? Shut down VoiceMeeter and restart it. If that didn’t help, change your A1 device to the next option down, from WDM to KS, KS to MME, or MME to WDM. If it’s still crackling after trying all three, set it to what it was originally and restart your computer.
Over 95% of the time in my experience, this process fixes the problem. But, if it’s still crackling after all of that, Increase the buffer size, one increment at a time, rotating through WDM, KS, and MME, until it stops. If it never stops, you have bigger problems that I don’t know how to help with.
If your audio is crackling but you’re using ASIO, skip changing the audio device and go straight to increasing the buffer size after restarting the audio engine and your computer, because even the maximum ASIO buffer of 1024 can sometimes still result in lower latency than WDM. If that doesn’t help, look up information about your interface, because that will probably be the source of the problem.
Having problems after changing your sample rate? Double check your work in the Windows sound control panel and make sure everything is either set to the same or half of your selected sample rate. Everything set correctly already? Restart the audio engine, then VoiceMeeter itself if needed, then your computer if it’s still not fixed. Still bad after rebooting? Try another sample rate. If there are still problems at 48000 Hz, and none of the previously mentioned things help you either, you have bigger problems that I don’t know how to help with.
If you’ve tried everything and you’re still having problems, reset VoiceMeeter to default settings, shut it down, and restart your computer. If that doesn’t solve the problem, something is seriously wrong somewhere and I wouldn’t know where to start.
If none of that helped and the manual didn’t either, the first place you should look is the support forum to see if your problem is covered there. If it’s not there and Google doesn’t help you either, consider registering and asking for help on that forum, or joining the Discord shown on the VoiceMeeter download page.
Actually Splitting The Audio
Open your Windows Sound Settings and scroll down to the bottom, then click on App volume and device preferences.
Open programs to make them appear on the list, then you can change the output device to whatever you want for each. Personally, I remap just about everything that isn’t a game or FL Studio.
Make sure to change the audio device settings in Discord itself (or any other program with such options) as well, just for good measure.
OBS Advanced Audio Properties
I’m showing you how to replicate my own setup, but you can adapt this however you want.
First, open Settings and click on the Audio tab, then set your devices up like so. Pay attention to what’s in the parentheses if you renamed your audio devices. In this screenshot, Mic 2 (VoiceMeeter AUX VAIO) is my Mixdown track, which I’ll talk more about in Level 7. If you don’t follow that part of the guide, this device will do nothing for you.
After that, click on the cog wheel next to any of the volume sliders in the main OBS interface and click on Advanced Audio Properties.
Each of your audio devices are enabled on every track by default, so we’re going to uncheck most of these boxes. These correspond to the tracks you set up in the Output tab of the settings, and you can open that menu to check again if you need to.
In my setup, tracks 1 and 6 are the mixed audio tracks. As it stands now, without going through Level 7, make sure you leave those boxes selected for every device, or else the stream won’t hear anything.
Finally, in the Recording tab, enable all audio tracks except for your stream mix, and in the Streaming tab, select the stream mix track.
You’re all ready to go now. You can rename the audio tracks in OBS to make it easier to tell them apart by clicking that cog wheel again, and you can add filters to each track as described in Level 2. Just make sure to thoroughly check your levels again as described all the way at Level 1, because having more separate tracks can make it easier to run into clipping issues on stream.
Why Twitch VOD Tracks Are Pointless
Yeah, this gets its own entire subheading.
Seriously, don’t bother using this feature for excluding music.
The idea makes sense at first glance. Exclude music from your Twitch VODs, and now you won’t get DMCA claims over mainstream music anymore! Right?
That’s partially true. You will no longer be at risk of receiving a DMCA claim on your VODs because the music has been taken out of them. However, that logic fails to account for the fact that you’re still broadcasting music without a license. You are still entirely at risk for receiving a DMCA claim on your stream, while live.
If you think your stream is too small for that to ever happen, you’re being too optimistic. There’s an automated system for that too, it’s not only for VODs. You also need to realize that you’re still violating copyright law, whether you get caught or not. Is that something you want to be doing?
Nobody is happy about this, and nobody likes it. But regardless of anyone’s beliefs or opinions on the matter of music industry rights management, if you decide to commit copyright infringement, it is no ones responsibility but your own. This guide doesn’t even cover how to use the feature, and in case it’s not clear enough already, it is absolutely not recommend for this purpose.
If you’re going to play music while streaming on Twitch, use royalty-free or free music. For what it’s worth, a huge amount of the music made by our community is licensed under Creative Commons and is totally stream safe. Pretzel is also a good source for royalty-free music.
As a little side note on the matter, “copyright free” music practically does not exist. All music is automatically protected under copyright the moment it’s created, whether or not it’s registered with the copyright office of any country, and it remains under copyright until the creator has been dead for 70 years under US law. It’s up to the creator to decide what to do with their rights, and they have the right to change their mind about your usage at any time by default.
Royalty-free (not to be confused with stock music) and free music are both still under copyright, the creator is just explicitly allowing certain uses of their copyrighted work, and making it clear that their terms will not change unexpectedly. Even CC0, a Creative Commons tool designed to effectively put work into the public domain, still technically exists under copyright. Please stop using the term “copyright free” on music, or anything else. Break the chains of misinformation.
Level 7: Advanced Audio Processing
If you want to push your audio setup as far as it can possibly go for free, congratulations, you’ve fallen too deep in the rabbit hole and there’s no escaping now. With this setup, you’ll have virtually unlimited options and total control over every little thing, you’re limited only by your knowledge of VST software and creativity.
I’ll be showing you how to create something similar to my own setup, but of course, don’t feel like you have to follow along to the letter, this is the most fun part to experiment with. You can even use a DAW for this, and if that’s something you were considering already, you probably won’t have much trouble figuring things out.
First things first, delete every audio filter you added in OBS, we’re handling those in dedicated software now. After that, open VoiceMeeter’s system settings and highlight the following channels under Patch Insert at the very bottom. Enabling these things sets up VoiceMeeter to route audio out to another program for processing before sending that audio to Windows or your output device.
Now, download and install Minihost Modular. You’ll need an account for the forum to see the download link, but it’s free so don’t worry about that. You can use any VSTs you want, but for this setup we’ll be using ReaPlugs and the Melda FreeFX Bundle. We have a post about free VSTs that you can check out if you want to experiment on your own with other effects. Whether you use 32 or 64 bit VSTs doesn’t matter as long as you pick ONLY 32 bit or ONLY 64 bit, because Minihost Modular can’t use both at once like a DAW can. Make sure to note where your VSTs install to, because we need to tell Minihost where that folder is.
Once you’ve installed all of that, open Minihost, click File, then Preferences. Disable Multithreaded Rendering as this causes crackling seemingly no matter what you do, change the audio device type to ASIO, and the device to Voicemeeter Insert Virtual ASIO. Finally, set the sample rate and buffer size to match the settings you have in VoiceMeeter. If something goes wrong, select a different audio device, set the sample rate and buffer size there, then select the correct device again. If you have a MIDI controller you want to use, you can set it as a MIDI In device too, but I’ll talk more about MIDI later.
You may notice that your audio is no longer working after changing those settings. This is intended behavior, and we’ll fix it in a minute.
After changing those settings, click on the Plugins tab and add the folder (or folders) that your VST plugins installed to, click on Scan & Verify, and wait for the process to finish.
You can close the settings window now and gaze upon your blank graph.
Before we start adding plugins and such, let’s just get the inputs and outputs up and running. Right click in the blank area, roll over Add Input Node and add a stereo node. Name it System, set the Hardware I/O to 15 and click OK. Repeat the process again, but with an Output node, then draw a line to connect them.
Repeat this whole process two more times with Hardware I/O channels 7 for Game, and 3 for Chat. The nodes that were already there by default are already set to 1 for your microphone, so connect them together as well. Double click on them to rename them if you like. Now your audio is fully restored!
You may be wondering why we’re using channels 1, 3, 7, and 15 specifically. Well, these are stereo pairs, so 1 is actually 1 and 2, 3 is actually 3 and 4, and so on. We skipped 5 because we’ll be getting to it later, and we skipped from 7 all the way to 15 because VoiceMeeter’s virtual audio devices actually support full surround sound, not just stereo. If you find a way to use those extra channels, more power to you, but we’ll be sticking with stereo here.
If you look back at those selections we made under Patch Insert in the VoiceMeeter settings, you’ll notice that they match up perfectly with these numbers. Channels 1-2 are VoiceMeeter’s Hardware Input 1, channels 3-4 are Hardware Input 2, channels 5-6 are Hardware Input 3, channels 7-14 are VoiceMeeter VAIO, and channels 15-22 are VoiceMeeter AUX VAIO.
By the way, here’s a troubleshooting tip for Minihost: Rarely, you might find that your audio crackles even though you’ve done nothing different, and it only happens when Minihost is open. Why? I don’t know, it just happens occasionally. If closing Minihost and VoiceMeeter then reopening them doesn’t solve it, restarting your computer should.
First, let’s set up the microphone, the most important channel here. Right click and roll over Add Plugin, then find and add reafir_standalone. Disconnect your microphone from its output and connect it to this plugin instead, then connect the plugin to the output.
The plugin should have opened itself by default, but if not, you can double click on its thumbnail to open it. Change the mode to Subtract, change the FFT Size to 8192, and make sure your mic is on.
Make sure your room is in its quietest normal state. If you plan to use a fan while streaming, turn that fan on, but make sure all other unnecessary noise is gone. When you’re ready, check Automatically build noise profile, and sit quietly. If you have a slightly squeaky chair that you want silenced, make it squeak a little. If you don’t want your clothes shuffling being picked up by the mic on stream, shuffle around a little bit. After 10-30 seconds, uncheck that box again. All the noise that was picked up during that period will now be filtered out.
There are two things to keep in mind with this plugin. First, the larger the FFT size, the higher the sound quality after filtering, but the more latency it adds. I find 8192 to be the best tradeoff, but your mileage may vary. Second, the more noise it filters out, the worse your voice will sound. This is why it’s so important to make sure your room is as quiet as possible from the start. You can check how it sounds by either enabling A1 on your microphone in VoiceMeeter or connecting the output of reafir to another output node in Minihost.
There is actually a standalone VST based on the same RNNoise method the OBS noise reduction filter uses, so that’s probably worth trying out. I haven’t done it myself though, because my room is quiet enough for reafir to do the job just fine, and I’m happy with the latency and low system load.
Next, a compressor. You can use any compressor you want, they’re mostly all very similar, but I like MCompressor because it’s super easy to understand what you’re doing since you get a visual representation of what every control does in real time, and you can get wild with the custom shape feature.
Here, by looking at the vertical gray line, we see that my microphone definitely needs increased gain, because it’s not even reaching the default threshold – the vertical red line – when I blow directly on it.
The horizontal plane represents input gain, and the vertical plane represents output gain. The light diagonal line shows the effect of your compression settings on the audio.
The dark diagonal line traveling linearly from corner to corner represents a ratio of 1.00:1, meaning no gain reduction would take place. The higher you set the ratio, the farther down the light line will turn and the more gain reduction will take place beyond the threshold.
The point where that light line changes direction (at the threshold) is the knee, which you can change into a soft curve rather than a sharp transition – and adjust the size of said curve – to give the compression a smoother sound.
Attack controls how long it takes for the input to be compressed, and release affects how long it takes for the effect to back off, both easily visualized with this plugin.
RMS length is a bit more complicated. A compressor in RMS mode will react to an averaged volume measurement rather than the peak volume, so if you set the RMS length to 5 ms, it will measure the average volume of all audio that takes place in 5 milliseconds and act according to that, rather than simply reacting to the loudest peaks in real time.
What you do with those three time controls is up to you, so feel free to experiment. If you choose to increase the RMS length, I’d recommend also trying an Attack settings of 0 ms and using a shorter release, but if you choose to disable RMS mode by turning the knob all the way to the left until it says Peak, I’d then recommend setting Attack to 10 ms at the lowest.
Leave Maximize to 0dB off though, because you’ll be able to add more volume later if you need it.
By changing the knee mode to soft, dropping the threshold, enabling the limiter, and cranking both input and output gain way up, we can see that my loud speaking voice is beyond the threshold and just crests the knee, VoiceMeeter shows that the levels are near 0 dB with no clipping no matter what I do (off screen, just trust me bro,) and my ears tell me that it sounds good. However, we also see that my quiet voice isn’t anywhere near the threshold, and there’s some audible noise even when I’m not speaking that I definitely didn’t set up on purpose just for this example.
This is why I love MCompressor. You can fix all of this with the custom shape feature, even eliminating the need for a separate noise gate plugin entirely. Enable it and your visual aid becomes a control surface that completely replaces the threshold and ratio knobs. You can add new points by double clicking in a blank spot, and delete points by double clicking on the point you want deleted.
If you add a point at the very bottom left corner – absolute silence – then another point at the very bottom but slightly to the right of that, all sound within that area is silenced, functioning as a gate. My quiet voice needed a boost, so the next point can be added above the dark diagonal to increase its volume, then another point can be added below that line further right to keep my loud voice under control.
Test and experiment extensively with this feature and you may eventually end up with a really funky looking thing like mine that’s fine-tuned for your voice in your room with your microphone. Try not to go too overboard though. If you need to place your points more than a short distance from the dark diagonal line, that’s most likely indicating a problem with your physical setup. Make sure your high points aren’t too far up and to the left either, it will make you sound real bad.
You shouldn’t leave the limiter option enabled though, I forgot to turn mine off. You only need one limiter at the end of your chain, and we’re not done yet.
Next, EQ. Add MEqualizer. Click on the word Analyzer and start speaking, you’ll see exactly what frequencies your voice lives in. Only band 4 of the EQ is enabled by default, so you can enable all the other bands by double clicking on them.
Make sure you’re listening to yourself and/or taking test recordings during this step, because your ears are paramount here. Of course, this is entirely unique to you, so experiment with moving the different handles around until your voice sounds the way you want it to.
It’s pretty common for people to add some more bass and treble to get a radio-like sound, but again, try not to go overboard here. Unless you’re compensating for a poor microphone setup, or you have the most grating voice in town, you probably don’t want to be moving any of those handles more than 6 dB up or down. Going beyond that is likely to make things worse, not better.
Never be afraid to take some recordings and listen to them on their own, because they will sound different than live monitoring does and that’s a valuable test. Take as much time as you want to really dial this in, because a well-tuned EQ after a well-tuned compressor makes a world of difference.
Once you’re happy with your EQ, it’s time to talk about sibilance. Sibilance is that particularly sharp sound heard when pronouncing S, T, SH, sometimes CH, and to a lesser degree, Z and F syllables. These can be sharp enough in reality, but microphones have a bad habit of making them way worse, especially after compression and EQ. You might not need this, but let’s find out.
Say the word “sibilance” out loud repeatedly while watching your EQ to see exactly what frequencies your sibilance is at its worst. For me, it was around 7000-8000 Hz. Close the EQ and add a new plugin, this time reajs. Click the Load button, roll over Liteon and click deesser.
Enter the lower number of the frequency range you noted (7000 for me), then start saying “sibilance” again, and slowly drag the threshold slider to the left until you see activity.
If the activity bar ever reaches the -6dB zone, you absolutely need this, and your viewers’ ears will thank you. Don’t go too far though, if you exceed the -9dB zone it can make you sound like you have a lisp. If you want to fine tune it further, experiment with the frequency first, you might find that it sounds better slightly higher or lower than where you expected. Make test recordings and trust your ears.
Finally, add the MSaturator plugin. Set Even Harmonics to 0, disable clipping, enable the limiter option, set the threshold to -6 dB, and the output gain to -3 dB. If your microphone is still rather quiet by this point, start speaking normally and slowly turn up the gain knob (NOT the output gain) until the vertical line in that window on the right reaches somewhere before but near -4 dB. This will now function as your final limiter, and will also be used to dial in your baseline levels in a moment.
The Other Tracks
I recommend also adding a compressor, then a saturator to each of the other tracks now. For the saturators, configure it in exactly the same way as above for everything for now. For the compressors, set the Game and System ones with a threshold of -18 dB, a ratio of 2.00:1, an attack of 40 ms, a release of 150 ms, the knee mode to soft, a knee size of 60%, and an RMS length of 5.0 ms. You can (and probably should) experiment with this, but I find that these settings are ideal for keeping quiet things audible while bringing loud things down just enough to keep your voice on top while being nearly unnoticeable for most people. For your Chat track, join a call with the homies and tune the compressor however you’d like, but probably quite similar to what you did for your microphone compressor.
Your baseline setup is now complete.
Due to a quirk in how this software works together, though, OBS will only pick up the processing on your microphone, and will not record the processed audio for your other tracks. To fix this, open VoiceMeeter and enable B2 for all of your processed tracks, including your microphone despite this screenshot not showing that.
After that, if you’ve been copying my settings, go to your OBS advanced audio properties and uncheck tracks 1 and 6 – the mixed tracks – from all devices except Mic/Aux 2, which should correspond to the VoiceMeeter AUX VAIO recording device in your settings.
By doing this, you’re telling VoiceMeeter to send all of the processed audio through its secondary output, like a second microphone, which OBS can then record from. You and your stream will hear the processed audio, and the first track of your local recordings will contain the processed audio, but every separate track in the recording will be unprocessed. That may seem a bit confusing, but it’s actually better this way if you plan to make videos, because having an unprocessed copy of each audio track can be a blessing for editing.
The one downside of this is that you can no longer quickly adjust your levels from OBS during streams, because the only volume slider that will make a difference on stream is the mixed track. This isn’t really a problem though, because…
Checking and Adjusting Levels, Advanced Edition
It’s actually easier than before to check your levels! Add the MLoudnessAnalyzer plugin, and connect all of your saturators to it. Put on some music and a game, start talking loudly, and watch the levels.
If you don’t want to fire up a game just to do this, that’s fine, you can connect your System input node to your Game compressor to duplicate the music track, which conveniently doubles as a worst case scenario. Good for testing, just don’t go too hard with volume reduction if you do that, because you may end up setting your levels too low for normal volumes.
You will almost definitely be above 0 dB, but that’s easy to solve. Simply open the saturators for your Game and System tracks and lower the output gain of each 1 dB at a time, periodically clicking on the Peak dB numbers in MLoudnessAnalyzer to reset them and check again. If your microphone is a little quiet, increase its output gain by 0.5 dB at a time as well until you strike just the right balance. You want to be showing between -2 and -0.5 dB Peak on MLoudnessAnalyzer.
I recommend setting your System output gain lower than the Game output gain to establish a stronger distinction between them, and to keep music under better control if you play any. If you raised your microphone gain or choose to lower the gain on the Chat track as well, I’d recommend keeping the Chat gain no lower than -0.5 dB below what your microphone is set to.
If you don’t intend to use a dedicated Mixdown track in VoiceMeeter like I’m about to describe, then you should lower all saturators by another 1 dB for extra protection against potential clipping down the line, and leave the MLoudnessAnalyzer on the graph so you can check it every now and then and continue to adjust as needed as time goes on.
As usual, record test clips and trust your ears here. After you’ve ensured that your audio is not clipping, how you set your levels from there is better done with your ears, rather than by looking at the numbers.
Since you can no longer adjust levels in OBS if something is too loud, you have to do it in Minihost. Rather than having to open and adjust a saturator every time though, you can simply turn the volume down by clicking on the middle of the line connected to the output node, like this.
Dedicated Mixdown Track: Why and How
Using a dedicated Mixdown track essentially accomplishes the same thing as enabling B2 on all tracks in VoiceMeeter, but with two huge main benefits. The biggest one is that it enables you to guarantee that your stream will never exceed 0 dB again, even allowing you to potentially increase the volume a little bit if you were being too conservative with your levels. The other, I’ll talk about in its own subheading further below. Even if you ignore that next part though, completely eliminating clipping is a good enough reason to do this if you ask me.
If you’ve been copying my settings, then one of your virtual audio cables is assigned to VoiceMeeter’s Hardware Input 3 as your Mixdown track. Make sure you have B2 enabled for that device in VoiceMeeter, and disable B2 for everything else. We didn’t add any nodes for this in Minihost, so now is the time to change that, but this time we only need to add an output node. Set its I/O to 5.
You can delete the MLoudnessAnalyzer plugin now, it’s no longer needed. Instead, add another MCompressor and connect everything to it, then connect it to the Mixdown output node.
For this compressor, set RMS length to 5 ms, the threshold to -1 dB, the ratio to 3.00:1, knee mode to Soft, knee size to 60%, attack to 0 ms, release to 30 ms, and enable the limiter. The vast majority of the time, your audio won’t even reach the threshold, but when it does, it will be well controlled, and the limiter ensures that no matter what, your audio on this track will never exceed 0 dB.
An important thing to keep in mind is that even though this guarantees your stream audio will never exceed 0 dB, that doesn’t mean you can forget about setting balanced levels. If you turn your other tracks up too much after doing this, it may not be exceeding 0 dB and technically won’t be clipping, but it will still sound bad because you’ll be overloading this track and forcing everything into the limiter, which makes things sound bad.
This is a brickwall limiter, and it’s called that because it’s like putting a brick wall at 0 dB that all audio will be crushed against. Using it to catch occasional peaks just to prevent clipping is fine, but if your levels are too high and your audio is always up against this limiter… well, it sounds about as good as running into a brick wall.
Remember to check your levels and keep them sane. Don’t treat this as a miracle solution to clipping, it’s only meant to be a finishing touch for a little peace of mind.
Bypassing Your Plugins
This is the second big benefit of a dedicated mixdown track. Do you want to hear the sound from your computer with no compression or added latency, but still want compression for the stream? This is how to do that.
Since you’re sending all of your processed audio to a dedicated track, you can easily bypass these effects without removing them. Just disconnect your tracks from their output nodes, leaving them connected only to the Mixdown compressor, and then connect your track input nodes directly to their output nodes.
Now you hear the raw, unprocessed audio with minimal latency, and the stream still hears the processed audio.
If you want to hear your processed audio again, either for the whole stream or just to check for any reason, you can do it quickly in VoiceMeeter by temporarily disabling A1 on all tracks, and enabling A1 on only your Mixdown track.
This also enables you to independently control the volume levels you hear and the volume levels your stream hears. By default, you will hear everything exactly as loud as it is in Windows, and the stream will have it slightly quieter. You can adjust the stream levels without affecting your own, or you could mute a track for yourself without muting it on stream, and so on and so forth.
Something to keep in mind with this setup though is that if you adjust the volume of a program using the Windows volume mixer, it will affect you and the stream, so it’s easy to accidentally make the stream levels too quiet that way.
Personally, I consider it good practice to leave everything in the Windows volume mixer at 100% and control my levels exclusively with Minihost, or from within the programs themselves. This is especially true if you have an audio interface, because they have their own volume knobs on them. Leaving Windows alone makes it much easier to stay consistent.
Sidechain Compression, or Ducking
Have you ever seen a video or something where all the background music and other sounds get quieter when someone talks? You can do that live too. It’s pretty simple, and can be great if you like to keep your levels loud but find your voice is getting drowned out.
Just add two more compressors! Lots of compressors, I know. Put these ones just before the saturators on your Game and System tracks.
You probably noticed by now that these compressor plugins actually have two inputs, and we’ve only been using the first one. Well, this is what that second input is for. Connect your microphone to each of them, and if you want your friends voices to activate this effect as well, connect your Chat track too.
The graph is starting to get pretty messy now. It should look something like this.
On that green bar that says side-chain, click on Enable and Side-chain input. To start, set the attack to 85 ms, release to 250 ms, RMS length to 5 ms, threshold to -22 dB, ratio to 2.00:1, and change the knee mode to Soft. I find that these settings give just enough gain reduction to keep my voice clearly audible at all times, while being a subtle enough change that it isn’t distracting.
Put on some music or something, and you’ll notice that this compressor isn’t actually doing anything. Start speaking and you’ll see why. It’s reacting to your microphone now, not to its primary input! However, even though the input you see is your voice, the compression is still applied to the primary input. When your voice crosses this threshold, the compressor applies the set reduction ratio to the other audio.
Where you set the threshold will control how loud you have to be to get the other sounds to quiet down, but be careful, because the lower the threshold goes, the quieter everything else will get as your voice gets louder! You will likely need to decrease the ratio as well to compensate. The opposite is also true, so you will likely need to slightly increase the ratio to compensate if you raise the threshold.
Experiment with this and record test clips until you get it sounding the way you like it. As usual, try not to go too overboard with the effect though, because too much will make it a pretty jarring experience every time you start talking.
If you have a MIDI controller, you can use it with this in a lot of ways. My personal favorite application of a MIDI controller with Minihost is to control volume without needing to open Minihost, and to check my on-stream sound without needing to open VoiceMeeter, so I’ll show you how I do that first.
If you don’t have a MIDI controller but you think that sounds useful, I recommend the Akai LPD8, because it’s small, cheap, and does enough.
Before starting, make sure that in your Minihost settings, you have your MIDI controller selected as MIDI In 1.
First, add MUtility to the end of every track. There are lots of other ways to accomplish this, but this was the easiest for me. Next, right click and roll over Add Input Node, and select Events Node. Connect it to the blue input for each MUtility plugin and revel in the crazy spaghetti you have created. Twist a knob or something on your controller and you should see the blue lines light up.
Open up one of the MUtility plugins and click on the MIDI button in the bottom right corner, then click on Enable in the MIDI settings window. Click on the Learn button and twist a knob or something, and the plugin will detect that and automatically set the channel and controller for you. After that, click Learn again to turn off the detection, then click on the tiny highlighted checkbox on the left and hit the giant OK button at the bottom. Repeat for the other plugins with other knobs.
Now whenever you turn that knob, the volume knob in this plugin will also turn. The maximum is 0 dB and the minimum is silence, so you can go as far as to mute things like this, but not make them louder. This won’t affect the level of anything on stream, only what you hear.
To adjust your on-stream levels with this, connect the events node to all of your saturators except the one for your microphone. Open one of the saturators and do the same as before – click the MIDI button, click Enable, click Learn, turn a knob, click Learn again, click the tiny checkbox – but this time we’re going to change the max value.
Assuming you set your levels to something sane already, change the max value here to match what you have the output gain set to in the plugin. That way, you can turn it down, but you can’t make it any louder and ruin your audio. Finally, click on the big button that says Gain at the top, then select the Output Gain parameter instead. Repeat for the other saturators.
Now you can control the volume that you hear as well as the levels of the stream without having to open Minihost! But you’ll still have to open VoiceMeeter to check your stream levels yourself. Let’s change that too.
Add four MRatio plugins and add them to the end of each track, then connect the events node to each of them. After that, add a connection between the output of your mixdown compressor and the secondary input of the MRatio plugin on your Game track. You can use another track, but Game is the default Windows audio device if you’ve been copying my settings, so it’s preferable.
It’s getting pretty ridiculous now, so I’ve enlarged the interface here to make it a slightly easier to decipher.
Open an MRatio plugin and click the MIDI button, then set it up the same as before. If you’re using an LPD8 like me, you only have one knob left to turn, but that’s fine because for this, we want to map the same knob to every MRatio plugin.
With that set up, you can now turn that knob to mute all devices on your end and listen only to the Mixdown track, without having to open Minihost or VoiceMeeter! You can have this software running all the time, even while not streaming, and enjoy having the ability to independently control the volume of different things with physical knobs instead of your mouse, plus check and adjust your on-stream levels on the fly without fear of going too loud.
If it turns out something is too quiet and you need to make it louder, you will still need to open Minihost and turn up the output gain on a saturator with your mouse. But this way, you don’t even have to remember what you had it set to before, because you can just twist the corresponding knob on your MIDI controller and it’ll snap back to your set maximum.
If you copy this exactly, your microphone volume knob will actually be doing pretty much nothing, because I forgot to mention that you need to disconnect the saturator from the mixdown compressor and connect the MUtility plugin instead, like this.
If you forget to do that like I did, then even if you think you muted your microphone, the stream will still hear it. Make sure you remember to do this!
If you want to add some funny effects to your microphone on stream, you have to add even more plugins. It’s already a huge mess and adding more would make it almost unusable, but we have a solution for that. Right click on the graph and click on Add New Graph Module, then put it between MSaturator and MUtility for the microphone, and connect the events node to it as well. Double click on it and you have a whole new graph to play with, just for effects.
You’re going to want all that space too, because you can get really creative with effects. Maybe you only want a single reverb plugin, or maybe you want a chain of nine separate plugins, or you could just put some plugins around and experiment with the order you connect them in. If you have a MIDI keyboard, you could even put a synthesizer or something in here and play it.
Make sure that you also connect the input node and output node directly with no effects in between, because your microphone runs through this graph now, and if you forget to do that, you’ll have no microphone! You can connect all your effects to the output node and leave the plugin inputs disconnected for the time being.
You know how Minihost works by now, and these extra effects are entirely up to you, so I’m not going to go into any more detail on what to do here. Get creative, experiment! Anything you can do with a VST plugin can be done here. Learning more about using VST plugins is outside the scope of this guide, but there’s a massive wealth of information for that all over the internet if you look for it.
If you’re more creative than I am, you can make these effects MIDI controllable as well, but since I’ve never really needed that functionality, I never looked for a method for it. I also hardly use effects like this myself in the first place, so mouse controls have always been more than good enough for me.
Here’s a tip though: When moving your microphone connection to one of the effects, roll the mouse over the top of the output node before you click and drag. It should always grab the right connection that way. Like this.
VoiceMeeter makes it relatively easy to set up a soundboard. First, right click on the cassette tape on the top right, set the file type to WAVE, sample rate to either 44100 or 48000 Hz, bit resolution to 16 Bits, channels to 2, Play On Load to Yes, and set the Target Directory to wherever you want. You’ll want to keep all of your sound clips in that folder to keep things simple.
To make sure your sounds are played on stream, in voice chats, and in your headphones, make sure that A1, B1, and B2 are selected next to the cassette. Disable A1 to keep it out of your headphones, B1 to keep it out of voice chats, or B2 to keep it off stream.
Next, click the menu button and click on MacroButtons: Run on VoiceMeeter start. A new window will pop up. This window dynamically changes its layout with more or less buttons as you resize the window. I only have mine set up as 4×2 to match my LPD8, but you can have as many buttons as you want in any orientation.
Right click on one of the buttons and you’ll get a menu with more options than you need. Give the button a name, and if you want to, you can give it a keyboard shortcut, or even set it to activate when pressing a button on a game controller. To make the button actually play a sound, enter the following in the Trigger IN box:
recorder.load = "<X:\path\to\sound.wav>"
And that’s it. If your sounds aren’t in WAV format, don’t worry, it supports AIFF and MP3 as well. The one drawback to this method compared to some others is that you can’t play multiple sounds at the same time, but personally I consider that a benefit since it prevents people from being excessively annoying.
You can actually use these buttons to do a lot more than just play sounds, just check the macro buttons section of the manual to see everything you can do. Be warned though, strip controls – like the mute option if you were to set up push to talk – will NOT work on your mixdown track! If you mute your mic in VoiceMeeter, your stream will still hear you. Do your muting in Minihost.
Windows has a problem with sharing MIDI devices. It only allows one device to be used by one program at a time, so by default you could only use MIDI on Minihost OR VoiceMeeter. There is a way around that though.
Download and install loopMIDI. Start it up, click the little plus button on the bottom left, and close it.
After that, click the menu button in VoiceMeeter, then MIDI Mapping, and set the Input Device to loopMIDI Port. Now in Minihost, go to Preferences and set MIDI Out 1 to loopMIDI Port, then add an output events node to your graph and connect it. If that new MIDI device doesn’t appear in either program, restart the program.
Now go back to the macro buttons window and right click on a button again. Make sure the Learn box is checked, then hit a pad or key on your MIDI controller, then click OK. Now that part of your MIDI controller will trigger that button.
I did say at the start that this was a lot, didn’t I? If you actually read all of this, I applaud your patience, hope you found it helpful, and thank you for your time. Even if you didn’t read the whole thing, I hope you found some useful information in there.
I’d like to remind you though that this was not intended to be an authoritative guide on The Right Way to do this, because there is no one right way. I also specifically chose not to dive deep into the details of several things, primarily where you’re better off figuring out for yourself, because the intention was to give just enough information to help you hit the ground running in all areas.
Again, if you’re experienced with streaming and find an error in this post or think something should be added or changed, let us know on Twitter or join our Discord. Just remember the goal here, don’t try to tell me about how important it is to spend four figures and commit to 17 hours daily, or about how to treat streaming as a business to make bigger profits. We will likely disagree on some things, so please be ready to explain your reasoning.
To close out, remember: If you’re not in it for fun, you will only suffer for it. Don’t overspend, don’t overthink, just get up and running and focus on the fun. Good luck out there.
OBS Studio: https://obsproject.com/
OBS Wiki: https://obsproject.com/wiki
StreamFX Plugin: https://github.com/Xaymar/obs-StreamFX
Other Plugins: https://obsproject.com/forum/resources/categories/obs-studio-plugins.6/
OBS Log Analyzer: https://obsproject.com/tools/analyzer
EposVox’s OBS Studio Tutorials: https://www.youtube.com/playlist?list=PLzo7l8HTJNK-IKzM_zDicTd2u20Ab2pAl
Nightbot Docs: https://docs.nightbot.tv/
StreamElements Knowledgebase: https://support.streamelements.com/
StreamElements Tutorials: https://www.youtube.com/playlist?list=PLCDDKlFdScbEwdx5AntcQIS1InkFJwHtv
HandBrake Docs: https://handbrake.fr/docs/
x264 Settings: http://www.chaneru.com/Roku/HLS/X264_Settings.htm
x264 Preset reference: https://dev.beandog.org/x264_preset_reference.html
VoiceMeeter Support Forum: https://forum.vb-audio.com/viewforum.php?f=6&sid=650493f29296c7234f24ba8b30411971
Minihost Modular: https://forum.image-line.com/viewtopic.php?f=1919&t=123031
Melda MFreeFXBundle: https://www.meldaproduction.com/MFreeFXBundle
RNNoise VST: https://github.com/werman/noise-suppression-for-voice
More Free VSTs: https://tripulse.net/creative/music/free-music-resources/