Please do not use pre-release builds in production! For production use, always use the latest stable release.
Two weeks have passed since Beta 1, and the list of remaining bugs shrunk to almost nothing, which means that it's time for another Beta release! This beta is full of fixes and improvements, and even has some fancy new Shaders for you to use without needing any Shader coding skills! Let's dig into the changes.
Immediately at the start of the changelog, there's the fancy new logo which is inspired by the vaporwave retro look. I think this was long overdue as the original logo just did not fit what StreamFX could do anymore, especially since this one can now be rendered in StreamFX itself:
And it doesn't end with just that, because StreamFX now has a full User Interface to look at! At the current time StreamFX adds its own menu with certain important links as well as a "About StreamFX" window. The "About StreamFX" window contains thanks to all supporters, contributors and translators, as well as clickable links to their social media profiles. This window will also automatically open once on major updates.
Moving on from UI, the Shaders have received a little bit of love. Four new Source Shader examples are available (converted from ShaderToy) and one new Filter Shader is also available. Some performance issues where Shaders would render more than once per tick and the actual render resolution did not match the expected one have also been fixed. Also one of the ... more interesting ... filter examples has been repaired - you can now use the Drunk effect, and it comes with two more levels of making things worse!
Next up is FFmpeg Encoders. There was a bug introduced in a recent version which caused "Look Ahead" and "Adaptive I/B-Frames" to stop working as expected. This has now been fixed, and in addition to that a small fix was applied which should prevent some encoding issues in situations where poorly coded Games cause massive GPU usage due to rapid reallocation of buffers.
And finally we reach the prime spot: the Nvidia Face Tracking filter. It has been undergoing a lot of optimizations which should drastically improve performance in every day usage without affecting the output of it too much. While not all optimizations have made it into this beta, more optimizations are coming to further improve the performance (though some are waiting on a reply from Nvidia).
Support the StreamFX project!
If you rely on StreamFX for your streaming and recording needs and want StreamFX to continue existing, consider supporting me on Patreon or on Github Sponsors! Even a support as low as one dollar per month means a lot and helps keep the project afloat, and if every single user of the plugin was supporting me with just one dollar per month I could spend a lot more time working on the project than I do now. So what are you waiting for?
Help & Support
Before installing this plugin, please make sure to read the Installation Guide which includes the necessary prerequisites for succesfully getting StreamFX to run. If it still does not work, consider joining the official Discord.
0.8.0b2 Hotfix 2
- Actually fixed Shaders losing the ability to render transparency.
0.8.0b2 Hotfix 1
- Fixed Shaders losing the ability to render transparency.
- Updated the StreamFX logo.
- Updated translations from Crowdin again.
- Updated help strings for Dynamic Mask and Blur.
- Fixed the 'drunk.effect' example shader and added even worse options to it.
- Fixed Shaders rendering larger or smaller than the specified size.
- Fixed Shaders rendering once for each time they are drawn per tick instead of only once per tick.
- Fixed Direct3D11 evicting important textures before encoders had a chance to work with them in high GPU usage situations.
- Fixed "Look Ahead", "Adaptive I-Frames" and "Adaptive B-Frames" not being applied as expected.
- Improved the performance of the Nvidia Face Tracking filter massively by moving almost all of it into worker threads.
- Added a default path to the Shader file selection dialog.
- Added various ShaderToy shaders (
shadertoy-#####.effect) and a new
semiline.effectwhich was used for the StreamFX logo.
- Added an entry into the OBS Studio tools menu which links to important things such as where to get help and where to report bugs.
- Added an "About StreamFX" window to thank all supporters, translators and contributors. This window opens once automatically when a new version of the plugin is installed, and otherwise is accessible via Tools -> StreamFX -> About StreamFX.
- Updated translations from Crowdin, huge thanks to everyone submitting translations!
- Fixed FFmpeg Encoders not respecting user selected color formats and instead always using YUV 4:2:0. (#136)
- Fixed FFmpeg ProRes not correctly overriding color formats with the ones supported by the selected profile. (#136, 140)
- Fixed a lot of code issues by actually jumping ship to modern C++.
- Fixed some sources not tagging the settings object with the current version, making migrating settings problematic.
- Removed the
libprefix from the StreamFX.so files on Linux. Make sure you delete the old version of the plugin first if you're using Linux!
- Updated support for libOBS v25.0.3 and newer.
- Added support for Ubuntu 18.04 and 19.10, take a look at the platform parity wiki page to see what is missing.
- Fixed potential memory corruption caused by FFmpeg Encoders.
- Fixed a regression introduced in 0.7.2 which causes 3D Transforms to suddenly invert. (#116)
- Added Custom Shader Filters, Sources and Transitions - and also added extra examples for them.
- Added Nvidia Face Tracking filter which will be available at a later point in time.
- Updated translations from Crowdin, many thanks to all the volunteer translators!
- Updated support for libOBS v25.0.1 and newer.
- Fixed 3D Transform causing discoloration in transparent sources. (#104)
- Fixed audio jitters caused by audio mirroring in Source Mirror happening out of order. (#111)
- Fixed a common freeze new to libOBS v25 caused by Source Mirror.
- Fixed audio mirroring only working every second configuration update in Source Mirror.
- Added FFmpeg Encoders which expose various encoders available in FFmpeg to you with a neat, easy to use UI (if you can read tooltips). You will find them available under either Streaming or Recording, depending on the codec you want to encode. This integration is slightly different from the one in obs-ffmpeg-encoder, so the two plugins will clash and you should remove obs-ffmpeg-encoder ahead of time using its uninstaller entry.
- Improved Custom Shaders further, however these are still very experimental. Expect these to crash, corrupt or otherwise eat your setup in unexpected ways, and also expect these to change wildly.
- Improved Audio Mirroring in Source Mirror by relying on a global thread pool instead of a thread per source, drastically reducing the total CPU load in massive setups.
- Removed scaling from Source Mirror which was mostly broken anyway, so please use any of the available filters instead.
- Fixed a possible crash in multi-core systems caused by event callbacks.
- Fixed various crashes and corruptions caused by Source Mirror, Dynamic Mask and Blur.
- Important: The plugin was renamed to StreamFX, users that manually installed this plugin (or manually built it) must ensure that the old obs-stream-effects files are removed before installing the new version.
- Deprecated 32-Bit versions of the plugin. You don't have an excuse to be on 32-bit anymore, hardware has gotten dirt cheap thanks to AMD Ryzen. You can get a barebone modern PC for around 260 €, or upgrade your existing one for around 140 €.
- Added additional options for Tint control to Color Grade, allowing fine tuning of what is Shadow, Midtone and Highlight.
- Added GPU debug markers to most of the code which allow GPU debuggers like NVIDIA Nsight to show the exact time taken for each effect step.
- Added a new example shader: Plasma. This effect simulates old school plasma effects and showcases some of the features of Custom Shaders.
- Added a temporary workaround for a bug in OBS Studio to ensure that StreamFX does not crash or corrupt OBS Studio's memory. A fix to OBS Studio has already been submitted and is waiting on Review.
- Updated translations from Crowdin: de-DE, es-Es, fr-FR, it-IT, ja-JP, nl-NL, pl-PL, ru-RU, sv-SE, zh-CN. Much thanks to all the contributors on Crowdin!
- Improved Custom Shader Sources by adding support for automated file reloading, dynamic parameter updates, and various UI improvements.
- Improved stability drastically by gracefully handling all unexpected exceptions and refactoring a lot of code.
- Improved performance drastically by no longer always caching sources and ensuring that some code hotspots don't duplicate heap data on call.
- Moved all examples from
- Fixed a few crashes caused by the Graphics Subsystem Wrapper (GSW).
- Fixed a freeze with Source Mirror when retrieving the size of a mirrored Source.
- Fixed rescaling size in Source Mirror when "Use Original Size for Transform" is active.
- Fixed filters messing with source sizes when they shouldn't be.
- Fixed a freeze caused by Directional Gaussian Blur (#83, #85).
- Removed Custom Shader Filters temporarily, they will return later.
- Removed AppVeyor Continuous Integration in favor of GitHub Actions. You can now download bleeding edge builds from here by clicking on the commit, then clicking on Artifacts, and then selecting either windows-2016 (Windows 7) or windows-2019 (Windows 10 or up to date Windows 7).