--portable instances don't both accept Browser as Source

Grampa Wild Willy

New Member
I am having a problem. I did a search & found this:


I might have posted in there but it's locked. Other threads I found by search didn't seem to address what I'm trying to do. I should specify that I am running Windows 11 Pro 64-bit version 24H2 build 26100.3775 & OBS 31.0.3.

As a result of that other thread, I altered my OBS launch definition on my Start menu. I found my shorctut for OBS & added the --portable switch to the OBS invocation in the shortcut definition. Next time I ran OBS after I did that, OBS acted like I had just done an installation of the product from scratch. I had not done that, but that's how it acted. It walked me through the setup wizard. My few modified settings had been lost. I had to reinstate everything. At least it didn't take very long but it was annoying.

It also occurs to me that simply adding the --portable switch to my shortcut may not be enough. Is there some other manipulation of my configuration that I need to do after I make --portable my default operating mode? I'm halfway tempted to Revo Uninstall OBS & start over. But I'd rather get proper advice from an expert before I take that radical step.

Anyway, that's all a bit off topic. Here's the actual problem report.

I open 2 portable instances of OBS. In one, I define a Browser source.

#01.png

#02.png

#03.png


Note in the window title that I am indeed using portable OBS version 31.0.3.

Now I go to the second OBS instance & try to do the same thing. I get this:

#04.png


In other words, the definition of another Browser Source failed in the second instance of OBS. Either this is intentional or it's a bug. Which is it?

After I do that, the second OBS instance is a bit damaged. I can delete the Browser Source from that window & define other types of Source without any issue. But I can't define a functioning Browser Source. Even after I delete the Browser Source from the first instance, the second instance is still stuck with its non-functional Browser Source.

So how do I get OBS two run a Browser Source in each of 2 --portable instances?
 

koala

Active Member
The switch --portable changes the location where OBS looks for its configuration and where OBS stores temporary data such as intermediate browser source data. Without --portable, the directory is in the user profile in directory %appdata%\obs-studio.
With --portable, the directory changes. It's now where the *.exe file is located.

So you can run one instance of OBS in non portable mode (no --portable) to have its config in the default directory in the user profile.

The other instance needs to run with the --portable switch to get a different config directory. However, you need a second set of OBS exe and library files, a second installation in a directory you're able to write to. Otherwise the portable version isn't able to save any configuration. The standard installation is in program files, where you're not able to write anything, so you cannot just use the --portable switch on the existing installation.
Instead, you need to download the *.zip from the OBS download site, extract this to some directory and start that obs exe with the --portable switch. This way the second instance will write its config to where you extracted the zip.
 

Grampa Wild Willy

New Member
Thanks @koala for your answer. It sounds like I need to do the Revo Uninstall after all. It seems like I've managed to create multiple bread crumbs of OBS all over the place. Rather a mess. OK. I will start over from scratch.

I don't think I would mix one instance of OBS running without --portable while simultaneously running another instance of OBS with --portable. That just doesn't appeal to my sense of symmetry.

But back to my real question. Will a fresh install of OBS allow 2 --portable instances of OBS to load a Browser Source? My estimate is that it's 50/50 whether a fresh reinstall will make any difference.
 

Grampa Wild Willy

New Member
As I half-way feared, a Revo Uninstall & a fresh reinstall of OBS using the zip file instead of the automatic installer made no difference. I still can't define a Browser Source in each of 2 instances of portable OBS. So this remains an unsolved open question.

Curiously, the zip file available on the OBS web site is version 31.0.2. The first time I launched my freshly installed OBS, the first thing it did was prompt me to update to 31.0.3. I guess they are less than fastidious about keeping the "latest" download available on their web site truly latest.
 

Grampa Wild Willy

New Member
Oops. I didn't notice your comment, @koala. How do I tell OBS to use a different configuration? I have already unzipped OBS into C:\OBS-studio. Do I need a whole new, let's say, C:\OBS-studio-2, C:\OBS-studio-3, etc. for each instance of portable OBS? That seems excessive. OBS --help doesn't give me something that I can see that would give me a separate configuration for each instance.
 

Grampa Wild Willy

New Member
I've played around a bit with --profile. That does keep certain settings distinct between instances. But I'm still not getting the 2 instances to open a Browser Source. One instance works but whichever I do second simply does not work. It opens a Browser Source but it does not accept a URL in the definition of the Browser Source. It successfully opens a non-functional Browser Source. Not too useful. So I'm still baffled by what to do.

I suppose I should mention I'm applying --portable to both instances of OBS. That is what I want. I don't want any part of the OBS data to go anywhere in any of the directory trees created by the default Windows install. I've installed OBS in its own directory in the root of C:. I want all configuration information to go somewhere in that directory tree. That appears to work for one instance of OBS. But the second instance looks like it's using the same configuration as the first instance. Different profile, but otherwise the same configuration.

No, I don't want to run one OBS with --portable & one without. That seems to me to be the opposite of what we're trying to accomplish here. I want to run multiple portable OBS instances & have each one take advantage of a usable Browser Source.
 

Grampa Wild Willy

New Member
My OBS has a subdirectory C:\OBS-studio\config\. There is a C:\OBS-studio\config\obs-studio\basic\profiles subdirectory within that. In there, I have 3 subdirectories:

C:\OBS-studio\config\obs-studio\basic\profiles\Profile_1
C:\OBS-studio\config\obs-studio\basic\profiles\Profile_2
C:\OBS-studio\config\obs-studio\basic\profiles\Untitled

The Untitled subdirectory has 3 files. But I don't really care about that one. In the 2 Profile_x subdirectories there is just one file named basic.ini. The 2 files look mostly the same. They have stanzas of settings. I can see where it has recognized the directory I have chosen as the target for my recordings, a directory that is different from the default. I can see where it has recognized the 2 file name patterns I have set in the 2 profiles.

But it looks like there is only one OBS configuration. How do I get OBS to generate a second configuration & then use it?
 

Grampa Wild Willy

New Member
I think I'm getting into territory where I could really screw things up. I have a file named

C:\OBS-studio\config\obs-studio\global.ini

It contains this stanza:

[Locations]
Configuration=../../config
SceneCollections=../../config
Profiles=../../config

I suspect all I would need to do is create a different global.ini file, as well as another directory subtree based on config_2. This new config_2 subtree would be a clone of the existing config subtree. There would be a global.ini file in this new config_2 subtree with the above stanza modified to contain references to config_2. But I don't see a switch to supply to an invocation of OBS that would direct it to this proposed new global.ini.

Besides, I'm just guessing. This might or might not work. It might or might not be what I need to get 2 working Browser Sources in 2 instances of portable OBS. I imagine a second complete directory tree called, let's say, C:\OBS-studio-2 as a clone of my current C:\OBS-studio would do the trick. But that's like crushing a peanut with a sledge hammer. There has to be another way.
 

bcoyle

Member
wild suggestion:
1. Create separate obs installs on you c drive.
2. Install a new version on c:/drive as c:/obs1
2. Create a desktop entry that starts that obs entry in portable mode.
3.Start and configure it the way you want
4. Copy this directory to another, ie. c:/obs2/. You end up with c:/obs1/ and c:/obs2
6. Create a new desktop short cut for c:/obs2 that starts with portable option.
7. You can also start each with a different -profile and - collection if you wish a different running configuration. Also, you can have a .bat file to start both.

With 2 different version, hopeful they won't interact. I have not tried this myself, but it seems the way to go as I understand it. Good luck
 

Grampa Wild Willy

New Member
Thanks @bcoyle. That's pretty much what I was beginning to fear would be necessary. It does seem rather awkward, though, don't you think? I mean, they offer --portable for the expressed purpose of running 2 instances of OBS. You'd think all the required independence & thread safety would be included when you go --portable. I was hoping an actual developer would poke a nose in here & comment. I guess that's too much to hope for. I think I'll wait a while before I break down & do what we've been talking about. It just seems so silly to me.
 

PaiSand

Active Member
The --portable is to tell the program to look for the configuration inside it's own folder path and not in the %appdata%\obs-studio\ path.
There's already many threads about this, including some where developers have "poke a nose in" there.
 

bcoyle

Member
Actually what would make sense to me, is to have command line arg that allows you to specify what configuration file to use weather than copying the obs folder each time just to make a separate copy of the configuration file. Maybe there is some other plugin special one of a kind associated files???
There is no other program that I know of that requires multiple physical copies. Maybe this would be a good request for the next version.
 

PaiSand

Active Member
Actually what would make sense to me, is to have command line arg that allows you to specify what configuration file to use weather than copying the obs folder each time just to make a separate copy of the configuration file. Maybe there is some other plugin special one of a kind associated files???
There is no other program that I know of that requires multiple physical copies. Maybe this would be a good request for the next version.
For this you have the import profile and scene collections, as well as export it.
Other programs don't work as OBS does. It can be added, provided is not that hard to rewrite how this works.
 

Suslik V

Active Member
I have already unzipped OBS into C:\OBS-studio. Do I need a whole new, let's say, C:\OBS-studio-2, C:\OBS-studio-3, etc. for each instance of portable OBS?
Yes. Each portable setup creates own "config" folder.
Each portable OBS folder should remain isolated. That keeps you away from plugins incompatibility and allows to run different versions of the same plugin simultaneously (but some plugins, like "Game Capture" module, auto-updates external libs, so there are limits).

If you don't like how portable mode works or have other ideas that can improve OBS:
 
Top