upvote
Yes, please, that would help so much. OBS seems to be designed for static setups and a single output stream. In my case, I have a setup that changes often (for example, connect a USB video device that processes input from a microscope). I thought I would be able to record multiple video streams at once without burning them into a single output stream (e.g. to multiple files, or a multi-stream file), but this turned out to be difficult without hacks.
reply
The Branchoutput plugin[1] is what you are looking for for multi recording/streaming. It allows you to add recording (or streaming destinations) to individual sources, scenes and outputs via the video filter settings. It is really quite powerful.

[1] https://obsproject.com/forum/resources/branch-output-streami...

reply
Thanks -- this does look like it would do this. But I'm wondering if this entire setup isn't completely overkill. All I need is to record multiple video streams simultaneously. I currently do this by launching multiple Quicktime Player apps and clicking "record" in each one of them...
reply
Have you considered using GStreamer pipelines for this? And taking it one step further, if you want to use OBS generally, there's a plugin for OBS that allows you to integrate pipelines too.

The common case for the plugin is to do some preprocessing before importing the video into OBS, but you can also use the pipeline as a video filter, which is really powerful, because you can inject a filter into not only a single source, but also at any level of a nested scene. So you can scale/composite several inputs together and then the video filter can copy the source stream and encode/tee it to a file output. Might still be considered a hack of sorts.

reply
I too frequently plug and unplug dock and external displays. It's a little painful to keep checking and sometimes re-add display source to get the default screen and voice recording working.

I wonder if the "modern" way for problems of this nature is to fork the open-source repo and ask your favourite agent to strip it down to bare essentials that you need (performance gains) and add the specific feature enhancements you want (needs to work only for your configuration -- may not pass the quality standard needed for a PR)

reply
Not sure if and has bugs but is fast and easy: https://github.com/MathewSachin/Captura
reply
This could probably be automated using either an OBS plugin (if you really want deep integration and not running another program) or a standalone program (written in whatever language you want) that listens for display changes and pokes OBS using its websocket API. The hooks are definitely there to update source configs.
reply
Surely the main function of a capture program should be to capture video, no matter what, even if that means capturing too much / uninteresting sources some of the time?
reply
> even if that means capturing too much

People streaming things mights disagree.

reply
As the name (Open Broadcaster Software) suggests, it isn't primarily a capture program.
reply
Except it's really designed to composite video from a bunch of different places and broadcast the result, whether they are windows, screens, cameras, etc. And a rather lot of people don't want every screen to be captured, just the ones that they have selected. It's not a "screen recorder" program, really. And it's explicitly designed with an API to be remote controlled if hardware changes out from under it, so you can encode exactly your own policy logic on what to do. (External display plugged in? Disable my laptop source at full resolution and enable my laptop and monitor sources, side by side, with one scaled as necessary, and in this layout. But if I'm currently recording or streaming, don't do anything. - this is user-specific logic)
reply
I made a little script that reconnects everything the way I want it on launch via WebSocket. Works great
reply
which OS ?
reply