It’s been quite a while since OBS Studio has released a major update BUT this is for
good reason.
The OBS devs have been hard at work making some pretty beefy changes to OBS’s GPU encoding
and some other cool stuff, allowing for better performance and a lot of major upgrades in
the coming updates.
I’m going to walk you through the upcoming OBS Studio version 23 update today, after
integration for sign-in and chat boxes, and a complete rework of how the NVENC Nvidia
GPU encoder works, which lays the groundwork for future changes.
There’s a couple cool extra things and a lot of little bits I’ll cover, too, after
these.
So firstly, OBS now supports direct integration of streaming services - so you can sign in
with your Twitch or Mixer account directly instead of fiddling with stream keys AND you
get a dock-able chat box from your streaming service within OBS.
This also gives you access to a dock-able panel for Twitch stats such as current viewers
and subs, and your stream information panel to change stream titles and game names!
By the way if it doesn’t load dark mode for you automatically and you have it enabled
on Twitch, just relaunch OBS.
This only works with Twitch and Mixer for now, but expanded support is planned at some
point.
This is just the beginning!
Also, the stats window is now dock-able so you can easily keep an eye on dropped or skipped
frames and whatnot.
Which is something I've been requesting for a while.
The next major change in this update is what’s been commonly referred to as the “new NVENC.”
I, again, want to do a little myth-busting here:
The actual “quality” improvements of NVENC on Nvidia’s new RTX 20-series Turing graphics
cards is primarily related to a HARDWARE change.
There is a PHYSICAL NVENC chip on the card that has been altered and improved to increase
quality.
This applies to any use of the NVENC encoder with these cards in any program - old OBS,
new OBS, video editing software, anything.
The “new NVENC” settings in this OBS update can help you squeeze a little more quality
out of your stream by means of giving you more control, but it’s not a direct quality
improvement.
That's not what the point of it is, it's actually a hardware improvement on those 20 series
cards.
I'm recording a video and I've got a kitty climbing all over me!
Say hello!
Not to me, to them.
"Hello!
I am stream kitty!"
Also this new encoding pipeline does NOT work on Windows 7.
OBS will fall back to the old methods I explain in a moment.
This should work on Windows 8.1, however.
And, Windows 10, obviously.
This “new NVENC” is a complete rework of how OBS interacts with the GPU for GPU-based
encoding.
In previous versions of OBS, it was designed to handle only raw video frames in system
memory or RAM.
The frames had to copied from the GPU’s VRAM to RAM, and then sent off to an encoder
- which at the time was predominantly x264, so that design made sense, sending it from
GPU to RAM to CPU for encoding.
However, because of this design, that meant that when using GPU encoding like NVENC, it
would have to copy frames from VRAM to RAM, and then when it's sent off to NVENC, it would
be copied from RAM back to VRAM, resulting in an unnecessary round-trip due to that video
pipeline design.
This uses up more resources and bandwidth than is necessary.
And adds a little bit of latency.
In the latest version of OBS, there’s now an additional discrete video pipeline for
GPU encoders that can take a texture directly, without moving any raw frames out of VRAM.
This eliminates the unnecessary VRAM->RAM->VRAM round-trip, thus maximizing the potential
performance of hardware encoders such as NVENC, and reducing the impact that it might have
on games that you're running while streaming or recording.
On higher-end systems where things were already running smoothly you may not notice any difference,
but in some side-by-side comparisons you could see as much as 5 to 10 frames per second performance
increase in-game, (or even more in some weird scenarios in-game) and that can scale as hardware
gets worse.
Along with this came more direct access to the NVENC tools, and some new quality controls.
They’re named a little silly, but they let you do some cool stuff if you’re in OBS’s
Advanced Output Mode: “Two-pass Encoding” is now no longer a
direct option, but is automatically part of the “Max Quality” preset.
This determines how much load is put on the NVENC encoder to get more quality.
Most people can use Max Quality, but if you’re getting “Encoder Overloaded” errors, lower
to “Quality” to see if it improves.
Generally speaking, Profile should always be set to High for streaming purposes.
It tunes the encoder in a way that just needs to be set there for streaming.
“Look-ahead” and “Psycho Visual tuning” are new options.
Look-ahead allows the encoder to dynamically change the amount of B-Frames between 0 and
the Max number you input at the bottom of the UI where it says "Max B-Frames".
These are frames used to get the most quality out of your footage, but require a lot of
bandwidth, so on high motion content you don’t always want a ton, they can reduce quality
without enough bitrate assigned to your stream.
Look-ahead helps save you some trouble by automatically determining how many to use
based on the frame, or based on your content.
Psycho Visual Tuning improves image quality on moving footage by enabling the “Rate
Distortion Optimization” - just a setting within the encoder itself that affects high-motion
footage.
For High-Motion content (shooters, action games, etc.) set Max B-Frames to 2.
For low-motion content (card games, desktop capture, etc.) you can increase this to 4.
If you see pixelization on-stream, consider reducing this back to 2.
Keyframe interval needs set to 2 for streaming, and set your max bitrate according to your
streaming service and upload speed, as usual.
I have a whole video on this in the description if you’re interested.
Also, you do still technically have the option of offloading encoding onto a second GPU here
BUT that will cause OBS to fall back to the old NVENC implementation since you can’t
share this information between GPUs directly.
Either way, keep in mind that this is generally a bad idea - despite how many people have
been suggesting it on my recent video - and does NOT address the GPU utilization issues
I talked about in my recent rant-y... it was more like a FAQ video than anything..
OBS itself still needs to render and composite on the GPU your game or display is running
on, and that’s where the bulk of OBS’s GPU usage comes from.
Encoding is efficient and on its own chip in the GPU, so offloading that not only doesn’t
help your performance, but also more or less negates any of this updated framework’s
benefits if you were able to do it within the new NVENC anyway.
It’s also worth noting that with the New NVENC, (I'm just saying that wrong now, haha)
you will be unable to apply re-scaling during output.
If you want a different output resolution than your canvas, you’ll have to apply it
universally in the Video tab.
Sucks, but worth the trade-off.
If you do enable Rescale Output in the encoder settings, OBS will fall back to using the
old NVENC implementation, again.
The cool thing here is that, theoretically, this rework can be applied to all GPUs in
the future.
Currently, the only iteration is for Nvidia cards, and I can’t even begin to speculate
when AMD or Intel support will be added, but the work done here can benefit everyone in
the end.
A new version of the AMD AMF GPU encoder has been integrated, which fixes some issues with
AMD Vega GPUs.
I can’t really test this or anything right now, but that’s a thing.
A big one from my OBS requests video from last year - OBS can now Batch Remux lots of
MKVs or FLVs to MP4, and even auto-remux after you hit Stop Recording.
The “Remux Recordings” menu is now a batch UI that you can drag and drop into or use
the file picker, and then specify an output location and send them all at once.
Auto remuxing is a checkbox located in Advanced Settings - Recording.
You can now tell OBS to resize your recording canvas size to match a specific source.
This is super useful if you want to record a specific window or source and have it stay
at the native resolution and aspect ratio of that source, without having to manually
figure that out.
Right click the Source in the Sources list and hit “Resize output (source size).”
It will have a confirmation dialog and things like that to make sure you know what you're
doing.
As I’ve teased a couple times now in videos, you can now enable multiple audio track recording
for Custom (FFMPEG) Output settings.
This means you can set up multiple WAV (uncompressed) audio tracks with whatever video codec you
want them to go with, and so on.
I have a full video at an earlier peak at this feature linked in the description.
The actual scene canvas UI has actually been overhauled a bit to better show outlines and
handles for sources, show when sources are overlapping or hovering over each other, and
when they go outside the boundaries area of the canvas.
This is a little polishing touch that goes a long way to making the UI more user friendly
and more friendly for colorblind users.
Photoshop PSD files can finally be used as Image sources!
I've been doing this in Wirecast since 2011, so it's cool to finally see it added.
Support for the Linux VAAPI H.264 encoder has been added to OBS Studio on Linux.
This is an open source GPU hardware encoder/decoder which has built-in compatibility with MESA
and works natively with Intel and AMD open source GPU drivers.
Kinda like the Linux open source alternative to Intel QuickSync and AMD AMF.
This is really cool.
Image Slideshows now use less memory and are less prone to crashing.
You can also add an audio filter to invert your audio polarity to prevent audio phase
cancellation or to deliberately cancel out audio.
This is how karaoke machines sometimes remove vocals from songs.
You can also now pan audio with stereo balancing in Advanced Audio Properties.
A “Downward Expander” audio filter has also been added.
This is like a noise gate, but a lot smoother, as it just lowers volume levels instead of
cutting out audio entirely.
It's kind of like the inverse of what you'd normally use a compressor for.
You can also now add a fourth Aux input device in audio settings.
Good for people with a lot of audio devices like me.
BlackMagic DeckLink output cards can now be used, as well as their keying.
I don’t have a way to test this right now, I only have an input DeckLink.
But it's there.
So while we’ve had a long wait for this new update - about 5 months or so - I think
it was worth it, as there are crucial features and functionality being improved and the groundwork
for some really cool stuff coming in the future, and I’m more excited than ever.
Download link for the update and change log will be added to the description once available
(there will be a Release Client beta version for you to test out for yourself) - I’m
filming this before it fully releases - although the auto-updater should have you covered.
While you’re down there, click the link to go follow me on Twitch at Twitch.TV/EposVox.
Hit the like button and subscribe for more tech education.