Skip to content

@Xaymar Xaymar released this Nov 1, 2020 · 43 commits to master since this release

Notable Changes and Information

StreamFX v0.9 is safe to use with OBS Studio v26.0!

OBS Studio v26.0 has been extensively tested with StreamFX v0.9, and no notable problems could be found that did not already happen in earlier versions of OBS Studio or the plugin. You can safely upgrade both the plugin and OBS Studio, as long as you also upgrade all other plugins.

Hiding OBS Studio to tray is no longer broken.

OBS Studio incorrectly treats hidden and inactive modal windows as active, causing an invisible window to prevent OBS Studio from minimizing to tray. This has been worked around, and an upstream bug report has been filed.

The Installer is now aware of 64-bit systems.

Due to an oversight in earlier development the installer was built as a 32-bit binary, which meant that it would fail to find OBS Studio installations done with a 64-bit installer. This resulted in some installations ending up in the wrong directory, as the correct path could not be read from the registry. If you previously used the 32-bit installer, please make sure to uninstall first, or you will end up with two installed copies!

Zero-Copy encoding no longer triggers Scaling and Conversion.

Earlier versions of the plugin had a chance to trigger extra CPU and GPU usage while zero-copy encoding was active, drastically reducing the maximum possible performance. This has now been fixed, and the proper fallbacks encoders are being used for settings that can't be performed in zero-copy mode.

FFmpeg Encoder is now able to encode sRGB correctly!

A misunderstanding of what certain values mean in FFmpeg resulted in some encoders incorrectly tagging YUV 4:4:4 (I444 in OBS) as RGB 4:4:4, making video players and editors freak out a little bit. This has now been adjusted, so that sRGB works correctly, allowing crystal clear sRGB footage.

The "hexagonize.effect" Shader now creates actual hexagons!

Thanks to @Toasty27, an oversight when porting the shader from ShaderToy was found that caused hexagons to be created with the wrong size, resulting in malformed hexagons.

Please make sure to read the Installation Guide!

The installation guide covers the required hardware and software to run the plugin, and how to install it through the various options. Please make sure that you have read it in it's entirety before asking for help, as most issues can simply be solved by reading it and actually following all the steps, including installing the necessary prerequisites.

Support the project on Github, Patreon or Twitch!

The free version of StreamFX is only possible with continuous financial support! If StreamFX is making your creator life easier, please support the development on Github, Patreon or Twitch! Alternatively, if you don't like continuous support, consider a one-time donation via PayPal.

Assets 13

@Xaymar Xaymar released this Sep 25, 2020 · 43 commits to master since this release

Version 0.9 brings several much needed fixes as well as improvements, from user experience changes in NVENC to internal fixes to improve plugin and libOBS stability. Let's go over the major changes:

Integrated update checking!

Tired of having to manually refresh the plugin page in the browser to find new updates? Well look no further than this new addition! The plugin now includes a manual and automated way to check for updates, entirely within OBS! You can even select which update channel you want to be notified for.

FFmpeg Encoders are now available on Linux!

The user friendly FFmpeg Encoder interface is now also available on Linux systems, enabling Linux users to also get the best possible quality out of their system. While zero-copy is not supported due to a libOBS limitation, everything else should work as expected.

Improved user interface for NVIDIA NVENC encoders!

The user interface for NVIDIA NVENC (via FFmpeg) encoders was slightly changed to improve the user experience. Some unsupported values have been permanently removed until a newer NVENC generation adds them to the hardware.

Randomization support in Custom Shaders!

Improve your custom shaders by adding a bit of a random variation to them! Shaders now have access to 16 pseudo-random values which can be used to add some flair to the shader of your choice. Don't stick with boring static shaders, enhance them with a bit of variation!

New custom shader examples!

Thanks to @Oncorporation and @robmoggach, we now have additional custom shader examples, readily available for you to use! @Oncorporation added extra techniques to the "Luma Burn" effect, and @robmoggach ported this ShaderToy to StreamFX. Huge shoutout to them for submitting these additions!

Please make sure to read the Installation Guide!

The installation guide covers the required hardware and software to run the plugin, and how to install it through the various options. Please make sure that you have read it in it's entirety before asking for help, as most issues can simply be solved by reading it and actually following all the steps, including installing the necessary prerequisites.

Support the project on Patreon, Github or Twitch!

The StreamFX project is only possible through your financial support! If StreamFX has helped you achieve a unique look in your stream, consider supporting it continuously on Patreon, Github or Twitch - or consider a one time donation via PayPal. Every single bit helps!

Changelog

0.9.0

  • Added a manual and automated way for update checking to be performed. (#325)
  • Fixed a bug that caused the internal thread pool to keep a reference to the work until new work was available. (#327)
  • Fixed support for disambiguations in the UI translation module. (#328)
  • Fixed a mismatched icon in the About StreamFX window. (#329, #336)

0.9.0a3

  • Fixed a Windows exclusive crash in FFmpeg Encoders that prevented the use of some encoders. (#307)
  • Fixed encoders being listed on platforms that don't even have the necessary hardware for them. (#312)
  • Added a new Concentric Rings shadertoy effect, thanks to @robmoggach. (#310)
  • Added Linux support for software-assisted FFmpeg Encoders. Zero-Copy is missing functionality in libOBS. (#313)

0.9.0a2

  • Fixed a potential null pointer exception crash. (#302)
  • Fixed several memory leaks that weren't discovered until now. (#288, #289, #292)
  • Fixed FFmpeg Encoder not falling back to non-zero-copy mode if zero-copy fails to initialize. (#296)
  • Fixed incorrect values being written to the log file by NVENC handlers. (#298)
  • Fixed unhandled FFmpeg Encoders being shown. (#296)
  • Updated the Discord link to the new dedicated server for all StreamFX content and help. (#286)
  • Updated the "About StreamFX" window with the current supporters and contributors. (#287)
  • Updated Ubuntu support to 20.04.
  • Added additional shadertoy effects thanks to @Oncorporation. (#270)
  • Improved the Windows installer, which now automatically installs the necessary MSVC Redistributable, and has received a modern UI. (#275)
  • Removed level 5.2 from FFmpeg Encoder's NVENC H.264 as the underlying implementation doesn't support it. (#300)

0.9.0a1

  • Fixed Shader filters not rendering at the correct resolution. (#262)
  • Fixed Shader filters occasionally turning invisible for no reason. (#265)
  • Fixed Source Mirror sources being invisible on launch in most cases. (#264)
  • Added version information to binary files again. (#242)
  • Added proxy sources and encoders for improved support of old configurations. (#246, #249)
  • Added a new float4x4 Random parameter for Shaders to use, which is automatically filled with seeded random values that are generated per-instance, per-activation or per-frame. (#266)
  • Increased the maximum Shader resolution from 8192x8192 to 16384x16384. (#262)
  • Improved the user experience for the FFmpeg Encoder NVENC encoders. (#268)
Assets 13
Pre-release

@Xaymar Xaymar released this Sep 10, 2020 · 55 commits to master since this release

Version 0.9.0 has been fully released, please use that build instead!

Do you like StreamFX? Consider supporting the project!

This plugin is only possible through the continuous support through Patreon, Github Sponsors and Twitch subscribers. If StreamFX has helped you achieve your ideal setup, consider supporting the project through one of the platforms. Even a 1$/mo support helps with the development of the project so that I don't have to seek other means of funding.

Please make sure to read the Installation Guide!

The installation guide covers the required hardware and software to run the plugin, and how to install it through the various options. Please make sure that you have read it in it's entirety before asking for help, as most issues can simply be solved by reading it and actually following all the steps, including installing the necessary prerequisites.

Changelog

0.9.0a3

  • Fixed a Windows exclusive crash in FFmpeg Encoders that prevented the use of some encoders. (#307)
  • Fixed encoders being listed on platforms that don't even have the necessary hardware for them. (#312)
  • Added a new Concentric Rings shadertoy effect, thanks to @robmoggach. (#310)
  • Added Linux support for software-assisted FFmpeg Encoders. Zero-Copy is missing functionality in libOBS. (#313)

0.9.0a2

  • Fixed a potential null pointer exception crash. (#302)
  • Fixed several memory leaks that weren't discovered until now. (#288, #289, #292)
  • Fixed FFmpeg Encoder not falling back to non-zero-copy mode if zero-copy fails to initialize. (#296)
  • Fixed incorrect values being written to the log file by NVENC handlers. (#298)
  • Fixed unhandled FFmpeg Encoders being shown. (#296)
  • Updated the Discord link to the new dedicated server for all StreamFX content and help. (#286)
  • Updated the "About StreamFX" window with the current supporters and contributors. (#287)
  • Updated Ubuntu support to 20.04.
  • Added additional shadertoy effects thanks to @Oncorporation. (#270)
  • Improved the Windows installer, which now automatically installs the necessary MSVC Redistributable, and has received a modern UI. (#275)
  • Removed level 5.2 from FFmpeg Encoder's NVENC H.264 as the underlying implementation doesn't support it. (#300)

0.9.0a1

  • Fixed Shader filters not rendering at the correct resolution. (#262)
  • Fixed Shader filters occasionally turning invisible for no reason. (#265)
  • Fixed Source Mirror sources being invisible on launch in most cases. (#264)
  • Added version information to binary files again. (#242)
  • Added proxy sources and encoders for improved support of old configurations. (#246, #249)
  • Added a new float4x4 Random parameter for Shaders to use, which is automatically filled with seeded random values that are generated per-instance, per-activation or per-frame. (#266)
  • Increased the maximum Shader resolution from 8192x8192 to 16384x16384. (#262)
  • Improved the user experience for the FFmpeg Encoder NVENC encoders. (#268)
Assets 13

@Xaymar Xaymar released this Jul 30, 2020 · 124 commits to master since this release

An oversight in testing made a Windows-exclusive NVENC crash happen, which is fixed by this patch. If version 0.8.1 was working fine for you, updating is completely optional.

Do you like StreamFX? Consider supporting the project!

This plugin is only possible through the continuous support through Patreon, Github Sponsors and Twitch subscribers. If StreamFX has helped you achieve your ideal setup, consider supporting the project through one of the platforms. Even a 1$/mo support helps with the development of the project so that I don't have to seek other means of funding.

Please make sure to read the Installation Guide!

The installation guide covers the required hardware and software to run the plugin, and how to install it through the various options. Please make sure that you have read it in it's entirety before asking for help, as most issues can simply be solved by reading it and actually following all the steps, including installing the necessary prerequisites.

Changelog

0.8.3

  • Fixed a Windows-exclusive crash when attempting to encode with NVENC. (#307)

0.8.2

  • Fixed incorrect values being written to the log file by NVENC handlers. (#298)
  • Fixed the "About StreamFX" dialog showing up on every launch. (#302)
  • Updated the "About StreamFX" dialog with new data. (#287)
  • Removed level 5.2 from NVENC H.264 as the underlying FFmpeg doesn't support it. (#300)

0.8.1

  • Added version information to binary files again.
  • Fixed several memory leaks that weren't discovered until now (#288, #289, #292).
  • Fixed Shader filters occasionally turning invisible for no reason. (#265)
  • Fixed Shader filters not rendering at the correct resolution. (#262)
  • Fixed Source Mirror sources being invisible on launch. (#264)
  • Improved the Windows installer, which now automatically installs the necessary MSVC Redistributable, and has received a modern UI.
  • Updated the Discord link to the new dedicated server for all StreamFX content and help.

0.8.0

  • Fixed a crash on closing OBS Studio caused by an Audio-enabled Source Mirror.
  • Fixed a possible scheduler collision between NVENC and NVIDIA Face Tracking causing sub-par performance.
  • Fixed Transition Shaders not getting their parameters in the correct order, causing some parameters to have no data.
  • Fixed a crash caused by FFmpeg encoders with no supported pixel formats.
  • Fixed incorrect colors when OBS is set to record sRGB content.
  • Fixed cases in which the configuration file for StreamFX would not save and reset every time.
  • Fixed a flickering bug causing the 'About StreamFX' window to appear all the time or not appear at all.
  • Fixed support for the AppleClang compiler.
  • Fixed an uncommon out-of-order-lock freeze triggered by Source Mirror.
  • Fixed support for Boolean values in Shaders.
  • Improved performance of Shaders drastically by reusing existing memory and some additional compiler optimizations.
  • Improved tracking quality in NVIDIA Face Tracking by moving part of the update logic into the per-frame update instead of the per-track update.
  • Improved overall performance slightly by reusing existing memory.
  • Moved the StreamFX menu out of the 'Tools' menu into the main menu.
  • Added the new 'Thank You' images to the 'About StreamFX' window.
  • Added support for enumerations (int, float) to Shaders.
  • Added support for value suffixes to Shaders.
  • Added the currently used StreamFX version to the 'About StreamFX' window.

0.8.0b3

  • Fixed Linux being unable to load the plugin due to a missing Qt symbol.
  • Fixed vertex buffers not being initialized to 0, causing some effects to not render.
  • Fixed mip-mapping causing Browser Sources to render corrupted.
  • Fixed Dual-Filtering Blur causing excessive GPU usage due to miscalculated render target sizes, which also fixes Dual-Filtering looking weird.
  • Fixed the "Adaptive I-Frames" option being inverted in the NVENC FFmpeg Encoders.
  • Fixed that "Adaptive B-Frames" is not actually being applied in the NVENC FFmpeg Encoders.
  • Improved the performance of various rendering steps by using a single fullscreen tri instead of a quad (See #199). The effects should be immediately noticable with mip-mapping and some of the Blur effects.
  • Added optional performance profiling which by default is not compiled in. Developers can choose to build StreamFX with it if they wish to check for possible optimizations.
  • Removed any currently broken shader examples.

0.8.0b2

  • (Hotfix 2) Actually fixed Shaders losing the ability to render transparency.
  • (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.effect which 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.

0.8.0b1

  • 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 lib prefix from the StreamFX.so files on Linux. Make sure you delete the old version of the plugin first if you're using Linux!

0.8.0a4

  • 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!

0.8.0a3

  • 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.

0.8.0a2

  • 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.

0.8.0a1

  • 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 data/ to data/examples/.
  • 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).
Assets 13
Pre-release
  • 0.9.0a2
  • e9b6f72
  • Compare
    Choose a tag to compare
    Search for a tag
  • 0.9.0a2
  • e9b6f72
  • Compare
    Choose a tag to compare
    Search for a tag

@Xaymar Xaymar released this Aug 14, 2020 · 74 commits to master since this release

Version 0.9.0 has been fully released, please use that build instead!

Do you like StreamFX? Consider supporting the project!

This plugin is only possible through the continuous support through Patreon, Github Sponsors and Twitch subscribers. If StreamFX has helped you achieve your ideal setup, consider supporting the project through one of the platforms. Even a 1$/mo support helps with the development of the project so that I don't have to seek other means of funding.

Please make sure to read the Installation Guide!

The installation guide covers the required hardware and software to run the plugin, and how to install it through the various options. Please make sure that you have read it in it's entirety before asking for help, as most issues can simply be solved by reading it and actually following all the steps, including installing the necessary prerequisites.

Changelog

0.9.0a2

  • Fixed a potential null pointer exception crash. (#302)
  • Fixed several memory leaks that weren't discovered until now. (#288, #289, #292)
  • Fixed FFmpeg Encoder not falling back to non-zero-copy mode if zero-copy fails to initialize. (#296)
  • Fixed incorrect values being written to the log file by NVENC handlers. (#298)
  • Fixed unhandled FFmpeg Encoders being shown. (#296)
  • Updated the Discord link to the new dedicated server for all StreamFX content and help. (#286)
  • Updated the "About StreamFX" window with the current supporters and contributors. (#287)
  • Updated Ubuntu support to 20.04.
  • Added additional shadertoy effects thanks to @Oncorporation. (#270)
  • Improved the Windows installer, which now automatically installs the necessary MSVC Redistributable, and has received a modern UI. (#275)
  • Removed level 5.2 from FFmpeg Encoder's NVENC H.264 as the underlying implementation doesn't support it. (#300)

0.9.0a1

  • Fixed Shader filters not rendering at the correct resolution. (#262)
  • Fixed Shader filters occasionally turning invisible for no reason. (#265)
  • Fixed Source Mirror sources being invisible on launch in most cases. (#264)
  • Added version information to binary files again. (#242)
  • Added proxy sources and encoders for improved support of old configurations. (#246, #249)
  • Added a new float4x4 Random parameter for Shaders to use, which is automatically filled with seeded random values that are generated per-instance, per-activation or per-frame. (#266)
  • Increased the maximum Shader resolution from 8192x8192 to 16384x16384. (#262)
  • Improved the user experience for the FFmpeg Encoder NVENC encoders. (#268)
Assets 13

@Xaymar Xaymar released this Jul 29, 2020 · 124 commits to master since this release

Please use the most up to date version of StreamFX! You can find it here.

This small patch fixes the two big problems discovered in version 0.8.1. The "About StreamFX" window should now remember that it was already shown before, and NVENC no longer writes incorrect values to the log file. Additionally the thank you entries in the about window were updated to match the current supporters.

Do you like StreamFX? Consider supporting the project!

This plugin is only possible through the continuous support through Patreon, Github Sponsors and Twitch subscribers. If StreamFX has helped you achieve your ideal setup, consider supporting the project through one of the platforms. Even a 1$/mo support helps with the development of the project so that I don't have to seek other means of funding.

Please make sure to read the Installation Guide!

The installation guide covers the required hardware and software to run the plugin, and how to install it through the various options. Please make sure that you have read it in it's entirety before asking for help, as most issues can simply be solved by reading it and actually following all the steps, including installing the necessary prerequisites.

Changelog

0.8.2

  • Fixed incorrect values being written to the log file by NVENC handlers. (#298)
  • Fixed the "About StreamFX" dialog showing up on every launch. (#302)
  • Updated the "About StreamFX" dialog with new data. (#287)
  • Removed level 5.2 from NVENC H.264 as the underlying FFmpeg doesn't support it. (#300)

0.8.1

  • Added version information to binary files again.
  • Fixed several memory leaks that weren't discovered until now (#288, #289, #292).
  • Fixed Shader filters occasionally turning invisible for no reason. (#265)
  • Fixed Shader filters not rendering at the correct resolution. (#262)
  • Fixed Source Mirror sources being invisible on launch. (#264)
  • Improved the Windows installer, which now automatically installs the necessary MSVC Redistributable, and has received a modern UI.
  • Updated the Discord link to the new dedicated server for all StreamFX content and help.

0.8.0

  • Fixed a crash on closing OBS Studio caused by an Audio-enabled Source Mirror.
  • Fixed a possible scheduler collision between NVENC and NVIDIA Face Tracking causing sub-par performance.
  • Fixed Transition Shaders not getting their parameters in the correct order, causing some parameters to have no data.
  • Fixed a crash caused by FFmpeg encoders with no supported pixel formats.
  • Fixed incorrect colors when OBS is set to record sRGB content.
  • Fixed cases in which the configuration file for StreamFX would not save and reset every time.
  • Fixed a flickering bug causing the 'About StreamFX' window to appear all the time or not appear at all.
  • Fixed support for the AppleClang compiler.
  • Fixed an uncommon out-of-order-lock freeze triggered by Source Mirror.
  • Fixed support for Boolean values in Shaders.
  • Improved performance of Shaders drastically by reusing existing memory and some additional compiler optimizations.
  • Improved tracking quality in NVIDIA Face Tracking by moving part of the update logic into the per-frame update instead of the per-track update.
  • Improved overall performance slightly by reusing existing memory.
  • Moved the StreamFX menu out of the 'Tools' menu into the main menu.
  • Added the new 'Thank You' images to the 'About StreamFX' window.
  • Added support for enumerations (int, float) to Shaders.
  • Added support for value suffixes to Shaders.
  • Added the currently used StreamFX version to the 'About StreamFX' window.

0.8.0b3

  • Fixed Linux being unable to load the plugin due to a missing Qt symbol.
  • Fixed vertex buffers not being initialized to 0, causing some effects to not render.
  • Fixed mip-mapping causing Browser Sources to render corrupted.
  • Fixed Dual-Filtering Blur causing excessive GPU usage due to miscalculated render target sizes, which also fixes Dual-Filtering looking weird.
  • Fixed the "Adaptive I-Frames" option being inverted in the NVENC FFmpeg Encoders.
  • Fixed that "Adaptive B-Frames" is not actually being applied in the NVENC FFmpeg Encoders.
  • Improved the performance of various rendering steps by using a single fullscreen tri instead of a quad (See #199). The effects should be immediately noticable with mip-mapping and some of the Blur effects.
  • Added optional performance profiling which by default is not compiled in. Developers can choose to build StreamFX with it if they wish to check for possible optimizations.
  • Removed any currently broken shader examples.

0.8.0b2

  • (Hotfix 2) Actually fixed Shaders losing the ability to render transparency.
  • (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.effect which 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.

0.8.0b1

  • 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 lib prefix from the StreamFX.so files on Linux. Make sure you delete the old version of the plugin first if you're using Linux!

0.8.0a4

  • 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!

0.8.0a3

  • 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.

0.8.0a2

  • 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.

0.8.0a1

  • 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 data/ to data/examples/.
  • 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).
Assets 13

@Xaymar Xaymar released this Jul 27, 2020 · 124 commits to master since this release

Please use the most up to date version of StreamFX! You can find it here.

It has been just under two months, and it's time for a patch release! A number of critical bugs have been fixed, which should result in an improved user experience, OBS stability, and perhaps even higher performance.

Source Mirror sources and Shader filters should no longer turn invisible!

Scene collections which heavily relied on these should now no longer have any issues with them, and properly show them. While the underlying cause has not been fully fixed, it should fix the issue for the majority of use cases for now. Known problematic mirror inputs are async sources that get a size at a later point in time, and sources without a size.

Shader filters now capture at the correct resolution!

Get all the quality out of your shader filter, instead of only a fraction of it! Effects made using shaders should now look cleaner than ever before, and performance should return to normal for shaders that were set to >100% size.

The Windows installer has been reworked!

The installer now automatically installs any missing Microsoft Visual C++ Redistributables, and should look much more modern compared to before. Additionally the confusing upgrade step has been simplified significantly, so installing the plugin is now easier than ever before!

Tons of memory leak were fixed!

A lot of undiscovered memory leaks appeared while testing more complicated setups. These have all been fixed now, and you should no longer encounter any memory leaks within StreamFX itself. There is still one known memory leak that is caused by OBS Studio, which will be fixed by a future update to OBS Studio - stay tuned for that!

Do you like StreamFX? Consider supporting the project!

This plugin is only possible through the continuous support through Patreon, Github Sponsors and Twitch subscribers. If StreamFX has helped you achieve your ideal setup, consider supporting the project through one of the platforms. Even a 1$/mo support helps with the development of the project so that I don't have to seek other means of funding.

Please make sure to read the Installation Guide!

The installation guide covers the required hardware and software to run the plugin, and how to install it through the various options. Please make sure that you have read it in it's entirety before asking for help, as most issues can simply be solved by reading it and actually following all the steps, including installing the necessary prerequisites.

Changelog

0.8.1

  • Added version information to binary files again.
  • Fixed several memory leaks that weren't discovered until now (#288, #289, #292).
  • Fixed Shader filters occasionally turning invisible for no reason. (#265)
  • Fixed Shader filters not rendering at the correct resolution. (#262)
  • Fixed Source Mirror sources being invisible on launch. (#264)
  • Improved the Windows installer, which now automatically installs the necessary MSVC Redistributable, and has received a modern UI.
  • Updated the Discord link to the new dedicated server for all StreamFX content and help.

0.8.0

  • Fixed a crash on closing OBS Studio caused by an Audio-enabled Source Mirror.
  • Fixed a possible scheduler collision between NVENC and NVIDIA Face Tracking causing sub-par performance.
  • Fixed Transition Shaders not getting their parameters in the correct order, causing some parameters to have no data.
  • Fixed a crash caused by FFmpeg encoders with no supported pixel formats.
  • Fixed incorrect colors when OBS is set to record sRGB content.
  • Fixed cases in which the configuration file for StreamFX would not save and reset every time.
  • Fixed a flickering bug causing the 'About StreamFX' window to appear all the time or not appear at all.
  • Fixed support for the AppleClang compiler.
  • Fixed an uncommon out-of-order-lock freeze triggered by Source Mirror.
  • Fixed support for Boolean values in Shaders.
  • Improved performance of Shaders drastically by reusing existing memory and some additional compiler optimizations.
  • Improved tracking quality in NVIDIA Face Tracking by moving part of the update logic into the per-frame update instead of the per-track update.
  • Improved overall performance slightly by reusing existing memory.
  • Moved the StreamFX menu out of the 'Tools' menu into the main menu.
  • Added the new 'Thank You' images to the 'About StreamFX' window.
  • Added support for enumerations (int, float) to Shaders.
  • Added support for value suffixes to Shaders.
  • Added the currently used StreamFX version to the 'About StreamFX' window.

0.8.0b3

  • Fixed Linux being unable to load the plugin due to a missing Qt symbol.
  • Fixed vertex buffers not being initialized to 0, causing some effects to not render.
  • Fixed mip-mapping causing Browser Sources to render corrupted.
  • Fixed Dual-Filtering Blur causing excessive GPU usage due to miscalculated render target sizes, which also fixes Dual-Filtering looking weird.
  • Fixed the "Adaptive I-Frames" option being inverted in the NVENC FFmpeg Encoders.
  • Fixed that "Adaptive B-Frames" is not actually being applied in the NVENC FFmpeg Encoders.
  • Improved the performance of various rendering steps by using a single fullscreen tri instead of a quad (See #199). The effects should be immediately noticable with mip-mapping and some of the Blur effects.
  • Added optional performance profiling which by default is not compiled in. Developers can choose to build StreamFX with it if they wish to check for possible optimizations.
  • Removed any currently broken shader examples.

0.8.0b2

  • (Hotfix 2) Actually fixed Shaders losing the ability to render transparency.
  • (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.effect which 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.

0.8.0b1

  • 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 lib prefix from the StreamFX.so files on Linux. Make sure you delete the old version of the plugin first if you're using Linux!

0.8.0a4

  • 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!

0.8.0a3

  • 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.

0.8.0a2

  • 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.

0.8.0a1

  • 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 data/ to data/examples/.
  • 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).
Assets 13
Pre-release

@Xaymar Xaymar released this Jul 19, 2020 · 100 commits to master since this release

Version 0.9.0 has been fully released, please use that build instead!

Do you like StreamFX? Consider supporting the project!

This plugin is only possible through the continuous support through Patreon, Github Sponsors and Twitch subscribers. If StreamFX has helped you achieve your ideal setup, consider supporting the project through one of the platforms. Even a 1$/mo support helps with the development of the project so that I don't have to seek other means of funding.

Please make sure to read the Installation Guide!

The installation guide covers the required hardware and software to run the plugin, and how to install it through the various options. Please make sure that you have read it in it's entirety before asking for help, as most issues can simply be solved by reading it and actually following all the steps, including installing the necessary prerequisites.

Changelog

0.9.0a1

  • #242 Binary files should now have a version again.
  • #246 Added proxy sources for older source ids.
  • #249 Added proxy encoders for older encoder ids.
  • #262 Fixed Shader filters capturing the input at the scaled instead of original resolution.
  • #262 Increased the maximum shader resolution to 16384x16384.
  • #264 Possibly fixed the invisible Source Mirror problem.
  • #265 Possibly fixed the invisible filter problem for Shaders.
  • #266 Added a new 'float4x4 Random' parameter for Shaders, which has Per-Instance (seeded) random, Per-Activation random and Per-Frame random values.
  • #268 Drastically improved the UI/UX for the NVENC encoders.
Assets 13

@Xaymar Xaymar released this May 31, 2020 · 124 commits to master since this release

Please use the most up to date version of StreamFX! You can find it here.

It's finally time for the long awaited full and final release of StreamFX 0.8.0! As the new baseline version for future updates and improvements, 0.8.0 brings with it a lot of fixes, performance improvements, and even some new additions!

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.

Please make sure to read the Installation Guide!

The installation guide covers many common issues, such as the plugin not appearing. Please make sure to read it in its entirety.

Notable Changes (since 0.7)

Support for 32-bit has been stopped!

With 0.8.0a1 I stopped officially supporting the use of the 32-bit plugin and OBS Studio, and with this release it is now set in stone. If you are still stuck on 32-bit, you will have to stick with older versions of the plugin, but the majority of you should already have a 64-bit capable system and should be using the 64-bit version of OBS Studio.

FFmpeg Encoders are now part of StreamFX

Yes, that's right: my old ffmpeg-encoders plugin is now fully merged into StreamFX. This is to reduce my effective work load in supporting two code bases with the same fixes, instead of just applying them to one. This also has the additional benefit that I can use any of the helper classes of StreamFX in the FFmpeg Encoders to improve their quality and UI/UX.

Custom Shaders are here!

With 0.8.0a3 custom shaders were introduced, and they are now here to stay. This release marks the first stable release of the Shaders, which can be added as a Source, Filter or Transition! They are incredibly powerful, and will recieve many new abilities later on into development. Just take a look at the page on the wiki to see what they can do.

Keep your face in the frame with the NVIDIA Face Tracking filter!

Thanks to NVIDIA you now have a way to bypass all the annoying work of manually cropping your camera to fit in the frame. Just add the filter, and it will take care of tracking the region that should be kept in the frame, so that you can focus on your content! (Requires an NVIDIA RTX GPU to be present and in use by OBS Studio.)

Added a new UI integration for StreamFX!

You can now find a new StreamFX menu in OBS Studio if you've installed it correctly. It contains many useful links, including links to the community and direct links to reporting issues, as well as the new 'About StreamFX' window. The 'About StreamFX' window shows all the people that have contributed towards the development, and contains information about the version of the plugin you are currently using.

Performance Improvements

There has been work to increase the effective performance of StreamFX through the use of more modern coding ways, including some compiler optimizations. These improvements should lead to a 10% reduction in CPU and GPU usage, more if you're using a Laptop or mobile APU.

Changelog

0.8.0

  • Fixed a crash on closing OBS Studio caused by an Audio-enabled Source Mirror.
  • Fixed a possible scheduler collision between NVENC and NVIDIA Face Tracking causing sub-par performance.
  • Fixed Transition Shaders not getting their parameters in the correct order, causing some parameters to have no data.
  • Fixed a crash caused by FFmpeg encoders with no supported pixel formats.
  • Fixed incorrect colors when OBS is set to record sRGB content.
  • Fixed cases in which the configuration file for StreamFX would not save and reset every time.
  • Fixed a flickering bug causing the 'About StreamFX' window to appear all the time or not appear at all.
  • Fixed support for the AppleClang compiler.
  • Fixed an uncommon out-of-order-lock freeze triggered by Source Mirror.
  • Fixed support for Boolean values in Shaders.
  • Improved performance of Shaders drastically by reusing existing memory and some additional compiler optimizations.
  • Improved tracking quality in NVIDIA Face Tracking by moving part of the update logic into the per-frame update instead of the per-track update.
  • Improved overall performance slightly by reusing existing memory.
  • Moved the StreamFX menu out of the 'Tools' menu into the main menu.
  • Added the new 'Thank You' images to the 'About StreamFX' window.
  • Added support for enumerations (int, float) to Shaders.
  • Added support for value suffixes to Shaders.
  • Added the currently used StreamFX version to the 'About StreamFX' window.

0.8.0b3

  • Fixed Linux being unable to load the plugin due to a missing Qt symbol.
  • Fixed vertex buffers not being initialized to 0, causing some effects to not render.
  • Fixed mip-mapping causing Browser Sources to render corrupted.
  • Fixed Dual-Filtering Blur causing excessive GPU usage due to miscalculated render target sizes, which also fixes Dual-Filtering looking weird.
  • Fixed the "Adaptive I-Frames" option being inverted in the NVENC FFmpeg Encoders.
  • Fixed that "Adaptive B-Frames" is not actually being applied in the NVENC FFmpeg Encoders.
  • Improved the performance of various rendering steps by using a single fullscreen tri instead of a quad (See #199). The effects should be immediately noticable with mip-mapping and some of the Blur effects.
  • Added optional performance profiling which by default is not compiled in. Developers can choose to build StreamFX with it if they wish to check for possible optimizations.
  • Removed any currently broken shader examples.

0.8.0b2

  • (Hotfix 2) Actually fixed Shaders losing the ability to render transparency.
  • (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.effect which 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.

0.8.0b1

  • 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 lib prefix from the StreamFX.so files on Linux. Make sure you delete the old version of the plugin first if you're using Linux!

0.8.0a4

  • 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!

0.8.0a3

  • 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.

0.8.0a2

  • 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.

0.8.0a1

  • 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 data/ to data/examples/.
  • 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).
Assets 13
Pre-release
Pre-release

@Xaymar Xaymar released this May 2, 2020 · 149 commits to master since this release

Please do not use pre-release builds in production! For production use, always use the latest stable release.

Another week, another beta release! This weeks update brings much needed optimizations to StreamFX, and some additional fixes as always. Let's delve into the details:

Performance Improvements

All filters and sources have received massive performance optimizations, which should help you reach your higher resolution or framerate goal - or maybe even both! Dual-Filtering Blur also now works as expected and outperforms Gaussian and Box blur in almost all cases. In testing with every single filter applied to a 2560x1440 source and all sources, rendering time dropped from 34.1815ms to 31.1205ms - almost 10% lower! This should allow anyone to enjoy using StreamFX, and have a drastic performance impact in integrated GPUs or weaker GPUs.

Fixes for FFmpeg NVENC

The "Adaptive I-Frames" and "Adaptive B-Frames" options should now actually work again, thanks to cs9kc for reporting this. The behavior before now was that these options weren't even applied properly, resulting in streams and recordings looking worse than they should. Expect to see a slight quality improvement if you have both enabled after installing the new Beta!

Mip-mapping Rework

The mip-mapping option in 3D Transform has been reworked and should now be much more efficient at the task, but has lost some of its features - of which many weren't even implemented. This should allow you to check the mip-mapping option on every 3D Transform filter without noticing a dent in render times - but realisticly you only need it for sources where there is a lot of pixel-to-pixel variation.

Fixed Linux

And as a final fix, Linux users should now be able to use the plugin again! The missing symbols should now be properly linked into the binary and there should be no issues loading the plugin. Functionality is a different thing and if you find any crashes or bugs, please report them via the new entry in the Tools menu! Just click on "Tools", then "StreamFX", then "Report a Bug or Crash".

Changelog

0.8.0b3

  • Fixed Linux being unable to load the plugin due to a missing Qt symbol.
  • Fixed vertex buffers not being initialized to 0, causing some effects to not render.
  • Fixed mip-mapping causing Browser Sources to render corrupted.
  • Fixed Dual-Filtering Blur causing excessive GPU usage due to miscalculated render target sizes, which also fixes Dual-Filtering looking weird.
  • Fixed the "Adaptive I-Frames" option being inverted in the NVENC FFmpeg Encoders.
  • Fixed that "Adaptive B-Frames" is not actually being applied in the NVENC FFmpeg Encoders.
  • Improved the performance of various rendering steps by using a single fullscreen tri instead of a quad (See #199). The effects should be immediately noticable with mip-mapping and some of the Blur effects.
  • Added optional performance profiling which by default is not compiled in. Developers can choose to build StreamFX with it if they wish to check for possible optimizations.
  • Removed any currently broken shader examples.

0.8.0b2

  • (Hotfix 2) Actually fixed Shaders losing the ability to render transparency.
  • (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.effect which 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.

0.8.0b1

  • 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 lib prefix from the StreamFX.so files on Linux. Make sure you delete the old version of the plugin first if you're using Linux!

0.8.0a4

  • 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!

0.8.0a3

  • 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.

0.8.0a2

  • 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.

0.8.0a1

  • 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 data/ to data/examples/.
  • 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).
Assets 13
You can’t perform that action at this time.