⚠️Pre-Releases are not meant for Production usage!⚠️
These releases are offered to Supporters with (early-)access to releases, and are not meant for Production usage. They are offered with no warranty or guarantees and the StreamFX project and its maintainers explicitly reject any responsibilities for damages or unexpected changes resulting from the use of these releases. Additionally, the project and its maintainers are not interested in any bugs, crashes or freezes found by using these releases, as we have enough automated tests to cover most functionality. Please use the Stable production-ready release if you do not wish to encounter unusual problems.
Support the development of StreamFX!
Maintaining a project like StreamFX requires time and money, of which both are in short supply. If you use any feature of StreamFX, please consider supporting StreamFX via Patreon. Even as little as 1€ per month matters a lot, plus you get a number of benefits!
Please read the Installation Guide and System Requirements! The old two stage system didn't work out quite as I'd have hoped: It didn't communicate the dangers of Testing well, and did not differentiate between different stability levels. To solve this I've adopted a new release process now available in StreamFX, which follows the usual development cycle of Software itself: Alpha -> Beta -> Candidate -> Release. The further right you go in that graph, the more stable software is supposed to be, at the cost of new features and changes. The further left you go, the more up-to-date things will be, but you sacrifice stability and safety.
As Experimental and Unstable features are causing the vast majority of stability issues, we've decided to split the releases by their actual stability. Stable releases will no longer contain Experimental or Unstable features, and Candidate releases will no longer contain Experimental features. This should hopefully speed up the process to a stable release significantly, as we no longer have to worry about the problematic features dragging us down.
For quite some time, Shader Texture Inputs were haunted by ghosts from the past, also known as work-arounds and deprecated code. This resulted in Shader Texture Inputs keeping stale references around and requiring an OBS Studio restart to actually update. Several code modernization cycles later, this is now fixed and Shader Texture Inputs immediately update as expected - while also no longer keeping stale references around, so your Scene Collections are safe again.
This should have gone up in flames way sooner than it did, and yet it was almost completely invisible until OBS Studio 27.1. The bug dates as far back as v0.7 and is pretty severe: The Dynamic Mask filter would increment their own reference count every frame if no Input was selected, and would double-free the Input without clearing the pointer to it. And somehow, this didn't explode until now.
As StreamFX was built on a lot of legacy code that gradually gets replaced with modern code, one modernization introduced a bug that was invisible during testing. StreamFX does not rely on OBS Studio to tell it what Sources and Scenes exist at any moment in time, but instead uses its own hash map to figure out what Sources and Scenes exist. This code was modernized, and incorrectly introduced an additional reference to each Source and Scene - making it impossible to delete anything, and leaking Scene Collections into other scene collections. The bug has been fixed, and should no longer occur.
An oversight in the scripts that generate the binaries resulted in them incorrectly treating C++ code as C. While this didn't seem to cause any obvious problems, it still affected what is actually linked into the binaries, and may have caused completely compatible systems to be treated as incompatible. This has now been fixed, so Ubuntu users should have a better experience.
With OBS Studio 28.0 came the introduction of Loadable Bundles, a variation of MacOS's Bundle format. This format offers a lot of advantages for almost no drawbacks, and StreamFX from now on uses this packaging format on MacOS. As a bonus, FFmpeg Encoders should now be available on MacOS too.
As the packaging and installation method has changed, please follow the Uninstallation guide to clean up any left over old files. Failure to do so will result in undefined behavior and may render OBS Studio entirely unusable. You have been warned!
Investigation into how OBS Studio actually loads plugins revealed a change that had gone under the radar entirely. Since OBS Studio v0.15.0 it is possible to load plugins from As the packaging and installation method has changed, please follow the Uninstallation guide to clean up any left over old files. Failure to do so will result in undefined behavior and may render OBS Studio entirely unusable. You have been warned!
StreamFX can now be installed for individual users, instead of installing for everyone on the system! This is possible thanks to a PR by @abcdw, which allows us to set two environment variable to install and load plugins from As the packaging and installation method has changed, please follow the Uninstallation guide to clean up any left over old files. Failure to do so will result in undefined behavior and may render OBS Studio entirely unusable. You have been warned!
A new contender for the visually lossless intermediate codec arrives: Avid DNxHR! Thanks to work done by @IceStormNG, it is now possible to use this encoder without configuration trickery and directly configure it with a proper user interface. As this encoder is based on the real codec specification, it may perform better than the Apple ProRes encoder while being way more compatible with video editing software.
All FFmpeg Encoders now support encoding a different framerate than OBS Studio itself is running at. This allows for streaming at 30 FPS while recording at 60 FPS, or even recording at 120 FPS, or other strange things. Note that this is quite literally breaking several specifications, so use at your own risk - if things break, be happy that at least they broke with a noticable impact!
Users on ARM64 devices can now enjoy native ARM64 binaries for less CPU usage, and as such more overall performance on CPU focused tasks. While StreamFX is mostly GPU workloads, some of the internal code does actually do very heavy lifting that benefits from this.
With HDR support in OBS Studio finally being available, it was necessary to finally tackle the issue of sRGB and HDR support once and for all. Many Sources/Filters/Transitions will get proper sRGB and HDR support over future releases to catch up with OBS Studio. You can check the Version Information on the wiki to see if a certain feature supports sRGB or HDR yet.
With OBS Studio 28.0 the old obs-amd-encoder project is finally laid to rest and a new AMD AMF integration is provided. This AMD AMF integration is technically and functionally superior to both the old obs-amd-encoder and FFmpegs AMD AMF integration. All users are urged to migrate as soon as possible, as no guarantees are made for how long this deprecated encoder will remain. Additionally, users on Linux should put their focus on the open Pull Requests for Linux support (1, 2).
With OBS Studio 27.2.4, the SVT-AV1 and AOM-AV1 encoders were integrated into OBS Studio directly. This integration is functionally identical, and as such replaces the StreamFX provided AOM-AV1 encoder. All users are urged to migrate as soon as possible, as no guaratees are made for how long this deprecated encoder will remain.
System Requirements
The installation of StreamFX requires that you follow certain instructions, as well as fulfill a minimum hardware and software requirement. Please ensure that you have read and verified both before asking for help, as many issues can be fixed by reading both of them in their entirety.
Windows
Linux
MacOS
OS
Windows 10 (21H2 or newer), Windows 11
Ubuntu 20.04 (or equivalent)
Ubuntu 22.04 (or equivalent)
MacOS 10.15 (or newer)
CPU
Any x86-64-v3 compatible: AMD Excavator Series, Intel Haswell Series or better
Required Instruction Sets: x86-64-v2, AVX, BMI1, BMI2, F16C, FMA, MOVBE
Any ARM64-v8.5-A compatible: Apple M1 Series or better
Memory (RAM)
16 GiB (total) or more
Video (GPU)
DirectX 11 / OpenGL 3 capable, Shader Model 4, 4 GiB VRAM (total) or more
Disk Space
4 GiB (free)
OBS Studio Version
29.1.1
Other
Microsoft Visual C/C++ Redistributable 2017-2022
Qt for obs-studio
FFmpeg for obs-studio
System Libraries must match chosen Ubuntu version!
A working GPU
What's Changed
New Release process: Alpha -> Beta -> Candidate -> Release!
Unstable and Experimental features are no longer shipped with all Releases
🔧 Fixes
Shader Texture Inputs no longer corrupt Scene Collections
Dynamic Mask no longer self-references and double-frees its Input mask
Switching Scene Collections is safe again
Ubuntu binaries now link against the proper libraries
➕ Additions & improvements
Loadable Bundles on MacOS
⚠ This change requires that you cleanly remove old versions of StreamFX first!
Improved System-wide installation on Windows
%ProgramData%\obs-studio\plugins
, which is a much safer option and now the only supported System-wide installation mode for StreamFX. This functionality has been so hidden that even the official obs-plugintemplate doesn't make use of it. An added bonus is that this should support Steam users of OBS Studio.
⚠ This change requires that you cleanly remove old versions of StreamFX first!
User-only installation on Windows
%LocalAppData%\Programs\obs-studio\plugins
in addition to all the other locations. These installations will conflict with a System-wide install and as such can't coexist, but may still work with the Steam release of OBS Studio.
⚠ This change requires that you cleanly remove old versions of StreamFX first!
Avid DNxHR Encoder (via FFmpeg) by @IceStormNG
Split Framerate support for FFmpeg Encoders
Universal Binaries for x86 & ARM64 support on MacOS
Initial sRGB and HDR support for Sources/Filters/Transitions
➖ Deprecations & Removals
Deprecation of the AMD AMF (via FFmpeg) encoders
Deprecation of the AV1 (via AOM) Encoder
Detailed Changelog
0.12.0b275
0.12.0b252
0.12.0b249
0.12.0b202
0.12.0b191
0.12.0a173
0.12.0a170
0.12.0b164
0.12.0a151
/Portable
installer flag for CLI users by @Xaymar in #935
avcodec_close
by @Xaymar in #952
0.12.0a134
0.12.0a117
0.12.0a106
0.12.0a77
0.12.0a45