Keeping a scene active, while editing another scene

korfuri

New Member
Hi, I'm currently working on an art installation. In this installation I'm using multiple monitors, driven by an HDMI splitter: the splitter behaves as a single monitor for my PC, but splits the image in 6 and sends each fragment of the image to a different physical monitor.

I am trying to drive this using OBS via a fullscreen projector sent to the splitter. I have a scene, titled "Composition", that features 6 Scenes-as-sources, each scene titled "Monitor 1" to "Monitor 6". I start a fullscreen projector on my Composiiton scene, and then my intent is to swap sources in an out of each "Monitor" scene manually or through scripts.

The issue I'm facing is that as soon as I go to edit any other scene than Composition, some of the sources freeze. Specifically, only the sources in use in whatver scene I'm editing are kept playing, the other ones are stopped.

I have a workaround: in studio mode, I can keep my Composition active on the left pane, and never use a scene transition. But that's not great: it uses a lot of screen real-estate, and if I hit the wrong hotkey, I might start sending a single Monitor scene to the splitter.

Is there a way to pin my Composition scene so that it remains active? Or another way to achieve what I'm aiming for here? I realize OBS may not be the ideal solution, if so I'm also happy to take recommendations of Linux software that works in this kind of environment. Thanks!
 

korfuri

New Member
I may be holding it wrong, but here's how I'm creating the projector: In the Scenes dock, I right click the Composition scene and start the projector from that menu. This exhibits the issue I'm describing, where sources not active in the scene I'm currently editing do not remain active and thus stop rendering in the projector.

If instead I right click the preview, I can create a projector on the preview, but that is not what I want since I want to pin the Composition scene in that projector.

I'm running 30.2.3 if that makes any difference - 31.0 is not yet packaged in my distro (NixOS) but I'm not seeing anything relevant in the changelog.
 

AaronD

Active Member
I may be holding it wrong, but here's how I'm creating the projector: In the Scenes dock, I right click the Composition scene and start the projector from that menu. This exhibits the issue I'm describing, where sources not active in the scene I'm currently editing do not remain active and thus stop rendering in the projector.
What does "active" mean here? Could be anything from transparent to black to hung on a single frame to several other things.
Maybe some screenshots or a video?

If instead I right click the preview, I can create a projector on the preview, but that is not what I want since I want to pin the Composition scene in that projector.
I keep thinking of projecting the Program window on purpose (in Studio Mode), even though you only ever want that one scene to be there. And in fact you *will* only ever have that one scene there. Just be careful to not transition by accident (remove all hotkeys that might do that), and use the Preview to edit as needed. Then put the "show scene" back in the Preview, and transition to show your changes to the world.

One potential problem with that is if your edits to the sub-scenes appear live in real time, even if the main scene doesn't do that. Is that what you're talking about?

I'm running 30.2.3 if that makes any difference - 31.0 is not yet packaged in my distro (NixOS) but I'm not seeing anything relevant in the changelog.
Shouldn't make a difference for this one.
 

korfuri

New Member
By active, I mean that sources that e.g. play from a video file stop playing when the scene is not what I'm editing. They freeze, and upon returning to my composition scene, they start over from the beginning. I would like these videos to continue playing in the projector while I'm editing my "Monitor" scenes.

Thanks for the tips. That's not really different or better than what I'm doing unfortunately.
 

AaronD

Active Member
By active, I mean that sources that e.g. play from a video file stop playing when the scene is not what I'm editing. They freeze, and upon returning to my composition scene, they start over from the beginning. I would like these videos to continue playing in the projector while I'm editing my "Monitor" scenes.
That puts a whole 'nother layer of trickiness on it. I was thinking of mostly static things, like for the menu board of a fast-food restaurant. Where does this projector go, anyway?

Hi, I'm currently working on an art installation. In this installation I'm using multiple monitors, driven by an HDMI splitter: the splitter behaves as a single monitor for my PC, but splits the image in 6 and sends each fragment of the image to a different physical monitor.

I am trying to drive this using OBS via a fullscreen projector sent to the splitter. I have a scene, titled "Composition", that features 6 Scenes-as-sources, each scene titled "Monitor 1" to "Monitor 6".
So (logically, at least, and as far as the computer knows) it's a video wall of 6 screens. And you want to use them as 6 independent single displays?

Another idea might be to (somehow) get 7 independent video outputs from the computer directly - 1 for control, and the other 6 to drive the individual screens directly; no more splitter - and then have 6 separate projectors from the 6 individual scenes. Assuming you can do that in the first place, does it get you anywhere useful?

And there's also the possibility of using 6 simultaneous instances of OBS, with a single projector each, which again requires the 6 individual screens (plus control) to be known as such to the computer itself.
 

joebrosley

New Member
That puts a whole 'nother layer of trickiness on it. I was thinking of mostly static things, like for the menu board of a fast-food restaurant like texas roadhouse. Where does this projector go, anyway?


So (logically, at least, and as far as the computer knows) it's a video wall of 6 screens. And you want to use them as 6 independent single displays?

Another idea might be to (somehow) get 7 independent video outputs from the computer directly - 1 for control, and the other 6 to drive the individual screens directly; no more splitter - and then have 6 separate projectors from the 6 individual scenes. Assuming you can do that in the first place, does it get you anywhere useful?

And there's also the possibility of using 6 simultaneous instances of OBS, with a single projector each, which again requires the 6 individual screens (plus control) to be known as such to the computer itself.
I’m actually dealing with the same question, so I’m really interested in the responses here. I’ve also tried using OBS with a multi-monitor setup driven by a splitter, and I ran into the same problem where sources freeze as soon as I switch to edit another scene. Keeping the main scene active in studio mode works, but it’s not practical long-term, especially when you’re juggling multiple screens. If anyone has found a way to keep a “master” scene pinned or always active, or knows of a better Linux-friendly tool for this type of installation setup, I’d love to hear suggestions too.
 

AaronD

Active Member
I’m actually dealing with the same question, so I’m really interested in the responses here. I’ve also tried using OBS with a multi-monitor setup driven by a splitter, and I ran into the same problem where sources freeze as soon as I switch to edit another scene. Keeping the main scene active in studio mode works, but it’s not practical long-term, especially when you’re juggling multiple screens. If anyone has found a way to keep a “master” scene pinned or always active, or knows of a better Linux-friendly tool for this type of installation setup, I’d love to hear suggestions too.
There are other ways that might work, but the only sure-fire way that I know to do this is to have a separate instance of OBS for each destination. If you only have one machine to run this on, that gives you multiple simultaneous instances on that one machine, which it doesn't always like, but if you're not doing the thing(s) that make it panic, it might be okay.

A couple of years ago, I compiled and ran OBS on a Raspberry Pi 4. It kept up with a single 1920x1080p60 USB capture card, but as soon as it tried to record it fell flat. So if you're not doing a whole lot, and not trying to record or stream, then a separate Pi for each might work. Set up the basics on one, get it all running, then clone the SD card for the rest and branch out from there.

If they need to be synchronized, then you can use OBS's native WebSocket server, the Advanced Scene Switcher plugin, and/or NodeRed in whatever combination floats your boat.
NodeRed is actually meant to run on a Pi, and the installer gives you the option to install the GPIO module, so you can trigger and/or control things from that too. Or if you want to run the central server on a PC, the same installer works for any Debian derivative (Ubuntu, Mint, etc.). Just don't install the GPIO part, since it doesn't make sense there.
Then you can install some more tools on your server (called "palettes" in NR) for things like OBS WebSockets, or a graphical user interface that runs in a web browser.

Lots of things you can do there. For a different example from what you're doing, I have the NodeRed server on my Ubuntu Studio laptop, which I've left on stage next to a rear projector, and used it to control OBS on the same laptop to drive that projector, all from a custom set of buttons on my phone. Switch between the browser and the remote control app for the digital audio mixer, and I can run the entire show from one seat in the audience.
 

joebrosley

New Member
There are other ways that might work, but the only sure-fire way that I know to do this is to have a separate instance of OBS for each destination. If you only have one machine to run this on, that gives you multiple simultaneous instances on that one machine, which it doesn't always like, but if you're not doing the thing(s) that make it panic, it might be okay.

A couple of years ago, I compiled and ran OBS on a Raspberry Pi 4. It kept up with a single 1920x1080p60 USB capture card, but as soon as it tried to record it fell flat. So if you're not doing a whole lot, and not trying to record or stream, then a separate Pi for each might work. Set up the basics on one, get it all running, then clone the SD card for the rest and branch out from there.

If they need to be synchronized, then you can use OBS's native WebSocket server, the Advanced Scene Switcher plugin, and/or NodeRed in whatever combination floats your boat.
NodeRed is actually meant to run on a Pi, and the installer gives you the option to install the GPIO module, so you can trigger and/or control things from that too. Or if you want to run the central server on a PC, the same installer works for any Debian derivative (Ubuntu, Mint, etc.). Just don't install the GPIO part, since it doesn't make sense there.
Then you can install some more tools on your server (called "palettes" in NR) for things like OBS WebSockets, or a graphical user interface that runs in a web browser.

Lots of things you can do there. For a different example from what you're doing, I have the NodeRed server on my Ubuntu Studio laptop, which I've left on stage next to a rear projector, and used it to control OBS on the same laptop to drive that projector, all from a custom set of buttons on my phone. Switch between the browser and the remote control app for the digital audio mixer, and I can run the entire show from one seat in the audience — kind of like managing different sections of a show the same way restaurants organize different parts of a texas roadhouse menu with prices, each handled separately but working together smoothly.
I hadn’t considered running multiple OBS instances or offloading some of the outputs to separate devices like a Pi, but that actually might be a workable solution for my setup since I’m not recording or streaming, just maintaining live displays.

The WebSocket + Advanced Scene Switcher + Node-RED combo also sounds promising, especially for keeping things synchronized without needing to manually juggle scenes. I’ll dig into those tools and see which approach fits best with my workflow. Really appreciate the thorough explanation and the ideas!
 

AaronD

Active Member
I hadn’t considered running multiple OBS instances or offloading some of the outputs to separate devices like a Pi, but that actually might be a workable solution for my setup since I’m not recording or streaming, just maintaining live displays.

The WebSocket + Advanced Scene Switcher + Node-RED combo also sounds promising, especially for keeping things synchronized without needing to manually juggle scenes. I’ll dig into those tools and see which approach fits best with my workflow. Really appreciate the thorough explanation and the ideas!
Umm...about the last part of my quote. It seems that a spammer has added to the quote itself. They're editable so that you can trim them to just the part that you're responding to, but it's generally bad form to add to them. Spammers do that more than most others, likely because they're automated text stuffers that don't really understand what they're doing anyway. If it happens to be inside a quote, they don't know or care.

Maybe you added that part on purpose as an example, and didn't realize how it would work? (there's a Preview button at the top right, so you can see that before you post) But it does follow a classic spam pattern of a tangent that contains a single off-site link, and its placement inside a quote doesn't help either. A naive or hurried reader would think that I said that, when in fact you added it.
 
Top