Branch Output - Streaming/Recording filter for source,scene

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

Hello — first off, I really love this plugin. It’s a huge part of my workflow.
I’m using Branch Output to send 4 scenes as independent livestreams, while also using OBS’s native main output as a 5th independent livestream. My use case is live sports production, where I’m streaming multiple matches simultaneously to
separate livestream URLs.
The issue I’m running into is with audio independence.
When I switch scenes in OBS for the main/native 5th livestream, the audio on the other 4 Branch Output streams gets muted or drops out. It seems like if a source is not part of the currently active/main scene tree, its audio may no longer
continue cleanly in the Branch Output stream that depends on it.
What I’m trying to achieve is:
- 4 Branch Output streams that remain fully independent and keep their own audio live at all times
- 1 main OBS output that I can switch freely for a Red Zone / program-style broadcast
- scene switching on the main OBS output should not affect the audio on the 4 Branch Output streams

Am I misunderstanding how Branch Output handles audio, or is there a recommended way to structure scenes/sources for this setup?

Any guidance would be really appreciated. Thanks.
First, please provide detailed information about how you are using Branch Output settings. Here are some possible scenarios:

- Applying Branch Output to scenes.
- Selected Master Audio as your custom audio source.

In this case, "Master Audio" refers to the audio whose fader is displayed in the OBS Audio Mixer. Therefore, when a scene becomes inactive, its audio is removed from the Audio Mixer and is not output to Branch Output.

Please note that Branch Output does not have its own independent Audio Mixer. If you want to output audio when the scene is inactive, you need to select something other than Master Audio (e.g., Filter Audio or any source audio).
 
Please note that Branch Output does not have its own independent Audio Mixer. If you want to output audio when the scene is inactive, you need to select something other than Master Audio (e.g., Filter Audio or any source audio).

Correction: Filter Audio cannot be used in this scene because it will result in no sound.
 
Hey! Im running version 1-0-6 with OBS 31.1.2
When recording with branch output in fragmented mp4, if OBS crashes I lose the recording from branch output but not obs.
Is there a way to fix this or do I need to update obs and all my plugins?

Here is my crash log

Hardware log:

You mentioned that your recordings are corrupted. Is it one of the following?

1. The size of the mp4 file becomes 0.
2. The mp4 file is saved, but it cannot be played.

If it cannot be played, have you tried playing it with multiple players or editing software such as VLC?
 
hanatyan updated Branch Output - Streaming/Recording filter for source,scene with a new update entry:

1.0.9 (Individual Start/Stop, Cropping, Frame Rate, Refplay Buffer fix, etc...)

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

Read the rest of this update entry...
 
Hello there. I like this plugin a lot to record different sources that aren't always visible out to file.

However, there is no option to overwrite recording file if file already exists, like there is in the default OBS settings. Are you able to add this option? I want to be able to overwrite file if it already exists, rather than have to go in and save/delete the existing recording before starting each broadcast. Do you think this would be possible to add?
 
You mentioned that your recordings are corrupted. Is it one of the following?

1. The size of the mp4 file becomes 0.
2. The mp4 file is saved, but it cannot be played.

If it cannot be played, have you tried playing it with multiple players or editing software such as VLC?
Hi! So sorry for the wait. The file doesn't exist after the crash.

When recording fragmented mp4 in obs, if obs crashes then the file is automatically saved in my recoding folder. But for branch output the file just disappears instead of saving when the program is closed
 
Hi! So sorry for the wait. The file doesn't exist after the crash.

When recording fragmented mp4 in obs, if obs crashes then the file is automatically saved in my recoding folder. But for branch output the file just disappears instead of saving when the program is closed
After detailed investigation, I could not find any clear difference between OBS's main fragmented MP4 output and Branch Output's fragmented MP4 output. Therefore, the situation where "the file is not created at the time of the crash" is likely caused by either Branch Output filter settings or simply overlooking the recorded file.

Once recording has started, the file is created. Even if there were a defect in fragmented MP4 output, what you would expect at crash time is a 0-byte file or an unplayable file. Branch Output has no code that deletes created files, and even if it did, there would be no time for it to run during a crash, so the state of "no file" should not happen in principle.

The only exceptional case where this could happen is when "Suspend recording when source is not available" is enabled and the source is collapsed to 0 x 0 in size. In this state, even if you activate recording, the recording start is actually pending, so no file is created. If a crash occurs in this state, it might appear as if "the file has disappeared."

To summarize, the possible scenarios where "the file disappears" are:

1. "Suspend recording when source is not available" was enabled and the source was 0 x 0 (recording pending) when the crash occurred.
2. The file was actually output, but it was overlooked.

From the log, scenario 1 doesn't appear to be the case, but precisely for that reason, there is much we cannot determine without checking the log at the time of the crash.

In conclusion, it would be very helpful if you could provide the full log from the time of the crash. Also, if possible, please confirm whether the file truly "disappears" or whether it has a file size of 0.
 
After detailed investigation, I could not find any clear difference between OBS's main fragmented MP4 output and Branch Output's fragmented MP4 output. Therefore, the situation where "the file is not created at the time of the crash" is likely caused by either Branch Output filter settings or simply overlooking the recorded file.

Once recording has started, the file is created. Even if there were a defect in fragmented MP4 output, what you would expect at crash time is a 0-byte file or an unplayable file. Branch Output has no code that deletes created files, and even if it did, there would be no time for it to run during a crash, so the state of "no file" should not happen in principle.

The only exceptional case where this could happen is when "Suspend recording when source is not available" is enabled and the source is collapsed to 0 x 0 in size. In this state, even if you activate recording, the recording start is actually pending, so no file is created. If a crash occurs in this state, it might appear as if "the file has disappeared."

To summarize, the possible scenarios where "the file disappears" are:

1. "Suspend recording when source is not available" was enabled and the source was 0 x 0 (recording pending) when the crash occurred.
2. The file was actually output, but it was overlooked.

From the log, scenario 1 doesn't appear to be the case, but precisely for that reason, there is much we cannot determine without checking the log at the time of the crash.

In conclusion, it would be very helpful if you could provide the full log from the time of the crash. Also, if possible, please confirm whether the file truly "disappears" or whether it has a file size of 0.
Hi. So sorry for the wait. I double checked my settings an noticed that Suspend recording when source is not available was not enabled, so the problem could be something else.

Since then I have updated my OBS and my system and have moved over to Hybrid mp4 instead of fragmented mp4. So hopefully if I experience a crash like this again, then it wont make any files disappear.

I think this may be an isolated issue just for me since my OBS and Nvidia driver was out of date since i usually only update my drivers every few months
 
This is a very useful extension. It’s great that you can separate everything.

It’s missing a bit of remuxing so that files generated in MKV are automatically converted to MP4 (just like with a regular save). The remuxing setting in OBS doesn’t work with this add-on.

Another thing—I don’t know if this is supposed to happen, but whenever I change the filter settings, the assigned keyboard shortcut gets deleted (is this intentional?)

Overall, a solid 4.5. Good job. Thank you.


Translated with DeepL.com (free version)
 
This is a very useful extension. It’s great that you can separate everything.

It’s missing a bit of remuxing so that files generated in MKV are automatically converted to MP4 (just like with a regular save). The remuxing setting in OBS doesn’t work with this add-on.

Another thing—I don’t know if this is supposed to happen, but whenever I change the filter settings, the assigned keyboard shortcut gets deleted (is this intentional?)

Overall, a solid 4.5. Good job. Thank you.


Translated with DeepL.com (free version)
Thanks for the report — no, this isn't intentional. We've confirmed a mechanism that erases hotkey
bindings and are tracking it here:

To work out which case you're hitting, could you confirm three things?

1. Which hotkey loses its binding? The exact entry name as it appears in Settings → Hotkeys — for
example `Save 'My Filter' Replay Buffer` or `Enable 'My Filter'`.
2. When it happens, are you also toggling any of these in the filter: the Streaming / Recording /
Replay Buffer checkboxes, Stream Count, or a stream server URL? Or does it happen even when you
only change something unrelated such as the bitrate?
3. Do you use Stream Deck, obs-websocket, or a script to change the filter settings or press Apply,
or is it always done by hand in the OBS UI?

Also, which Branch Output version are you on?
 
So I don't know if I just don't understand or not using this the way I'm suppose to but I've got my interlock set to "Individual" and I can't seem to figure out how to start the replay buffer. In hotkeys I do see Enable "Filter Name" Replay Buffer but when I hit it all it does is change visibility.
 
First, please provide detailed information about how you are using Branch Output settings. Here are some possible scenarios:

- Applying Branch Output to scenes.
- Selected Master Audio as your custom audio source.

In this case, "Master Audio" refers to the audio whose fader is displayed in the OBS Audio Mixer. Therefore, when a scene becomes inactive, its audio is removed from the Audio Mixer and is not output to Branch Output.

Please note that Branch Output does not have its own independent Audio Mixer. If you want to output audio when the scene is inactive, you need to select something other than Master Audio (e.g., Filter Audio or any source audio).
Przepraszam, dopiero wróciłem z wakacji. Na dniach postaram się odpowiedzieć, aby nic nie pomieszać.
 
1787344229255.png
1787344292400.png
1787344437141.png

1787344493271.png

1787344645045.png

1787345162106.png


I checked this briefly today.

In general, I don't enable or disable the Branch Output filters themselves — they remain enabled all the time.
I trigger the recording actions through Streamer.bot. When I press the hotkey assigned to OBS's built-in Replay Buffer save action, Streamer.bot detects it and then triggers the hotkeys assigned to the Branch Output filters for saving the different formats (full 9:16 and 1:1).
I have confirmed that the hotkeys disappear when I disable the source itself using the eye icon in OBS. When I disable the source and again enable, the assigned Branch Output hotkey disappears from OBS's hotkey settings.
Also, every time I restart OBS, all of these hotkey assignments are gone.
I haven't tested changing scenes or modifying the sources themselves, as I don't need to do anything there.
The other sources use the same Branch Output filter, but with different settings depending on the source. I don't think this is related to the hotkey issue.

I can also test whether changing the filter settings themselves causes the hotkeys to disappear, if that would help.
Branch Output version: [1.0.9]
 
Back
Top