StreamFX 0.12.0 Alpha 117
Pre-release⚠️ Binaries removed due to GPL license violation! ⚠️
We had to remove binaries and source code due to a contributor submitting code that was not licensed under the GPLv2 "or later" license or any compatible license. While we were able to adjust the source code contained in the repository to exclude these license violations, we can't guarantee that binaries will be available again.
⚠️ Pre-Releases are not meant for Production usage!⚠️
These releases are offered for early adopter Supporters 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!
System Requirements
Please read the Installation Guide and 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 |
Ubuntu, Debian, ... |
MacOS |
||
---|---|---|---|---|
OS | Minimum | Windows 10 21H2 (or newer) | Ubuntu 20.04 (or newer), (or equivalent Distro) | MacOS 10.15 (or newer) |
Recommended | Windows 10 21H2 (or newer), Windows 11 (or newer) | Ubuntu 22.04 (or newer), or equivalent Distro | MacOS 12 (or newer) | |
CPU | Minimum |
Any x86-64-v3 compatible: AMD Excavator Series, Intel Haswell Series Required Instruction Sets: x86-64-v2, AVX, BMI1, BMI2, F16C, FMA, MOVBE |
||
Any ARM64-v8.5-A compatible: Apple M1 Series | ||||
Recommended |
Any x86-64-v3 compatible: AMD Zen 2 Series, Intel Comet Lake Series Required Instruction Sets: x86-64-v2, AVX, BMI1, BMI2, F16C, FMA, MOVBE |
|||
Any ARM64-v8.5-A compatible: Apple M1 Series | ||||
Memory (RAM) | Minimum | 4 GiB (free) | ||
Recommended | 8 GiB (free) | 6 GiB (free) | ||
Video (GPU) | Minimum | DirectX 11 / OpenGL 3 capable, Shader Model 4, 4 GiB VRAM (total) | ||
Recommended | DirectX 12 / OpenGL 4 capable, Shader Model 5, 6 GiB VRAM (total) | |||
Disk Space | Minimum | ~50 MiB (free) | ||
Recommended | ~50 MiB (free) | |||
OBS Version | Minimum | 28.0.0 | ||
Recommended | 28.0.0 or newer | |||
Other | Microsoft Visual C/C++ Redistributable 2017-2022 |
Qt for obs-studio FFmpeg for obs-studio |
What's Changed
New Release process: Alpha -> Beta -> Candidate -> Release!
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.
Avid DNxHR Encoder (via FFmpeg) by @IceStormNG
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.
Loadable Bundles on MacOS
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.
⚠ This change requires that you cleanly remove old versions of StreamFX first!
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.
Universal Binaries for x86 & ARM64 support on MacOS
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.
Deprecation of the AMD AMF (via FFmpeg) encoders
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).
Deprecation of the AV1 (via AOM) Encoder
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.
Shader Texture Inputs no longer corrupt Scene Collections
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.
Detailed Changelog
0.12.0a117
0.12.0a106
- #881: Texture inputs to Shaders are unstable by @Xaymar in #884
- Deprecate AMD AMF encoders by @Xaymar in #885
- Deprecate AOM AV1 encoder by @Xaymar in #886
- Add missing deprecation notices by @Xaymar in #889
- New Crowdin updates by @Xaymar in #867
- cmake: Fix bad version strings by @Xaymar in #887
- project: Updating contributing guidelines by @Xaymar in #894
- New Crowdin updates by @Xaymar in #890
- project: Updating contributing guidelines by @Xaymar in #895
- Fix a huge number of warnings by @Xaymar in #893
- third-party: Update obs-studio to 28.0.0 by @Xaymar in #901
- code: Fix GCC warning diagnostic pragmas by @Xaymar in #902
- New Crowdin updates by @Xaymar in #897
0.12.0a77
- New Crowdin updates by @Xaymar in #817
- Improve GitHub integration by @Xaymar in #841
- project: Fix incorrect tabs in YAML by @Xaymar in #842
- Improve metadata generation by @Xaymar in #837
- cmake: Add support for Qt6 by @Xaymar in #866
- New Crowdin updates by @Xaymar in #832
- Further improve CI and Github integration by @Xaymar in #843
- ci: Remove Code Signing with self-signed certificate by @Xaymar in #873
- Fix compilation errors with Debug and/or Profiling by @Xaymar in #876
- Deduplicate CI build pipeline by @Xaymar in #874
- Remove Auto-Dependency System by @Xaymar in #870
- Working on source code [Refactor] by @GermanAizek in #836
- obs/gs/effect: Revert #836 by @Xaymar in #880
- Update libOBS to 28.0.0-rc1 by @Xaymar in #878
0.12.0a45
- Improve CMake build script(s) by @Xaymar in #813
- ci: Add GCC back to the build by @Xaymar in #820
- Add ClangCL, and update Windows SDK requirements by @Xaymar in #821
- ci: Allow failures for experimental CI tests by @Xaymar in #824
- ci: Use specific LLVM/Clang versions by @Xaymar in #825
- project: Add support for multi stage release cycles by @Xaymar in #823