Branch Output - Streaming/Recording filter for source,scene

Branch Output - Streaming/Recording filter for source,scene 1.0.9

New Features​

  • Individual Start/Stop Control: Added a new "Individual" interlock mode that allows streaming, recording, and replay buffer to be started and stopped independently. Per-output enable/disable checkboxes are available in the Status Dock for all interlock modes.
  • Per-Output Hotkeys: Added hotkeys to enable/disable each output type individually — all streaming slots at once, per-slot streaming (up to 8 slots), recording, and replay buffer. Hotkey bindings are preserved across filter renames and OBS restarts.
  • Video Cropping: Added cropping options in the Video Encoder section, supporting both relative (margin) and absolute (region) cropping modes. A live preview rectangle is available in the filter properties to visualize the crop area.
  • Frame Rate Divider: Added a frame rate divider setting that reduces the output frame rate by a configurable divisor (1/2, 1/3, 1/4, 1/5, 1/6). Divisors that do not evenly divide the source FPS are automatically disabled.
  • File Name Override API: Added OBS script procedures (calldata) to override the save file name format of replay buffer and stream recording outputs, along with a procedure to enumerate Branch Output filters. Python sample scripts are included.
  • Replay Buffer Memory Estimate: Added an option to display estimated memory usage for the replay buffer in the filter settings UI.

Improvements​

  • Replay Buffer Size Limit Removed: Removed the hardcoded 512 MB maximum replay buffer size limit, aligning behavior with OBS Studio's built-in replay buffer.
  • Status Dock Split Button While Paused: The recording split button is now displayed in the Status Dock even while recording is paused.

Bug Fixes​

  • Fixed an issue where recording settings could not be properly overridden during pending or paused states.

New Features​

  • Replay Buffer: Independent replay buffer is now available per filter
  • Filter Input Mode (Experimental): Added the ability to capture and output video from the filter chain, with GPU usage optimization
  • Blanking/Mute When Source Not Visible: Added a mode to blank video and mute audio when the source is not visible in the program output (by @RowdyTomato)
  • Blanking Status Display: Blanking state is now shown in the streaming/recording status on the Status Dock
  • New Interlock Modes: Added "Replay Buffer" and "Always OFF" interlock modes
  • Per-Profile Status Dock Settings: Status Dock settings are now saved per OBS profile
  • Improved Properties UI: Filter settings layout has been reorganized for better readability

Bug Fixes​

  • Fixed a crash when quitting OBS with the Status Dock open (by @RowdyTomato)
  • Fixed a crash when the recording path is unavailable, now displays an error message
  • Fixed Status Dock settings not being saved correctly when quitting OBS 32

Instructions​

Replay Buffer​

The replay buffer can be enabled by checking "Replay Buffer" in the filter properties.
To save the replay buffer to a video file, register a hotkey in the OBS Studio settings.

スクリーンショット 2026-02-28 181139.png


Filter Input Mode (Experimental)​

To use Filter Input mode, select "Filter Input" under "Video Source" in "Video Encoder."
The default is "Independent Mix" (the legacy behavior).
With Independent Mix, the encoder has a separate mix from the main, resulting in double rendering.
Filter Input optimizes this to only need to be done once.
This is currently an experimental feature, so if you experience issues with the main render, please select the independent mix.

スクリーンショット 2026-02-28 181710.png

Blanking/Mute When Source Not Visible​

Blanking mode is a function that outputs black video when a source is not displayed on the Program Out (a.k.a. Main Out). Selecting Mute will also mute the audio.
Use this if you do not want to stream or record off-scene footage.
To configure it, use the checkboxes in the Advanced Settings group.

スクリーンショット 2026-02-28 182744.png

Changes​

  • Fix: Bug where hotkeys were not properly re-registered after changed filter names
  • Add: Ability to sort by any column in the status dock table.
  • Add: "Reset all (stats)" button to status dock table header.
1760245988090.png

Changes​

  • Fix:On Mac/Linux, OBS Studio crashes when a stream disconnects or reconnects.
    • Note: Please upgrade your OBS 31 to 32 first.
      OBS 32 fixes crash on SRT reconnection but still has really freeze on stopping output after SRT reconnection failure.
      We still recommend to use OBS 30.2.3 for SRT transmitting purpose.
  • Fix: A bug where the stream could not be deactivated when it was perpetually stuck in a “reconnecting” state.

  • Fix: Potential memory leaks.

  • Improve: New reconnection mechanism utilizing the output signals.

  • Fix: Previously added fragmented mp4/mov support didn't work.

Changes​

  • Add: Added support for Fragmented MP4/MOV that was previously missing

  • Add: Enhanced recording functionality
    • Manual recording file splitting support (with hotkey support)
    • Recording pause and unpause (with hotkey support)
      • Can be paused if filter is recording only
    • Adding chapter markers to recording files (with hotkey support)
      • Only available in Hybrid MP4
      • Chapter name will be current localtime such as "2025-09-27 05:41:23.456"
  • Improve: UI improvements to the status dock accompanying the new features
    • Tool buttons at the bottom
    • Tool buttons in status cells (allowing hotkey operations to be performed with buttons)

      スクリーンショット 2025-09-27 023552.png
  • Add: Added option to select behavior when source is unavailable (resolution is 0 pixels)
    • Recording can be suspended in such cases. If the filter is recording-only, it pauses; if streaming + recording, it stops recording.
      If resolution is 0 pixels when recording starts, recording start is suspended.

      suspend_recording_when_source_is_not_available.jpg
  • Improve: Filter property improvements
    • Moved the option for behavior when source resolution changes to the Stream section.
  • Fix: Improved stability
    • Suppressed rare crashes when stopping streaming. Implemented "graceful stopping" to avoid OBS crashes that occur during streaming stops, especially when stopping streams during reconnection.

Attachments

  • スクリーンショット 2025-09-27 023552.png
    スクリーンショット 2025-09-27 023552.png
    86.2 KB · Views: 131

Changes​

  • Fix: Improve behavior on changed source's resolution that BRO doesn't stop/start recording/streaming even if source's resolution become 0 x 0

    (This behavior is considered suitable for full-screen game capture, etc)

  • Add: A filter property "Don't reboot output even if source resolution is changed" that BRO doesn't stop/start recording/streaming even if source's resolution is changed.

    (Use when you absolutely do not want to interrupt streaming or recording)

    Note: There is side effect that the video image may be cropped or have blank spaces when the source resolution is changed.

    スクリーンショット 2025-04-20 093711.jpg


  • Add: A link of recording folder to each recording row on status dock to easy access to recording folder.

    スクリーンショット 2025-04-20 093306.jpg


  • Improve: Add help tip to custom audio sources (To make it easier to understand what the source is)

Changes​

  • Add: Missing "Recording" interlock option.
  • Bugfix: Didn't list audio bitrate in MacOS.
  • Improve: Detection of profile's encoder settings as default settings.
  • Add: "Use profile's recording path" option to stream recording.
  • Add: "Generate File Name without Space" option to stream recording.
  • Add: "None" output row to status dock that allows access blank (no streaming & recording) Branch Output.
  • Bugfix: Couldn't detect profile's audio encoder on simple output mode properly.

Changes​

  • Implement Multi-Stream functionality which allows to output multiple streams (up to 8) for each filters.

    スクリーンショット 2025-01-16 165454.png


  • Update status dock to display multi-stream (and recording) properly (One output destination per row, but share "Eye" icon on same filter)

    スクリーンショット 2025-01-16 165154.png

Changes​

  • MacOS binary is now officially code signed!
  • 0.9.16Add: Filename formatting settings for recording (Similer to OBS global config)
    Subfolder is also supported.
    bro_filename.jpg
  • 0.9.16 Bugfix: Default settings detection couldn't detect simple mode settings properly since OBS 31
  • 0.9.17 Add: Resolution settings and scaling filter to video encoder.
    bro_resolution.jpg
  • 0.9.18 Add: Hotkeys (Enabling/Disabling All, Toggle enabe/disable filter individually)
    bro_hotkey1.jpg

    bro_hotkey2.jpg
  • 1.0.0 Code: Many refactorings.
  • 1.0.0 Bugfix: Couldn't load video encoder settings properly.
  • 1.0.0 Bugfix: Couldn't start recording when output folder doesn't exists.
  • 1.0.0 UI Improvement: Add apply button in middle of filter properties.
  • Love
Reactions: Moulaythami

Important note for OBS 31​

OBS build-in NVENC encoder had been changed so you should re-configure video encoder properties.
Misconfigurations cause ffmpeg crash.

Changes​

  • Add support for OBS 31 (Only status dock UI changes. No need to upgrade the plugin for OBS 30)
Back
Top