With StreamFX 0.8.0 being almost right on the doorstep of a stable release, I want to take a moment and guide you through everything that has changed since version 0.7.2. After all, who wants to upgrade to something they don't know anything about?
Stability & Performance Improvements
For those that have frequent issues with StreamFX, the 0.8.0 release will have a massive impact. Almost the entire codebase was refactored into safer, stabler code which also massively reduced the crashes that can happen. A lot of the crashes resulted from simple errors that are automatically resolved by the new code. The newly refactored code also ended up being slightly faster than the old code, which will benefit users on weaker CPUs and free up additional resources.
Overall, the refactor solved almost every currently known bug or crash, and has even revealed possible crashes that weren't reported until then. StreamFX 0.8.0 is now almost 100% crash free, which is something I could not claim about any of the older versions.
Custom Shaders Are Back
If you're already familiar with the Shaderfilter plugin, you can likely guess what these are. If not, it is really simple to explain: These allow you to load any HLSL file straight into OBS Studio and use it as a Filter, Source or Transition - and it even generates a human readable interface for you! So you can now create (or commission someone to create) HLSL sources, filters and transitions for your stream to customize it past what anyone has done before.
For example, in my livestream on 28th March 2020 I created various example shaders for filters and transitions, such as a retro pixelate transition, a CRT curvature and scanline filter, or a simple luma based transition instead of the classic fade. With HLSL any of these effects are no longer out of reach and easily done, if you have the skills and patience to pull it off.
The current implementation allows you to do any effect that does not require extra textures, as these are not yet supported. A future update will hopefully be able add support for textures, including FFTs for source audio, so that you can create even more impressive shaders. What exactly is possible still remains to be seen, as I've hit various limitations of the OBS Studio effect parser, including undiscovered crashes in OBS.
Now Available: FFmpeg Encoders
After announcing that the FFmpeg Encoders plugin was going to be merged into StreamFX, it still took a long time until they were actually ready. Now with StreamFX 0.8.0 they will finally be ready for use again, in a much more stable and improved way than before.
Both Nvidia NVENC encoders have received a small overhaul which now allows for the use of the Target Quality rate control mode, which mimics x264's CRF behavior. While not as perfect as x264 CRF is, it certainly gets there in most cases, especially on Turing hardware.
Mirror mirror in my OBS...
Source Mirror has always been one of the primary use cases of StreamFX for many people, as it allowed you to duplicate a full audio stream and filter it again. And now Source Mirror is even faster and better at mirroring audio - however it lost the ability to rescale the video mirror.
I've been working on a new filter with Nvidia for a while, which is still in early stages. It is currently in the experimental phase, which means that much more work is required for a stable integration, but the current integration works. The filter will be available once Nvidia releases the runtime for it to the generic public, however I can't say much about when that is going to be.
And that is all for now - more may come in the future, but at the moment I can't guarantee it. If you consider StreamFX to be useful to your setup and would like to see it continuously updated, consider supporting me on on Patreon or on Github Sponsors! Even a support of just one dollar per month means a lot, and if everyone that uses StreamFX would support me on either platform, I could spend a lot more time working on plugin.
Anyway, have a nice day, and enjoy the newly released StreamFX v0.8.0a4.