Live Background Removal Lite

Live Background Removal Lite 3.9.0

Release Note: 3.7.0 (2026-01-06)​

Focus: Improved Compatibility with Older Machines​

Notable Changes Since v3.6.1​

Enhanced CPU Compatibility​

  • Broader Hardware Support:
    Updated build configurations for Windows, Linux, and macOS to increase compatibility with older CPUs by removing architecture-specific compiler flags.
    • On Linux/macOS:
      Dropped the -march=x86-64-v3 flag from custom vcpkg triplets (x64-linux-obs.cmake, x64-linux-obs-asan.cmake, x64-osx-obs.cmake, x64-osx-obs-asan.cmake).
      Result: Builds will now run on CPUs older than x86-64-v3 baseline (e.g., pre-Haswell Intel & pre-Zen AMD processors).
    • On Windows:
      Removed /arch:AVX2 from Windows triplets (x64-windows-static-md-obs.cmake, x64-windows-static-md-obs-asan.cmake).
      Result: Compatibility is restored for CPUs lacking AVX2 instruction set support.
  • Sanitizer Support Remains:
    Address Sanitizer (-fsanitize=address or /fsanitize=address) flags are still present in sanitizer-enabled builds, but no longer enforce a minimum CPU architecture.

Benefits​

  • Portability:
    Users on legacy or older hardware can now build and run the application without encountering "illegal instruction" or similar errors due to unsupported CPU flags.
  • Simplified Build Configuration:
    Easier for users to customize and cross-compile, as triplets now use more generic compiler options.

Upgrade Note:
No action required for existing users, but anyone previously unable to build or run on older machines is encouraged to try this release.


Contributed by @umireon & Copilot.

Release Notes: v3.6.1​

Happy New Year! We’re pleased to announce version 3.6.1 of live-backgroundremoval-lite, focusing on smoother deployment and reliability.

What’s New​

  • The MediaPipe Selfie Segmentation model is now embedded directly within the plugin binaries.
  • No more separate model files to manage – deployment is now simpler and less error-prone!
  • The build system automatically includes the new static C arrays for model parameters and binary data.

  • Path handling for model files has been removed from PluginConfig.
  • Initialization logic is updated to use embedded model data with a new fallback method for error recovery.
  • Configuration loading is now more robust, and errors are handled more gracefully.

  • Unit tests now use the embedded model data, removing the need to load external files.
  • Test build config updated to ensure reliability with the new embedded approach.

Why Upgrade?​

  • Deployment is much easier: No model files are needed at runtime.
  • More resilience: Improved configuration and fallback handling means fewer runtime errors.
  • Streamlined development: Tests work out-of-the-box, and configuration is hassle-free.
Thanks to everyone for your feedback and support! As always, please let us know if you run into any issues or have suggestions for improvements.


kaito-tokyo/live-backgroundremoval-lite Team

Live Background Removal Lite 3.6.0 Release Notes​

Happy New Year, everyone! We’re excited to announce version 3.6.0 of LiveBackgroundRemovalLite—your high-performance, crash-resistant OBS plugin for real-time background removal. This release brings important upgrades focused on lifecycle handling, error logging, licensing clarity, coroutine utilities, improved file name handling, and general polish across the codebase. Here’s what’s new since 3.5.5:


Major Features & Improvements​

OBS Filter Lifecycle Event Support​

  • The plugin now responds to OBS filter lifecycle events, including activate, deactivate, show, and hide.
  • These events are handled robustly, allowing for better resource management and instant frame refreshing whenever you toggle visibility or activation.
  • New lifecycle events were introduced to make the plugin more stable, especially when a filter or source is switched to be active or shown. You should experience fewer glitches and more consistent plugin performance as you switch scenes or toggle sources.
  • The rendering context forcibly processes frames on these events, improving filter responsiveness and reliability.

Improved File Name Handling​

  • You can now use file and folder paths containing non-ASCII characters (such as Japanese, Chinese, emoji, or other "fancy" characters) without issues. This update ensures your backgrounds and sources load correctly, no matter how creative your path names are.

Improved Logging with Structured Error Codes​

  • All logger error and warning messages have been standardized. Instead of verbose strings, you’ll now find concise error codes like "MainPluginContextIsNullError" or "MemoryBlockAcquisitionError" in the logs.
  • This helps with diagnostics, parsing log files, and tracking down issues faster.

License and Attribution Updates​

  • Source files now use SPDX license identifiers, improving clarity and compatibility with automated license checking tools.
  • LiveBackgroundRemovalLite modules consistently reference GPL-3.0-or-later, and attribution wording has been updated.
  • The SelfieSegmenter module has been relicensed from GPL to the more permissive MIT License.
  • Module naming in license headers has been corrected and harmonized.

Coroutine & Async Utilities Expanded​

  • The KaitoTokyo::Async library now includes a new MPSC Channel for high-performance, coroutine-friendly multi-threaded work, along with safe shutdown and exception handling.
  • Added JoinTask and a join() function for synchronously waiting on coroutine completion.
  • The core Task coroutine has been improved for robustness and documented for easier use.

Miscellaneous​

  • Localization keys for the update checker were standardized—users across English, Japanese, and Korean locales benefit from clearer update messages.
  • Project references, such as BridgeUtils → ObsBridgeUtils, are updated in build files and documentation for better consistency.

️ Developer Notes​

  • Exception handling and robust logging wire into all new lifecycle event callbacks.
  • Multiple internal refactors make the codebase easier to read, safer, and more maintainable.

Upgrade Guidance​

This version is a drop-in upgrade. The new lifecycle responsiveness means filters should behave better as you interact with OBS UI, especially when switching source visibility or reactivating filters rapidly. The improved file name handling will especially benefit users with non-English setups or personalized folder names.

We strongly recommend updating to 3.6.0 for improved reliability, Unicode path support, licensing transparency, and developer ergonomics!


Thank you for your continued support and feedback—keep sending bug reports and suggestions on GitHub!


Kaito Udagawa / LiveBackgroundRemovalLite Team

Release Notes: 3.5.5​

What's New:

This release addresses an important compatibility issue for users with video sources that are not in the standard 16:9 aspect ratio.

Fixed​

  • Improved Compatibility with Non-16:9 Video Inputs
    Previously, mask rendering and region of interest (ROI) alignment could appear incorrect or shifted when using video sources with an aspect ratio other than 16:9. With this update, the scaling and positioning for the ROI calculation have been overhauled to ensure proper centering and scaling regardless of your input video's aspect ratio or dimensions.
    The calculations now reference the segmenter’s own target dimensions and center the ROI more accurately, providing a more consistent and visually pleasing background removal effect across all video sources.

Upgrading​

Update as usual—no breaking changes or manual migration steps required.

Thanks for your feedback, and please let us know if you encounter any more edge cases or have suggestions!



Release diff: 3.5.4 → 3.5.5 (commit 5ab820d)
Contributed by @umireon

What's New in 3.5.4​

This release mainly tidies up the build configuration to make things simpler and smoother for both users and developers:

  • Testing is now Opt-In:
    Tests will not be built by default. If you want to include tests, you’ll need to explicitly enable them. This helps reduce build times and keeps things clean for users who don’t need to run tests.
  • Simpler CMake Presets:
    The configuration for enabling tests or sanitizers has been streamlined:
    • Only the BUILD_TESTING option is set in presets by default.
    • Redundant sanitizer options (ENABLE_ASAN, ENABLE_UBSAN) have been removed from most platforms. These are now only present where needed (like the macOS dev ASAN/UBSAN build).
These changes make it easier to build the plugin for everyday use, and clearer when and how development/testing features are enabled.

Thanks for using live-backgroundremoval-lite! If you encounter any issues or have suggestions, feel free to open an issue or pull request

— The Team

What's New in v3.5.3​

We’re excited to present version 3.5.3 of live-backgroundremoval-lite! This release brings powerful improvements to the build system, added tooling for developers, and enhanced cross-platform support. Here’s a friendly overview of what’s new:

Build System & Tooling Enhancements​

  • AddressSanitizer (ASan) & UndefinedBehaviorSanitizer (UBSan) Support
    You can now easily enable ASan and UBSan during builds with the new ENABLE_ASAN and ENABLE_UBSAN CMake options. This makes it much easier to identify bugs and potential issues across all platforms (with built-in checks for non-MSVC environments)!
  • CMake Presets Update
    All build presets are now consistent and include the latest sanitizer options, improving out-of-the-box experience on macOS, Windows, and Linux. There’s also a dedicated macOS development preset just for sanitizer builds.
  • Robust Dependency Resolution
    Dependency finding for core libraries (CURL, fmt, ncnn) now prefers the CMake config route, only falling back to PkgConfig as needed, and provides clearer errors if packages are missing. The old USE_PKGCONFIG option has been removed, making configuration simpler and more reliable.
  • Universal Binary Script for macOS
    New script (scripts/install-vcpkg-macos-asan.sh) allows building vcpkg dependencies for both Apple Silicon (arm64) and Intel (x64), then combining them into universal binaries using lipo. This streamlines development for macOS users who want to take advantage of ASan/UBSan.

Early Win: ASan Catches a Startup Crash!​

The just-added AddressSanitizer support has already proven valuable—ASan detected a serious crash bug on startup during testing. This rapid feedback highlights the importance of sanitizer-enabled builds. We encourage developers and contributors to make use of these new options to catch and resolve issues early!

New Library Integration​

  • exprtk
    The exprtk library is now included, enabling more powerful and flexible mathematical expression handling in the future.

Thanks for using live-backgroundremoval-lite! These enhancements make development and debugging even smoother, particularly on macOS and for contributors working with multiple platforms. Happy coding!

— The live-backgroundremoval-lite Team

Release Notes: v3.5.2​

We're excited to announce Live Background Removal Lite v3.5.2! This release builds on stability and brings major improvements for subject centering, performance, and segmentation quality.


✨ New Features & Improvements​

Experimental: "Center Frame" Subject Tracking​

  • Automatically centers the subject in your video feed, even as you move around the frame.
  • Lets you enable subject centering from the plugin UI (under Advanced Settings).
  • Now fully localized (English, Japanese, Korean).
  • Great for creators who move or reposition during streams!
  • Can be toggled on/off at any time.

Performance: Hardware-Accelerated Bounding Box (ROI) Detection​

  • Bounding box calculation for the subject's region is now significantly fasteron modern CPUs:
    • Uses AVX2 (x86) and NEON (ARM) SIMD for rapid detection when available.
    • Improves real-time responsiveness, especially on supported Windows and ARM-based hardware.

General Enhancements & Refactoring​

  • Safer and clearer calculations for region-of-interest and centering logic—improving reliability and reducing edge-case surprises.
  • Refactored and clarified code to prevent division-by-zero and other minor possible issues.
  • Codebase maintenance: removed legacy UpdateChecker.hpp.

How to use "Center Frame"​

  1. Open the filter properties in OBS.
  2. Find the "Enable Center Frame (Experimental)" option under Advanced Settings.
  3. Toggle it ON to have the subject automatically centered!
    • You can also display the debug visualization from the same window.

Why upgrade?​

  • Sharper segmentation—especially when you are further from the camera or not filling the frame.
  • Smoother user experience with less jitter, better centering, and reduced processing overhead.
  • New features (subject tracking centering and developer visualization) for a more professional, polished broadcast.

Thank you to all contributors and testers—and happy streaming! If you find issues or have suggestions, open an issue.


Full Changelog: See all commits

Release 3.5.1 – A Friendlier, More Transparent Plugin!​

Hello, everyone! The 3.5.1 update is a quality-of-life, maintenance, and compliance release that brings several usability and structural improvements. Here’s what’s new since 3.5.0:


New Features​

  • View Open Source Licenses
    • A dedicated "Open Source Licenses" button now appears in the global settings dialog.
    • Clicking it opens a dialog that neatly lists the licenses of all third-party components used, loaded from embedded resources.
      → This enhances transparency and makes it easy for users to review software licenses.

Compliance & Housekeeping​

  • License Files Added and Cleaned Up
    • Added the license texts for backward-cpp, curl, fmt, googletest, josuttis-jthread, ncnn, obs-studio, qt, stb, wolfssl, and zlib.
    • Removed the unused backward-cpp dependency and its license file for a tidier codebase and correct dependency tracking.

Internal & Developer-Facing Improvements​

  • Structured Logging
    • Overhauled the logging system to support structured logs with context fields and source location info.
    • Logging methods now accept event names and contextual fields for more informative output.
    • Logger implementation is modernized for clearer code and easier maintenance.
  • Translation Updates
    • Japanese and Korean translations updated to cover new strings for license and about dialogs.
  • Aggregate Rating
    • Minor update to ensure reviewCount is accurate in aggregate rating.

Thank you for your feedback and continued support!
If you notice any issues or have suggestions, please open an issue or join the discussion.

Happy streaming and developing!
3.5.0 Latest

Release Notes: v3.5.0 (from v3.4.2)​

Hello, background removal enthusiasts!
We’re excited to announce version 3.5.0 of live-backgroundremoval-lite, packed with robust improvements for developers and advanced users who build from source. This release is all about enhancing build consistency, debugging, and security across platforms—without impacting the plugin’s legendary performance or resource efficiency.

What’s New​

Enhanced Debugging & Security​

  • Improved build triplets:All vcpkg triplet configuration files now include better compiler/linker flags for deeper debug insights and stronger security, such as:
    • For Linux/macOS: -g, -fno-omit-frame-pointer, -fstack-protector-strong
    • For Windows: /Z7 (debug info) and advanced stack protection.
  • Debug symbols installation: Debug info is now preserved by default during installation, making troubleshooting and profiling even easier.

AddressSanitizer (ASAN) Support​

  • New ASAN triplets for multiple platforms:Build with memory error detection tools like AddressSanitizer right out of the box! New triplets enable ASAN builds for:
    • Linux (x64)
    • macOS (x64 and arm64)
    • Windows (x64 static MD)
  • Find these new triplets as:
    • x64-linux-obs-asan.cmake
    • x64-osx-obs-asan.cmake
    • arm64-osx-obs-asan.cmake
    • x64-windows-static-md-obs-asan.cmake

️ Compiler & Platform Upgrades​

  • Standardized architecture flags:Unified settings across platforms for more predictable, optimized builds.
    • Linux/macOS: Switched from -mavx2 to -march=x86-64-v3
    • Windows: Standardized to /arch:AVX2 for both C and C++
  • macOS improvements: Minimum deployment target is now macOS 12.0; architecture detection for x64/arm64 builds is more robust.
  • Cleaner, more consistent triplet files: Deprecated/removed unnecessary flags; added cross-platform consistency.

Thank you for supporting live-backgroundremoval-lite! These foundation improvements keep the codebase stable, secure, and easy for you to debug and extend. If you hit any snags or want to share feedback, please reach out via GitHub Issues.
Happy streaming!

The live-backgroundremoval-lite Team

Release Notes for v3.4.2​

We're excited to announce version 3.4.2 of live-backgroundremoval-lite! This release brings important internal improvements for enhanced performance and reliability of the OBS plugin.

️ Performance & Code Improvements​

  • Optimized Atomic Operations:
    The way atomic variables are accessed and updated in the RenderingContext class has been refactored:
    • Switched to using std::memory_order_relaxed where safe, reducing overhead from unnecessary synchronization.
    • Improved atomic handling makes the plugin faster and more efficient.
    • Clarified logic around segmentation mask updates for greater reliability.
  • Clearer Logging:
    Property update logs are now better organized and written after updates, so log messages always reflect the correct plugin state.

Why this matters​

While you may not notice visible changes, these tweaks mean your real-time background removal will use system resources more efficiently, helping to keep your streaming experience smooth and robust.

Thank you for using live-backgroundremoval-lite! If you experience any issues or have feedback, please let us know on GitHub.


Huge thanks to all contributors and users for your continued support and feedback!
Back
Top