how do i make sure obs studio notices a "new" usb camera?

Joe1

New Member
dear obs-ers,

i have a purism librem 14. when i use the video/audio kill switch, the camera is either powered on and initialized by the operating system (pureos byzantium, a debian derivative) or powered off and the OS treats it just like it had been unplugged.

i have NEVER been able to use this camera with obs studio unless it was on (and virtually "plugged in") when obs studio starts and also has not been "unplugged" and "replugged" since obs studio started. if i want to use the kill switch to "unplug" the camera (e.g., to be sure a conversation in the room is private) then i have to restart obs studio AFTER i "replug" the camera.

my impression from reading about obs studio is that other people seem to report that it can see cameras that are plugged in after it is started. so this seems to be a bug in how obs is interacting with my computre (rather than the lack of a feature in obs). am i right that obs studio can normally handle newly plugged in cameras?

i have included a log file from a very short session which i started with the camera "plugged'", and obs could see it fine, and then i toggled the kill switch to "unplug" and "replug" the camera, after which obs only showed a frozen video frame from just before the "unplugging".

any suggestions? is there some user action i am supposed to take to tell obs studio to notice that the camera is working again?

thanks very much for your attention!

with my best wishes,
joe

p.s. long live non-proprietary software!
 

Attachments

  • 2022-11-24 21-56-11.txt
    9.1 KB · Views: 9

Joe1

New Member
actually, thinking back, i seem to remember (not sure about this memory) that i was able to get obs studio to use the "replugged" camera by searching for and adding it as a new video source. (but if this works, i anyway need a way to automate this so that it take a second, not minutes of confusing interaction with the user interface.)
 

AaronD

Active Member
(e.g., to be sure a conversation in the room is private)
My thought on that is to simply make sure that the camera is not shown. No need to make it unavailable. Same for any mics that might pick up the conversation.

OBS doesn't just send stuff out, unless you've told it to by putting it in a scene that is currently live, or by having a filter that does that to a particular source. There are some add-on filters that send their input to an independent destination that you specify, but none of the default ones do that.

In short, if it's not live, and not explicitly sent somewhere, then it's already private. No need to make it physically unavailable. Unless I'm missing something?



I can see a possibility of attaching a legitimately new source after a live stream has started, and you can't stop the stream to make OBS recognize it. Maybe a guest comes late with the hardware that they promised to bring, and you have a hard start time, or something like that. But if you have the time to plan ahead, then you should have everything already hooked up, tested, and troubleshot (or given up on) before the stream starts, so that you don't have any technical curveballs while you're live.

Maybe instead of a USB camera, you get an HDMI camera and an HDMI capture card. Maybe even an HDMI switch so that you don't have to unplug the HDMI cord. Or just turn the camera off while the capture card stays on with the computer. Then OBS sees the capture card as its source, and that never goes away.

There are some pretty good USB cameras, but I think it's generally more common for the good ones to have a live HDMI and/or SDI out; and their USB port, if any, is only to access a memory card or update firmware. And if you really get a serious one, it'll probably have a lens cap. :-)
(even my cheap handheld camcorder has a "flip-up card" that covers the lens)

You'd still have the camera mic to think about - the lens cap doesn't do anything for that - but OBS does have a mute button...if you use the camera mic anyway. Most serious things don't. When I record something to edit later, I'll use the camera mic to sync the separate audio recording, and then mute the camera mic entirely for the rest of the editing process. For live or live-to-tape, I don't use the camera mic at all.
 
Last edited:

AaronD

Active Member
i have a purism librem 14. when i use the video/audio kill switch, the camera is either powered on and initialized by the operating system (pureos byzantium, a debian derivative) or powered off and the OS treats it just like it had been unplugged.
I just googled that. From what you wrote, it sounds like it's just a USB camera that (weirdly) has a power switch on its USB cord. Nothing really jumped out at me that it wasn't. Google says it's a complete laptop (!?) that is designed with an extra focus on privacy. So yes, the built-in camera (which is almost always USB internally) does have a hard power switch. It doesn't rely on software to ignore it; it really is completely gone at the hardware level. Hence the original question.

To that, I would say to either leave that switch on for the entire start / stream / shutdown process, and rely on the software to ignore something private during that time, or use a different camera so that the built-in one can stay off for the entire time. Essentially moving the problem to an external device but not eliminating it.

Live streaming and privacy generally don't go together.
 

Joe1

New Member
thanks for reply @AaronD!

my main question is still this: is there some way to get obs studio to continue using a usb camera that has been unplugged and then plugged back in? preferably without needing any intervention, or needing at most a couple of key presses.

thanks for any answers to this that anyone can provide!

(by the way, the reason for the kill switch is basically assuming that at some point someone is going to hack into your computer. vulnerabilities will happen. you want to be safe despite this, so if you can simply shut the power to your camera/microphone for confidential discussions, you can be sure that they will not be recorded. obs studio could itself be the most secure program in the world and this would not make an difference, because someone who has hacked into your computer can simply bypass obs studio and directly access the camera and microphone.)
 

AaronD

Active Member
(by the way, the reason for the kill switch is basically assuming that at some point someone is going to hack into your computer. vulnerabilities will happen. you want to be safe despite this, so if you can simply shut the power to your camera/microphone for confidential discussions, you can be sure that they will not be recorded. obs studio could itself be the most secure program in the world and this would not make an difference, because someone who has hacked into your computer can simply bypass obs studio and directly access the camera and microphone.)
Yes, that is always a possibility, and more likely to succeed with modern software that doesn't limit access to one app at a time. Just a few years ago, access was exclusive for performance reasons, so if OBS had already claimed it, every other request would either fail or receive an empty stream until OBS released it. Now, multiple things *can* access it simultaneously.

But from a live media standpoint, you really need to think about having all devices always available regardless of anything, and use some other method to provide that peace of mind, if you REALLY need it. Every disconnect / reconnect is an opportunity for the reconnection to go wrong, before OBS even has a chance to see it. (switch failure, awkward boot, driver fails to load, etc.)

If you're in the mood to be paranoid, then the argument for a system failure is the same as the argument for getting hacked. Live Media people are just paranoid about different things, so we try to make sure that *those* things never happen. Everything else is effectively an afterthought.

So, would you rather guarantee that:
  • Someone else can't see you when you don't want them to, and "just trust" that the system will always work?
    OR
  • The system will always work, and "just trust" that someone won't get in to see you when you don't want them to?
It's the exact same argument either way, with only the two options swapped. And unfortunately, you can't have both.
 
Top