I want to run OBS Studio on the background and control it with a simple GUI that just does a couple of things to the virtual camera usable by videoconferencing apps (e.g., Zoom, Teams). After a lot of experimentation, I find that I can launch OBS Studio as a service, but that seems to disable the Virtual Camera functionality.
Some details:
I am running Windows 10 64-bit, version 2004, with newest VC++ Redistributable 14.28.29325 and OBS 26.0.2 (64-bit) and latest DLLs. If launch OBS Studio from an icon or command line. When I start OBS Studio from the command line, I see in the log:
11:45:34.687: Virtual output started
11:45:34.698: ---------------------------------
11:45:34.698: [DShow Device: 'Elo-OBS-WebCam'] settings updated:
11:45:34.698: video device: Elo_Conference_Camera
11:45:34.698: video path: \\?\usb#vid_04e7&pid_a110&mi_00#b&1569c4c&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global
11:45:34.698: resolution: 1920x1080
11:45:34.698: flip: 0
11:45:34.698: fps: 30.00 (interval: 333333)
11:45:34.698: format: MJPEG
11:45:34.711: ==== Virtual Camera Start ==========================================
And everything works fine. I have a C# program that uses obs websocket API to do few things such as change crop and brightness. It connects to the OBS Studio just fine and works OK.
I wrote a Windows service that starts OBS Studio as a Process() with the "--startvirtualcam" argument. With the C# program, I can still connect over the websocket, but the virtual camera doesn't appear to be started (for example, in Zoom, you get the OBS logo image instead of a camera stream).
The only clue I have is that I don't see the last line in the log of the OBS Studio started in background, THIS ONE::
11:45:34.711: ==== Virtual Camera Start ==========================================
I was going to try the StartOutput() command over websocket, but it's not defined for the .NET library, apparently.
Not sure why running as a process would disable the Virtual Camera.
Any ideas would be greatly appreciated.