Webcam disappearing totally if another instance of it is created (even after deletion of the second instance)

Héraès

Member
It's going on for years, and I'm tired of it.

FIRST PROBLEM - HOW TO REPRODUCE IT

1. Create a source for your webcam. Name it as you want.
2. Use it in a scene. Make it activated/visible.
3. Now create an other source, with the same webcam. Name it with a different name.
4. Use it in a second scene. Make it activated/visible.
5. Switch back to the previous scene : tadaaa ! The first webcam is not visible anymore.
6. Go back to the second scene, and hide the webcam.
7. Now, go back to the first scene : taaaaaaadaaaaaaaa !!! The Webcam is STILL NOT VISIBLE.
8.You're screwed.

HYPOTHESIS

OBS mess with the devices ID attributions, names, and relationship between the two. The fact that it can't accept to just fucking use the device, is mesmerizing. But the fact that even when deleting the second instance, it stay stuck, is beyond facepalming. -_-

Not mentioning that even by declaring two instances of the same device, they should share the same UUID, and there should never be another UUID attributed for the device, than the one of that device.

HOW TO SOLVE THE PROBLEM ?

I don't know. I think that previously, I just have deleted all the source, to restart from scratch. But at this present time, I have 150 scenes. I won't do that just because a lazy bunch of developers never took a minute to considere that this problem do indeed exists.

There's a workaround : it consists in unpluging the device, and re-pluging it. But I'm not a slave, I'm not supposed to bend and go behind my desk everyday when I launch OBS.

WHAT I TRIED, AND HOW STUPID IS THIS SOFTWARE (OR THE PEOPLE THAT MADE IT ?)

I understood that in the file of the scenes collection, there might be traces of the ID of my webcam, with an incorrect ID (guess how it happened ? Hmm ?).
And I also understood that the aforementioned ID (the real one) is delivered my Windows.

1. So I went in Windows' Device Manager, opened the properties of my webcam, "details" tab, chosed "class GUID", and copied the stuff. Note : The fact that this properties panel doesn't appear in the taskbar and end up being hidden behind all my windows opened, forcing me to minimize all my software to retrieve it, is also mesmerizing. Incompetency at its highest. -_-
2. I went in %AppData% -> Roaming -> obs-studio -> basic -> scenes, and opened the JSON of my scenes collection.
3. It's fucking minimized -_-. Okaaay... So, I used "find and replace", and replaced all the webcam UUID with the windows' GUID one (without the curly braces, I'm not a fool).
4. I reopened OBS. It didn't work -_-.
5. Went back to the JSON file, to realize that it has been overwritten to its previous state. O_o
6. I wondered if the .BAK was used to set the JSON back to its previous state each time OBS is launched (wich would be completely stupid), so I started again editing both the JSON and the BAK.
7. I reopened OBS. Didn't work again !!! -___- Jesus.
8. Went back to the JSON and BAK files, to realize that... they have been reseted to their previous state.

What the heck ??? Are you playing with people's mind ?

QUESTION

>>>> Where is the god damn file that overwrite the previous two ones ? Please. <<<<

And what's the point of storing in a JSON if that's to store informations in an obscure location acting like a virus stored in a ROM of a motherboard ?
 
Last edited:

Héraès

Member
Wanna hear a good joke ? I knew about this bug since 2020 when I first started to stream regularly with OBS. Indeed, when you want to create a different webcam, you have to add the source of it, add some fancy frame around it, group the whole, and name it differently ; but if by chance you want to use a filter on the webcam for one group only, you can't : because it will be applied on the source, therefore modifying all other Groups with the same webcam in it (remember that you're supposed to have only ONE source for your webcam used in all your stuffs).

But... Jesus, I wanted to add a filter, and I forgot about the bug... So I created a new group, with a new instance of the webcam TO AVOID modifying the other groups with my webcam. Applause... Hurray ! Yeah, I've instantly been transported back in 2020... Now I'm screwed, just because A CASCADE OF INCOMPETENCY. ‍
 
Last edited:

Suslik V

Active Member
You over complicated the things.

The option "Deactivate when not showing" in properties of the Video Capture Device source will allow to free resources of the device.
But it rare in use in modern OBS (in old builds of OBS you switched to intermediate scene before switching to camera - to make sure that it was deactivated), in modern OBS you don't need to deactivate device at all - you can use same instance of the camera almost without limits in any scene (Transform options are independent, Filters can be applied to groups or to scenes).

The Video Capture Device (by nature of how OS handles DirectShow devices) cannot be shared. The rule is simple: one video feed - one device - one application. Initialization of the device (if it was deactivated) takes some time. Thus, if you using camera in OBS, you need to check the "Deactivate when not showing", then hide the source, and only then after the one second or two you can use this camera in Skype (there was a program for VoIP, long time ago). To minimize delays required for activation OBS always processing its sources even if they hidden - this is by design. Also, this allows to record sources to standalone files - see: https://obsproject.com/forum/resources/source-record.1285/ .

Group and Scene (as source) in OBS can be used to encapsulate the source to apply video effect to the "capsule" itself (source itself remains "clear" , and can be re-used in other scenes with other "capsule" and a different filter). This encapsulation can be applied to referenced copies of the sources.

So, if you need different Filters for your referenced copies read more about Groups and Scenes (there you will find links to examples):

Some bugs for Group of items (as for today):

OBS uses unique names for sources. Thus, if source in OBS has the same name - it is reference copy of the source. All references are equal, no hierarchy in inheritance of the properties ---> you modified one = all was modified. Transform options of the sources always independent from all other properties (even for referenced copies).
 

Héraès

Member
Thank you @Suslik V, but I don't nee a fanboy lecturing me with wrong arguments.

Your first paragraph talks about an option : that option was already checked. So, you didn't help.
Moreover, you don't solve the actual problem of wrong UUID.

Your second paragrah talks about the webcam not being available in two separate softwares (ex : OBS, and Skype) at the same time.
WTF ?? Did I talk about using the webcam outside of OBS ?

Your third paragraph talks about groups, as if I was unable to use them, despite me explaining that I have already used them.

Then, the last phrase talk about filters, but YOU don't understand that not every filter can be applied on a group, sometimes this won't do the good result because it will apply it on ALL THE SOURCES IT CONTAINS, but if you don't want that, you have to apply the filter on the source(s) you want, selectively.

Typical fanboy answering BEFORE reading completely the OP, just to train his skill in computing ("do an antivirus scan, blabla").
Can you delete your message please ? It's taking place, and people will think that you already answered something relevant. Thank you ;)

You over complicated the things.

And please, PLEAAASE, stop bragging. Don't reverse our roles.
 

Suslik V

Active Member
Please, attach your log file. But if you'll find something like "Insufficient system resources exist to complete the requested service." in it, then you are on your own. I can't do magic :(
 
Last edited:

Héraès

Member
I don't want your help, I want help from someone who read posts, not from someone who automatically answer without reading.
In the links you posted, there is proofs that you constantly copy/paste things without taking care of the original OP.
 
Top