How to use OBS flawlessly on (Almost) any systems


Published 04.02.2019 в 06:00 | Guide rating: 247



Getting OBS "Classic" or "Studio"

Not by preference, Classic might be more irrelevant to use compared Studio, but believe me.
Studio also lack one fundamental feature which is "pre-recording", Classic has it.
The only down side of Classic I can think of is not having separate audio tracks, scene features or better support generally while they just perform the same out of the box, if you prefer to have separate audio tracks rather than pre-recording, studios will work just as fine for this guide as well.
Clicking here[obsproject.
com] to reach the download page, then scrolling down to get Classic, above to get Studios UPDATE: Studio's now have support for Replay Buffer but at a limited access in between "Simple" and "Advanced" user settings that cut off some things Classic can only still do, such as handling the CPU Preset for Replay Buffer, shortcuts affinity are also done in a slightly different way now, make sure to look up in the guide.
Studio also seems to record the Steam Overlay regardless of the capture method, Classic allows you to do otherwise with game capture, helps to keep your chats private.
If you are an AMD user and still want to use your h264 encoder, you will need this.
[obsproject.
com] Just like with Nvidia, there is a chance that your dGPU doesn't have an encoding chip on them, be sure to check.
If you have an APU, it's possible to literally do the same thing as Intel Quick Sync, options with Pro's and Con's will be shown during this guide.
Although that before we get any further, it is rather essential that you have at least a Quad-Core CPU, doesn't matter how beefy it is although the better will make things more interesting for you in term of quality.
Any higher than Quad-Cores such as Hexa-Cores or Octo-Cores will grant you greater results, a Dual-Core CPU will probably be very limiting to how much you can optimize OBS although it's not impossible.
Most i3's nowadays have Hyperthreading which can help their very silly core count, although I wouldn't worry if you have a AMD CPU unless it's a Laptop or something.
What you have will most likely be a Quad-Core on them.
Otherwise, after getting the software, you are ready to learn how it's best used for the majority of setups out there.

Getting familiar with OBS Classic.

Once you installed OBS, this is the first window that you will be welcomed with.
From there you can create scenes and choose whichever capture method you wish to have, that being some features a lot of recording softwares lack in term of versatility, hence why OBS is in my best interest the premium choice over ANYTHING out there so far.
Being able to set multiple options and control volume from here, I will only cover instructions and method of how you should set OBS assuming you already know how use the software, if not I have included a basic understanding below.
Cinque Terre

x264 or h264, which to choose?

Clicking settings.
.
.
This is the first window you'll see.
Unless you feel it necessary to make profiles and set options in this section (Which I would recommend if you plan streaming or want a cleaner task bar.
), you can otherwise stick to one profile for Local Recording only.
Clicking Encoding.
.
.
This is where you will have to decide which method you prefer, although EVERY single of them have downsides specified depending on your hardware.
x264 : CPU encoding, literally.
You use your CPU to encode your media, this by default if OBS is not prepared properly is the "worst" method possible.
I will get over why this can be the best method for "any" rigs after explaining the rest, x264 is also generally better quality Vs any h264's if properly tweaked and will use even less of your dGPU memory bandwidth as you would normally with h264 on PCB, keeping your framerate further more stable.
Quick Sync : Do you have an Intel CPU? Yes? Does it have an iGPU? Yes? Basically being h264 for the integrated graphics.
This option might be the best for you, although depending how on powerful it is, it could substain the entire encoding load without a "single" sight of performance loss like x264, if not you might be limited to how dated it is and might have to fall back at other options to achieve desired results, you will need to test this yourself.
Nvidia NVENC : Basically Shadowplay in OBS, except the versatility is increased.
You will still be using the h264/h265 therefor the dGPU core will be not loaded but the memory bandwidth can suffer and this will affect your framerate depending how big your demand is.
AMD VCE : Basically ReLive in OBS, the versatility is also increased.
You will still be using the h264/h265 therefor the dGPU core will be not loaded but the memory bandwidth can suffer and this will affect your framerate depending how big your demand is.
(Way to just repeat myself!) h264 vs x264 Image Quality Comparison.
[i.
imgur.
com] Alright so, what CPU do you have? Dual Core? Either AMD VCE on the APU (Hopefully not the same GPU that you use for gaming.
), Quick Sync for Intel (Same for this, if you game on Intel HD, it won't help.
) or any h264/h265 encoding will be better for you regardless of how powerful it is.
That is if you don't want to lose more performance by reserving a thread for OBS.
(Anyway if you really game on a Dual Core, it's maybe time to upgrade, seriously.
) You have a Quad-Core? Fantastic, feel free to either use any of those options depending on your hardware although x264 might be your best bet, which will be explained very soon.
You have an APU from AMD? VCE might be good for you, by testing it may not be able to fill your demand, although it can be suitable for you since it won't hog your framerate, unless you are playing on that same iGPU of course.
This is pretty much doing Quick Sync but with AMD.
Damn, is that a Hexa-Core that you have? Talk about overkill, whether be AMD or Intel, you sure know the feeling of how 5 and 6 are just hanging doing barely anything.
Don't worry, they will get to work pretty soon, unless you'd prefer to use Intel Quick Sync for handling the load which should be good enough for 1080p60fps depending on your bitrate etc.
Unfortunately AMD has no APU's with more than 4 cores, therefor h264 on the dGPU or x264 is your option.
Okay, great an Octa-Core, you know the drill.
If it's Intel you can always use Quick Sync which may be suitable for 1080p60fps assuming it's the most recent one still, it's not impossible that the bitrate destroy quality and stutter on playback though so make sure to fiddle with that.
Otherwise with AMD, x264 is highly recommended for how much processing power is left behind.
Cinque TerreCinque Terre

Pro's and Con's of each encoding methods.

To start first.
.
.
x264 ; Pro's + : By reserving a core(s) (And hyperthread if possible.
), you avoid ANY type of performance hog that would otherwise be stressed if you were to use OBS as shipped.
All encoding will be done on one part of the CPU where your game and any application will not use, meaning that your frames will be consistent and simply not afflicted at all.
The only process done by the dGPU is extracting frames which rest is done by the CPU, the impact is EXTREMELY minimal (Actually better than h264 NVENC or AMD VCE.
) along with the quality depending on your CPU core ability and quality preset can be fantastic.
Con's - : Reserving a core(s) means losing this one entirely, literally if you have a Quad-Core you might have to give up on one to avoid any software conflicts that seriously destroy your framerate, it really sucks, but it's the best thing to do.
This isn't just an OBS thing, if you handle any type of processes a lot of them may run better if you assign each other a seperated core alone.
h264/h265 ; Pro's + : It's simple and straight forward, very user friendly, you have little to worry about, I mean it's literally a designed chip that's encoding, what could be wrong about it? Con's - : Put in perspective of my own user experience, this method is not reliable for many reasons.
Being that I am a crossfire user plus I play on 144Hz, framerate stability is very important and having a lot of frames like this requires me to have as much data going through as possible.
Maybe you will find it better, but the higher the quality of recording, the more affected your framerate will be because of how huge the processed chunk of data can be, also it's not lossless either, you may lose quality regardless of how high your bitrate will be and like said, the higher the more affected your framerate becomes.
Finally, people using Free/G-Sync can experience issues using those encoders at higher refresh rates, it's not common, but it happens.
In which speaking of issues, Crossfire/SLI users will have very odd results with their system, such as inconsistent clockspeeds or corruption, hence why it's a big no no for me! Quick Sync / APU AMD VCE ; Pro's + : Those are basically pretty much like h264/h265 except it uses your iGPU instead of the encoding chip on the dGPU you have.
With AMD you will have to choose your display adapter to set this, unlike dedicated, this will act literally like your iGPU is another core and do the encoding.
Con's - : The power of iGPU's can be limited, therefor if you cannot push out what you desire, x264 might be your better option.
With everything explained, I will cover x264 in details below.

The secrets of x264.

By default ANY applications will use CPU0 and forward, that's how Windows was designed and it's always how it'll work most likely.
So what can be do to nullify this flaw since other methods have quite the downsides in term of quality or general use? Ctrl + Shift + Esc > Task Manager > Details > OBS.
exe > Set Core Affinity > Choose Core and if supported Hyperthread (Usually last CPU is the best chosen, if you have Hyperthreading it'll be the last two.
) and you're done.
That's it? Really? All of that will solve the terrible framerate drop? Yes.
It's as simple as that, surprising how we are never given the option in the software itself right? Or at least some do it like DXtory, but it doesn't support pre-recording or streaming, hence why it wouldn't be what I chose.
Is there anything to do? Yes, perhaps setting your Local Recording/Streaming needs.
There is a lot of tutorials out there to help you out, however one problem still remain which is how CPU affinity resets on every reboots.
How do we solve that? To the next section!

Setting CPU affinity "permanently"

If you've come this far then you are really willing to make this thing work and get the best out of your system.
Then for feel free to visit this website[www.
eightforums.
com] to learn how easily it is to set your cores permanently, be warned some applications (Like Mirillis Action! or MSI Afterburner.
) do "not" respect those shortcut rules so make sure to confirm in your task manager that everything is set properly.
Knowing how to set hexadecimals based upon your CPU from the website linked above.
Find the "Run.
.
" of Windows then type "shell:startup" in which you'll put every shortcuts made with the function of having your selected cores to be set whenever you start your computer for say OBS.
exe.
But wait, you'll need to do more than that.
For every games you'll be playing Windows will still use any core it wishes on launch, although this is nothing to worry about, specially if you use Steam to launch any games.
Unchecking Steam option to start with Windows, instead make a shortcut in the same fashion of OBS.
exe except that this one will be favoring your other cores, for example if you have a Quad-Core, let Steam use the first three then reserve OBS for the last one, there you have it.
Every games will literally be launched the way you want them along with Steam starting with Windows and OBS.
If you have Hyperthreads, this is how you can spot them.
CPU0 > Core1 CPU1 > Hyperthread of Core1 CPU2 > Core2 CPU3 > Hyperthread of Core2 .
.
.
It goes on and on, for as much hyperthread seems like a benefit, it can be, however for gaming it is more or less yet to be proven.
Unless you are on a Dual Core i3 with Hyperthreading of course, you should not force Steam to use your hyperthreads as they will mostly do nothing but cause what people usually experience as hiccups or slightly worse performance compared to pure core usage when playing games, only encoding/media really benefits from hyperthreads.
Considering that you're using OBS anyway, Stream broadcast shouldn't be something you would use even if it would benefit hyperthreading.
https://www.
youtube.
com/watch?v=0Zqmx8BR0YQ For those who may have a hard time understanding, I've made this video! UPDATE: You need to specify the path of OBS Studio in "Start In" when making the shortcut which is provided by default, otherwise it won't work!

Unpark your cores! Set Windows to High Performance!

I've dedicated a very specific section to those two things because they may greatly affect the way your ressources are managed.
Download this[www.
coderbag.
com] to easily unpark your cores and avoid terrible performance drops during heavy multithreading.
This has been confirmed on several occasions that it will affect your CPU behavior if not done.
With confidence I can confirm that my own CPU during playing Battlefield 4 with absolutely no streaming/encoding involved would have serious sutters at random intervales, I thought my CPU was damaged from overclocking when core parking was the culprite! Finally, in "Power Options" from the Windows Control Panel, make sure that "High Performance" is favored! While it may seem like a bad thing, running this mode prevents the CPU from underclocking itself more frequently and remain at full speeds during use, while some may say that it is not necessary.
AMD and Intel have technologies that still handles CPU speeds if they are idle to underclock if needed, making so that your CPU will still take some slack if you're not using it.

Recording, Pre-Recording and Streaming with OBS Classic

When you're done assigning everything, your gaming and encoding should be all ready to be processed without destroying performance.
You can set your binds as toggle by choosing the same key over the enable and disable of a function.
Replay buffer is required to be started every time after you start up your game in the main menu if you're using monitor capture, otherwise it'll end up introducing bugs and blank screen if you start from anywhere else, although Alt-Tabbing will remain functional.
The replay buffer length option controls the amount of seconds, but those are often longer than set as well.
Having multiple replay's can get confusing overtime, but this is where at least you are able to set several ways file to be saved, those are listed if you hover your mouse on file path, however using $T.
mp4 / $T.
flv will display pretty much anything and help you sort your files better than just names repeated over and over.
For streaming, it's best you make another profile with the optimized settings for whichever live stream service you are using and you will be ready to share content with minimal impact on your gaming experience.
Whenever you're done, switching back to Local Recording will allow you to catch the best quality available again.
Cinque TerreCinque TerreCinque TerreCinque TerreCinque TerreCinque Terre

Author's personal setup.

Find out how to make High Quality Recording here.
[obsproject.
com] Although the guide above might not be suitable for all CPU's among, it's possible to always adjust settings to your preference/hardware, most being the greatest of impact be x264 CPU Presets which also affects quality, however it's possible to improve if your cores beefy enough by slowing it down, although making it too slow can make the recording stutter in a way that ruins completely the playback, so it is up to you finding out what suits best.
My own build which consist of a Ryzen 7 1700; 8 cores and 16 threads has a overclocked single threading score equivalent to an i7 6900K, that in respect with the hyperthreads allow me to pull off the settings in the screenshots below.
If you have anything similar, it should give you an idea of what can be achieved, I use 1080p60fps mostly because I can afford it at the given settings with the harddrive space.
DO NOT USE THESE SETTINGS FOR STREAMING, MAKE ANOTHER PROFILE FOR THAT.
As the method of capture for "any" games, I use monitor capture.
It proved itself to support any games including Vulkan (If ASync is disabled, recording can be enabled anytime.
) and DX12 (Depending on the game, DX12 would usually just work if I start recording first then start the game.
Perhaps this will be patched later.
), then mostly be alt-tab friendly.
The only downside would be that "anything" can be recorded and seen from there.
My core setup is; CPU0 < Windows / Servers reserved.
CPU1 < Windows / Servers reserved.
CPU2 < Windows / Servers reserved.
CPU3 < Windows / Servers reserved.
CPU4 < OBS only.
CPU5 < OBS only.
CPU6 < OBS only.
CPU7 < OBS only.
CPU8 < Steam / Games only.
CPU9 < Steam / Games or unused because it's an hyperthread.
CPU10 < Steam / Games only.
CPU11 < Steam / Games or unused because it's an hyperthread.
CPU12 < Steam / Games only.
CPU13 < Steam / Games or unused because it's an hyperthread.
CPU14 < Steam / Games only.
CPU15 < Steam / Games or unused because it's an hyperthread.
At last, CSGO and other type of engines can be started with a command that goes by "-threads x" in which you decide how many threads you want to attribute each games, the fact Steam already only allow 4 physical cores only helps pin cores accurately and assure that you'll have the most out of your system.
As a notice, FX CPU's can have better performance depending on the way you allow modules to communicate while Ryzen CPU's have been proven to have better performance if you pin an application to cores of the same CCX because it avoids the use of infinite fabric which can delay communication.
Cinque TerreCinque TerreCinque Terre

Closure.

I wanna say thank you for checking this guide out and make sure to comment to me if you experience any issues or need explanations around other technical topics.
This subject can be somewhat controversial or just generally confusing.
Check out my other guides to improve your gaming experience on your hardware.
http://steamcommunity.
com/sharedfiles/filedetails/?id=668808553 http://steamcommunity.
com/sharedfiles/filedetails/?id=749450225 Rate up and make sure sharing this to people you think needs it! It helps me a lot as well!