OBS Development Blog

What's new in OBS Studio 20.0


OBS Studio version 20.0 has landed! A major release is always accompanied by new features, updates, bug fixes, and more. The full patch notes can be found here. In this post, I will be going over the major feature additions, source updates, general additions, and a few bug fixes. This will hopefully be the first of many more informative posts to come!

New Features

Modular UI

When you first launch OBS, it might not look that much different:

OBS First Launch

But if we take a peek at the View menu...

View Menu

We see some interesting new options! To take advantage of this awesome new UI, first you need to unlock it by un-checking "Lock UI" from the View menu. Now, you can see that there are a few more icons that weren't there before on the different sections of the main OBS window.

Scenes Unlocked

There is a now an undock and close icon in the title bar for all UI elements that can be adjusted. If you click and drag this title bar, you can slide the objects around to anywhere you want in the OBS window. You can even combine two objects into a single space, which then allows you to tab between them.

Moving Scenes

If the undock button is clicked, that section of the UI will pop out into its own window, which can be moved and resized however you like. Try it out!

All Objects Undocked

To move any undocked window back inside the main OBS window, simply drag it back where you want it. They can be moved to any location, on any side of the preview, including above and below it.

Redocking

You can even hide any objects that you no longer wish to see by clicking the X icon. But don't worry, if you accidentally close them, you can reopen them from the View menu or by right-clicking on the title bar of any other object in the UI. You can also toggle them off this way.

Closing and opening

We hope that you enjoy this new level of customization that is now possible in OBS. Don't forget that once you have things set the way you like, you can lock everything into place from the View menu to avoid accidentally moving something around. If an object is already undocked, however, locking will only prevent it from being closed. You can move it around and it can still be docked back to the main window.


New theme

The next new feature is something that I am personally quite fond of. A new theme! Gone are the days of boring black and white or white and black, followed by some blue and maybe a hint of green. Check out the new theme, called Rachni.

Rachni Theme

In addition to making OBS much more pleasant to look at, the theme itself is very well documented and should be a great base for other users to start creating their own themes. It's really quite simple, and nearly all the objects you would want to change are listed in the theme itself with comments. Check it out, and be sure to share on the forums anything you come up with. Currently, there are a few minor known issues with the addition of the Modular UI, but they will be addressed shortly as time allows.

The new theme can be changed in Settings -> General in OBS, from the Theme drop down list.

Theme Select


Defaults button in filters/sources

All sources and filters now have a Defaults button, which will reset all the settings back to their default values. This one might seem like a minor change, but it's been highly requested and can be very useful when testing out new settings on any sources or filters. Now you don't have to delete and re-add, when a simple reset to defaults would accomplish the same thing.


Source locking

Ever been adjusting your scene layout only to accidentally misclick and move the wrong image, totally screwing up the 15 minutes you spent getting it into the absolutely pixel perfect position? Well no more! Now all sources in OBS can be locked in place, preventing them from being moved in the preview window. You will see a new Lock icon next to each source in the list, and just like with visibility toggle, you just click on it to lock or unlock. Locking will not prevent you from deleting a source, so still be wary of the delete key.

  • Unlocked: Unlocked Source
  • Locked: Locked Source

Preview Zooming

Often times, we can't have the OBS window set to show the true size of what we are capturing. Even on a 1080p display, showing a 1080p source in the OBS window will be slightly scaled. To get around this, there are scaling options for the preview itself which can be accessed by right-clicking on the preview window.

Preview Scaling Options

If a scaling option other than the default of Scale to Window is selected from the Preview Scaling menu, the preview will show in the actual size of either the Canvas resolution (the amount of space in the preview itself to place sources) or the Output resolution (what your viewers/recording will see). As you can see here, capturing a 1080p window and then viewing it in the default preview means I can't see any of the text, and it would be hard for me to tell if there were any issues with the actual readability of the output.

Unscaled Preview

However, I can change the preview scaling to show the actual output size, and suddenly:

Scaled Preview

Now you can see exactly what the output will be. It used to be annoying to change between these different scaling sizes, and now you can simply hold the space bar and zoom in and out (a hand will appear to indicate you can) with your mouse scroll wheel, in addition to being able to pan around the preview to view any area you like by clicking and dragging. It should be noted that this is changing how it looks to you, and not to the stream/recording. If you don't have the hand icon when you hold space bar, make sure you set either the canvas or output scaling mode, and it's not still set to scale to window.

Zoooooooom!


Audio clipping visual notification

Often times it's hard to keep track of audio levels when streaming or recording. In OBS 18.0.0, the Audio Monitoring feature was added to allow you to keep track of sources and their levels while in use. Sometimes, however, those sources could peak out and you wouldn't notice with just audio monitoring alone (due to gain filters or other audio adjustments along the way). Now, any peaking audio will change the bar of the mixer volume level to a red color, to indicate it's peaking.

Peaking Audio


Stinger transitions

Another new feature this version is the ability to do Stinger Transitions. For those not up to speed with the industry terminology, a stinger transition can be easiest explained by the following:

So, what's going on here? It's pretty simple to set up. First, you'll want to get a video file that has transparency (technically not required, but strongly encouraged). Then, we add the new transition and name it what we want. We can now select the source video file and the exact moment during the video that we want the transition (a cut) to actually occur. This is usually timed to be the moment the entire screen is filled with the stinger. In this example, I knew that 2400ms (2.4 seconds) into the explosion animation, the whole screen is filled with smoke and it masks the actual cut. This makes for a nice, smooth, animated transition. You can also change the transition timing to happen on a specific frame of the video, instead of being time based. This can really help you fine tune your stingers.


FTL support

Lastly, but certainly not least, Microsoft and the team at Mixer have been working hard to bring their FTL streaming protocol technology natively in to OBS. First introduced as part of Mixer (formerly known as Beam), FTL is a streaming protocol that allows for sub-second latency to your viewers. That means your streaming experience will be more like you are sitting next to them as they watch you play, rather than having to deal with pesky service delays for your stream. And now you can use FTL from the main OBS client, without needing a separate install for the FTL-enabled version. Very cool stuff!

Currently, the FTL protocol is only supported by the Mixer platform. To enable it, just select "Mixer.com - FTL" from the services list, and then set up your stream key as you would normally. OBS will take care of the rest.

You can check out the Mixer platform itself at mixer.com.


Source Updates

Several sources received updates this version, some major, some minor.

First up, the VLC source has a new option to allow you to select how much network caching will be used for any network-based sources (i.e. streams, ipcam feeds, etc.). It can be found at the bottom of the source properties.

VLC Network Caching Option

The Decklink/Blackmagic source gets another nice feature to follow up from the audio channel updates in version 19.0. This time, we finally have auto-detection of video formats! No more fiddling with the giant list of supported formats hoping to stumble on the correct options. I can personally attest that this new source feature works like a charm.

Finally, and the most significant of the source updates this patch, is the Image Slideshow source. There are a ton of new features here.

  • Ability to hide the source or disable looping after all images are played
  • Options to select visibility behavior.
    • Stop when not visible, restart when visible
    • Pause when not visible, unpause when visible
    • Always play even when not visible
  • Hotkey controlled mode

The last option has been long requested, and now it is finally possible to manually control the image slideshow with hotkeys. You can toggle play/pause, restart, stop, show next slide, and show previous slide.

General Updates

There were quite a few general usability and quality of life updates in this version. All updates can be found in the full patch notes, but here are a few that stand out.

In OBS 19.0, a change was implemented that warned users when they were launching OBS twice, as this was usually a mistake and not intended. Due to the requests of several users who use multiple instances in their workflow, we have added a launch flag that suppresses this warning. Just append "--multi" to the shortcut or command when launching OBS.

Fullscreen Projector options have been added to the tray icon for the preview, so they can be quickly accessed when OBS is hidden to the tray.

Twitch server selection has been updated to include an Auto option. This option will automatically test and select the closest Twitch ingest server for you to use at that time, leveraging an API provided by Twitch themselves. Remember, closest may not mean best at that particular time.

The AMD AMF plugin has also been updated this patch. This update brings full compatibility with the latest 17.2.2 driver from AMD, as well as lots of bug fixes, performance enhancements, and updates for HEVC recording and the default presets. Full patch notes for AMF can always be found here: https://obsproject.com/forum/resources/amd-advanced-media-framework-encoder-plugin-for-obs-studio.427/updates

Bug Fixes

As with any update, there are a lot of small bug fixes, and they can be found in the full patch notes. Some of them are a bit more interesting than others, and I'll explain a few of the more noticeable fixes that have been finished.

Settings window size fix

Up until now, the OBS settings window has had a fixed minimum height and width, which is slightly larger (length wise) than a 720p display. While most displays are 1080p or higher, there are still quite a few people using 720p displays as secondary displays to keep an eye on OBS, or other reasons. In OBS 20.0, the minimum size of the settings window has been reduced to 700x512 to accommodate smaller displays. This was determined to be the smallest size that the settings window could be without interfering with usability.

Unsupported GPU crash

In a few rare cases when trying to launch OBS on older hardware that did not support the minimum requirements for OBS, it would simply crash at startup instead of providing the proper "Failed to initialize video" message that has a better explanation for the user on what the issue was. This was frustrating for both end users and for the community support helpers because a crash generally indicates there's something that can be fixed, when in this case it was simply unsupported hardware. The proper message is now displayed.


Final Thoughts

We here in the OBS Community thank everyone for your continued support of the project. We can't wait to see the cool things you all create with the new features being added this version. If you have any issues, questions, or need help with anything, our forums and chat are open 24/7. Though, we do need sleep sometimes, so someone might not be around right away.

Happy creating!