Branch Output - Streaming/Recording filter for source,scene

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

hanatyan

Member
Not sure how to activate the branch recording when i stream, can i get some help? is it dependant on stream starting or is it a separate button?View attachment 110511

Branch Output will activate streaming/recording on all of the following conditions are met
Red bold lines are requirements for your usecase.
  1. Branch Output filter is enabled (Eye icon, enabled default)
  2. (For streaming) "Server" field on Branch Output filter properties is filled.
    (For recording) "Stream Recording" on Branch Output filter properties is checked.
  3. (Set Interlock to "Always ON") Branch Output activates immediately when "Apply" has clicked on Branch Output filter properties.
    (Set Interlock to "Streaming") Branch Output activates in conjuction with OBS streaming starts.
    (Set Interlock to "Recording") Branch Output activates in conjuction with OBS recording starts.
    (Set Interlock to "Streaming or Recording") Branch Output activates in conjuction with either OBS streaming or recording starts.
    (Set Interlock to "Virtual Cam") Branch Output activates in conjuction with OBS virtual cam starts.
 
1736213736691.png

This keeps popping up everytime, but still able to start stream in 10-20 secs after the message pops up.
 

hanatyan

Member
View attachment 110542
This keeps popping up everytime, but still able to start stream in 10-20 secs after the message pops up.
This message is showing by OBS default output (Not Branch Output) because you probably have blank Stream URL/Stream key in OBS stream settings despite interlocked with Streaming.

So you should fill proper Server/Stream key in OBS stream settings or choose Interlocks other than "Streaming" (e.g. Virtual Cam)
 

ElTipejoLoco

New Member
Is it possible to piggyback off of OBS's own or implement automatic switching to recommended ingest servers per broadcasting service (i.e.- for streamers who are on the move, or for when the currently selected server experiences issues, downtime, maintenance, or otherwise goes offline), and to specify specific frames per second (FPS) values per Branch Output filter?
Also, would it be possible to clarify the differences between Master Audio and Filter Audio when it comes to Branch Output's custom audio selection so the end user can have a clearer concept of what they're choosing? I'm assuming Master Audio is simply the equivalent of Stereo Mix (i.e.- the operating system's current default audio output), whereas Filter Audio might be what the current source or scene would usually be tied to, but I'm not certain my assumption's correct.
 

hanatyan

Member
Is it possible to piggyback off of OBS's own or implement automatic switching to recommended ingest servers per broadcasting service (i.e.- for streamers who are on the move, or for when the currently selected server experiences issues, downtime, maintenance, or otherwise goes offline), and to specify specific frames per second (FPS) values per Branch Output filter?
Also, would it be possible to clarify the differences between Master Audio and Filter Audio when it comes to Branch Output's custom audio selection so the end user can have a clearer concept of what they're choosing? I'm assuming Master Audio is simply the equivalent of Stereo Mix (i.e.- the operating system's current default audio output), whereas Filter Audio might be what the current source or scene would usually be tied to, but I'm not certain my assumption's correct.

More Services Integration:

Now Branch Output integrated custom outout only.
I think it's possible to add services which are implemented in OBS in future release but need time to implements.

Custom Framerate:

Not investigated yet how to implement it, current impressions are as follow.
Most easy way to implement custom framerate, just divide frames by multiple of 2.
If we make it an arbitrary custom frame rate, we have to solve the problem of resampling and frame interpolation for smooth animatioon.
Implements dividing solution first, then implement resampling & interpolation in future release (At this point, we don't know how long it will take to implement.)

Custom Audio Sources Glossary:
  • Master Audio: OBS's mix output (It has 6 tracks as known)
  • Filter Audio: Filter pipeline's audio which is passed to Branch Output filter.
  • Source Audio: Source's bundled audio which after passed through the all filters in pipeline.
I think adding tooltips is one solution.


Thanks for your suggestion.
 

hanatyan

Member
hanatyan updated Branch Output - Streaming/Recording filter for source,scene with a new update entry:

1.0.2 Release (Add Multi-Stream functionality)

Changes​

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

    View attachment 110726

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

    View attachment 110727

Read the rest of this update entry...
 

AtP

New Member
Would love to see a tutorial on how to properly use this Plugin :) Great work so far. Much better then Source Recorder. Thanks a lot for that Plugin :)
 

AtP

New Member
In addition to my last post:
I cant seem to make the plugin run properly as I would like to. I can add the plugin as filter obviously, I got scenes and sources. I want to have specific sources recorded when I stream, so for example, the information source about my accounts doesnt get recorded on it, only the gameplay source... How can I do that? I dont get it sadly, sorry if it sounds stupid :(
 

hanatyan

Member
In addition to my last post:
I cant seem to make the plugin run properly as I would like to. I can add the plugin as filter obviously, I got scenes and sources. I want to have specific sources recorded when I stream, so for example, the information source about my accounts doesnt get recorded on it, only the gameplay source... How can I do that? I dont get it sadly, sorry if it sounds stupid :(

I don't know what's step you stuck in, but hopefuly helps below instruction.

  1. Add "Branch Output" as effect filters to any "Source" or "Scene" you would like to record.
  2. Check Stream Recording checkbox on filter poroperties.
  3. Choose audio source if needed. Un-checked custom audio source means use filter audio as source (NOTE: "Scene" must has custom audio source for it's sound)
    "Any Sources" will be captured after filter pipeline before Audio Mixer. Also "Audio track 1 ~ 6" will be captured from Audio Mixer output.
    You can choose "No Audio" as well.
  4. Setup audio and video encoder. It's usable that hardware encoder such as NVENC.
  5. Press Apply button.
  6. Open Branch Output status dock and check state of Interlock combo
    Interlink "Virtual Cam": Start OBS's virtual cam to start Branch's recording.
    Interlink "Recording" or "Streaming or Recording": start OBS's recording to start Branch's recording.
    Interlink "Streaming" or "Streaming or Recording": start OBS's streaming to start Branch's recording.
    Interlink "Always ON":
    start Branch's recording automatically after you clicked Apply button
  7. When filter is inactivated via "Eye icon", output stream will be offline too.
 

AtP

New Member
I don't know what's step you stuck in, but hopefuly helps below instruction.

  1. Add "Branch Output" as effect filters to any "Source" or "Scene" you would like to record.
  2. Check Stream Recording checkbox on filter poroperties.
  3. Choose audio source if needed. Un-checked custom audio source means use filter audio as source (NOTE: "Scene" must has custom audio source for it's sound)
    "Any Sources" will be captured after filter pipeline before Audio Mixer. Also "Audio track 1 ~ 6" will be captured from Audio Mixer output.
    You can choose "No Audio" as well.
  4. Setup audio and video encoder. It's usable that hardware encoder such as NVENC.
  5. Press Apply button.
  6. Open Branch Output status dock and check state of Interlock combo
    Interlink "Virtual Cam": Start OBS's virtual cam to start Branch's recording.
    Interlink "Recording" or "Streaming or Recording": start OBS's recording to start Branch's recording.
    Interlink "Streaming" or "Streaming or Recording": start OBS's streaming to start Branch's recording.
    Interlink "Always ON":
    start Branch's recording automatically after you clicked Apply button
  7. When filter is inactivated via "Eye icon", output stream will be offline too.
I got to that point aswell. I dont know if you know streamlabs, but streamlabs has the tools to select each source to be recorded/Streamed or hidden in stream and the recording itself.
When I apply the plugin to different sources, it just "records" them individual, means, If I apply the plugin to 3 sources, the 3 sources are recorded each on their own, and not as one. I thought with this Plugin, you can do it like streamlabs does. Thats the only thing I miss from streamlabs btw. everything else there is "meh"
Or do you have any other ideas on how to do it?
Thanks :)
 

hanatyan

Member
I got to that point aswell. I dont know if you know streamlabs, but streamlabs has the tools to select each source to be recorded/Streamed or hidden in stream and the recording itself.
When I apply the plugin to different sources, it just "records" them individual, means, If I apply the plugin to 3 sources, the 3 sources are recorded each on their own, and not as one. I thought with this Plugin, you can do it like streamlabs does. Thats the only thing I miss from streamlabs btw. everything else there is "meh"
Or do you have any other ideas on how to do it?
Thanks :)
Branch Output itself doesn't have function to manage composition (It's just a filter) so workaround is creating new scene for recording only and place references to sources you would like record. Then, add Branch Output filter to recording scene.
However, I don't think it will be exactly the same as the feature you mentioned.
 

AtP

New Member
Branch Output itself doesn't have function to manage composition (It's just a filter) so workaround is creating new scene for recording only and place references to sources you would like record. Then, add Branch Output filter to recording scene.
However, I don't think it will be exactly the same as the feature you mentioned.
I thought so, so basically, I got to add another scene with the scources I want to record while im streaming. At the moment I just run 2x Obs with the virtual camera to do this.
 

Sveeno

New Member
Hey @hanatyan first off, thanks for the plugin, it's exactly what I was looking for. Being able to stream with a cam but record just my gameplay raw is awesome. However, I used this for the first time last night, and I ran into this issue while using it on a Game Capture on the Messen emulator.

It seems like every time I changed an emulator setting, or clicked out of the emulator window, the recording would stop. It would start again when I clicked back into the emulator window. Is this just a bug with game capture and would be fixed by using window capture instead?

Thanks again for the great plugin
 

hanatyan

Member
Hey @hanatyan first off, thanks for the plugin, it's exactly what I was looking for. Being able to stream with a cam but record just my gameplay raw is awesome. However, I used this for the first time last night, and I ran into this issue while using it on a Game Capture on the Messen emulator.

It seems like every time I changed an emulator setting, or clicked out of the emulator window, the recording would stop. It would start again when I clicked back into the emulator window. Is this just a bug with game capture and would be fixed by using window capture instead?

Thanks again for the great plugin
This is due to a limitation of the current Branch Output filter, which restarts streaming and recording when the source resolution changes, and stops streaming and recording when it becomes 0 x 0.
A workaround is to create a scene for recording, place a reference to the game capture, and add a Branch Output to the scene. The resolution of the scene will not change regardless of the source status, so this problem will not occur.

Please wait for a future version to improve the behavior.
 
Top