obs-studio icon indicating copy to clipboard operation
obs-studio copied to clipboard

Virtual Camera does not start on macOS in OBS 30.1.0 after updating OBS

Open zine999 opened this issue 1 year ago • 33 comments

Operating System Info

macOS 14

Other OS

No response

OBS Studio Version

30.1.0

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://obsproject.com/logs/DmoOPYoF3teohXFI

OBS Studio Crash Log URL

No response

Expected Behavior

For the virtual camera to work as it did before in 30.0.2.

Current Behavior

Screenshot 2024-03-15 at 7 42 37 PM

Steps to Reproduce

  1. Click "Start Virtual Camera" in Studio Mode

Anything else we should know?

See workaround below.

zine999 avatar Mar 15 '24 10:03 zine999

I confirm the problem with virtual camera

dx8ug avatar Mar 15 '24 11:03 dx8ug

The Virtual Camera seems to work fine on a fresh install of OBS Studio. Did you both update from an older version?

@dx8ug Please provide a log file.

RytoEX avatar Mar 15 '24 11:03 RytoEX

The Virtual Camera seems to work fine on a fresh install of OBS Studio. Did you both update from an older version?

I updated from a previous version using the built-in updater.

I don't know what a "fresh install" means.

I also downloaded the DMG from the website and replaced the app, and that didn't help.

zine999 avatar Mar 15 '24 11:03 zine999

yes, I updated from the previous version using the built-in updater.

logs https://obsproject.com/logs/9DFozr6B7cHyVNjl

dx8ug avatar Mar 15 '24 11:03 dx8ug

The Virtual Camera seems to work fine on a fresh install of OBS Studio. Did you both update from an older version?

I updated from a previous version using the built-in updater.

I don't know what a "fresh install" means.

I also downloaded the DMG from the website and replaced the app, and that didn't help.

A "fresh install" is installing OBS when no version of OBS is currently installed. Basically:

  1. Make sure there are no other versions of OBS.app in your Trash. a. This is important. If there are other versions of OBS.app in your Trash, macOS may not correctly remove the system extension (virtual camera). b. You can optionally reboot after this step to be safe.
  2. Drag OBS to Trash. a. This is important, as this is how macOS deletes system extensions associated with apps. Do not use a third-party cleaner app. Do not manually delete in some way that bypasses Trash.
  3. Empty Trash. a. You can optionally reboot after this step to be safe.
  4. Install OBS to /Applications. a. This is important. If you try to install OBS to any other location, the system extension will not work.

I just tried updating from OBS Studio 30.0.2 to 30.1.0 and had no issues with the virtual camera at any point. What version did you both update from?

RytoEX avatar Mar 15 '24 11:03 RytoEX

I can assume that version 30.0.2 was previously used, since I always update when possible

trying to do a fresh install

dx8ug avatar Mar 15 '24 11:03 dx8ug

I updated from 30.0.2.

Moving 30.0.2 to the trash, emptying it, and then installing 3.1.0 from the DMG did bring up the dialog that then prompted me to approve the app in System Preferences (Security / Privacy settings). Clicking "Allow" and then running OBS again did fix the issue. Thank you for your help @RytoEX.

It seems like there's some issue with upgrading the app via the updater that causes it to break / skip this important part.

zine999 avatar Mar 15 '24 11:03 zine999

after a fresh installation with a reboot, the issue was fix (there was no notification about permissions) without a reboot, even with a reinstallation the issue remained Thank you

dx8ug avatar Mar 15 '24 12:03 dx8ug

Usually this "not found" error is caused by the extension updating successfully, but macOS failing to start the updated version after the update.

If that's the case, logging out and back in should solve it, a full reboot shouldn't even be required.

If someone has this issue and logging out and in doesn't solve it, could they post the output of the systemextensionsctl list command in Terminal?

jcm93 avatar Mar 15 '24 13:03 jcm93

I can confirm this issue. Was fixed by rolling back to 30.0.2

Voxinator avatar Mar 21 '24 15:03 Voxinator

I can confirm this issue. Was fixed by rolling back to 30.0.2

The macOS Virtual Camera in OBS Studio 30.1.0 works fine on macOS 13 and 14, and should work fine on macOS 12.3 or later (and even on macOS 11, but using the old implementation, which the user should not be able to tell). This issue is not that it is actually not working at all, but that it apparently does not work after updating OBS for some reason, probably the macOS CMIO System Extension update mechanism not working correctly.

As mentioned above, please do not roll back when you encounter this issue. Please provide the output of systemextensionsctl list from Terminal. The virtual camera itself is not broken in 30.1.0, as multiple people have confirmed.

RytoEX avatar Mar 21 '24 16:03 RytoEX

I've also had this issue. After upgrading to 30.1.0, (on MacOS 12.7.4 Intel Mac) the virtual camera stopped working. I absolutely flailed around, reinstalling, etc. trying many things until it started working again. One of the last things that I tried was running this command on a fresh install of 30.1.1: sudo find /Applications/OBS.app/ -type f -exec xattr -d 'com.apple.quarantine' '{}' ';' which strips the 'quarantine' attribute from all files in the OBS application. I'm not sure that's what fixed it, but it did work shortly thereafter. HTH someone

risacher avatar Mar 25 '24 13:03 risacher

I've also had this issue. After upgrading to 30.1.0, (on MacOS 12.7.4 Intel Mac) the virtual camera stopped working. I absolutely flailed around, reinstalling, etc. trying many things until it started working again. One of the last things that I tried was running this command on a fresh install of 30.1.1: sudo find /Applications/OBS.app/ -type f -exec xattr -d 'com.apple.quarantine' '{}' ';' which strips the 'quarantine' attribute from all files in the OBS application. I'm not sure that's what fixed it, but it did work shortly thereafter. HTH someone

What we really need is the output of systemextensionsctl list from Terminal when someone is in a broken state.

RytoEX avatar Mar 25 '24 15:03 RytoEX

@risacher Actually, on macOS 12, you still get the old DAL extension, not the new CMIO extension, so your problem is probably not the same as this.

RytoEX avatar Mar 25 '24 15:03 RytoEX

I currently find myself in a broken state.

➜  ~ systemextensionsctl list
2 extension(s)
--- com.apple.system_extension.network_extension
enabled	active	teamID	bundleID (version)	name	[state]
*	*	DE8Y96K9QP	com.cisco.anyconnect.macos.acsockext (4.10.07061/4.10.07061)	Cisco AnyConnect Socket Filter Extension     	[activated enabled]
--- com.apple.system_extension.endpoint_security
enabled	active	teamID	bundleID (version)	name	[state]
*	*	X9E956P446	com.crowdstrike.falcon.Agent (7.11/180.02)	Falcon Sensor	[activated enabled]

OS: MacOS Sonoma Version 14.4.1 (23E224) OBS: 30.1.1 (64bit) Chip: Apple M1 Pro

Error Message

An error has occured while installing the virtual camera:

The operation couldn’t be completed. (OSSystemExtensionErrorDomain error 10.)

duffenterprises avatar Mar 25 '24 23:03 duffenterprises

I currently find myself in a broken state.

➜  ~ systemextensionsctl list
2 extension(s)
--- com.apple.system_extension.network_extension
enabled	active	teamID	bundleID (version)	name	[state]
*	*	DE8Y96K9QP	com.cisco.anyconnect.macos.acsockext (4.10.07061/4.10.07061)	Cisco AnyConnect Socket Filter Extension     	[activated enabled]
--- com.apple.system_extension.endpoint_security
enabled	active	teamID	bundleID (version)	name	[state]
*	*	X9E956P446	com.crowdstrike.falcon.Agent (7.11/180.02)	Falcon Sensor	[activated enabled]

OS: MacOS Sonoma Version 14.4.1 (23E224) OBS: 30.1.1 (64bit) Chip: Apple M1 Pro

Can you screenshot the error that you receive when you try to start Virtual Camera output in OBS 30.1?

jcm93 avatar Mar 25 '24 23:03 jcm93

With pleasure. Note, I've already attempted the privacy change that others had previously described.

Screenshot 2024-03-25 at 7 44 47 PM

duffenterprises avatar Mar 25 '24 23:03 duffenterprises

That error indicates that your device is a managed or provisioned system, and the provisioner did not grant you permission to install system extensions. This is unrelated to the errors upthread.

jcm93 avatar Mar 25 '24 23:03 jcm93

Thanks @jcm93. Apologies for the noise. Do you know what the system extension required is?

duffenterprises avatar Mar 25 '24 23:03 duffenterprises

There is not a name for it, it's authored by OBS and is just a small CMIO extension that accepts frames received from OBS and presents them as a camera device. This is the only supported way to achieve 'virtual camera' functionality in macOS 14+. More details can be found in Apple's documentation or the plugin code.

jcm93 avatar Mar 26 '24 00:03 jcm93

Currently, what we need to debug this are these things:

  1. The output of systemextensionsctl list when you get the "Could not find virtual camera" error message.
  2. An OBS log from when you get the "Could not find virtual camera" error message.
  3. The output of systemextensionsctl list after rebooting macOS.
  4. An OBS log after rebooting macOS when trying to start the Virtual Camera.

RytoEX avatar Apr 05 '24 18:04 RytoEX

I again encountered the same problem after auto-updating on 30.1.2 here is the output of the command systemextensionsctl list when the error appears

--- com.apple.system_extension.cmio
enabled	active	teamID	bundleID (version)	name	[state]
*	*	2MMRE5MTB8	com.obsproject.obs-studio.mac-camera-extension (30.1.2/8576208847)	com.obsproject.obs-studio.mac-camera-extension	[activated enabled]
		2MMRE5MTB8	com.obsproject.obs-studio.mac-camera-extension (30.1.0/8254614054)	com.obsproject.obs-studio.mac-camera-extension	[terminated waiting to uninstall on reboot]

logs https://obsproject.com/logs/f3FMRmvurvAuIBNR

dx8ug avatar Apr 12 '24 09:04 dx8ug

after reboot

--- com.apple.system_extension.cmio
enabled	active	teamID	bundleID (version)	name	[state]
*	*	2MMRE5MTB8	com.obsproject.obs-studio.mac-camera-extension (30.1.2/8576208847)	com.obsproject.obs-studio.mac-camera-extension	[activated enabled]

and the camera started working that is, after update need to reboot mac

dx8ug avatar Apr 12 '24 09:04 dx8ug

If anyone runs into this again, please file an Apple Feedback when OBS is open and you get the "Could not find virtual camera" error message. Post the Feedback ID here.

RytoEX avatar Apr 12 '24 19:04 RytoEX

That error indicates that your device is a managed or provisioned system, and the provisioner did not grant you permission to install system extensions. This is unrelated to the errors upthread.

@jcm93 dufferenterprise's issue (while not the one addressed in this thread) is popping up on my system, but my user is in sudo group so in theory I should be able overridable--do you happen to know of a cli command or way to re-build/re-register the plug-in?

tommyderami avatar Apr 17 '24 14:04 tommyderami

Just to add back, for my use case the MDM admin added the following system extension:

com.obsproject.obs-studio.mac-camera-extension team identifier 2MMRE5MTB8

On Wed, Apr 17, 2024 at 10:13 AM Andrew T @.***> wrote:

That error indicates that your device is a managed or provisioned system, and the provisioner did not grant you permission to install system extensions. This is unrelated to the errors upthread.

@jcm93 https://github.com/jcm93 dufferenterprise's issue (while not the one addressed in this thread) is popping up on my system, but my user is in sudo group so in theory I should be able overridable--do you happen to know of a cli command or way to re-build/re-register the plug-in?

— Reply to this email directly, view it on GitHub https://github.com/obsproject/obs-studio/issues/10381#issuecomment-2061364100, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEZ5OLEJ5A5CQ5JPCMKJDL3Y5Z7SFAVCNFSM6AAAAABEXYTO4SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRRGM3DIMJQGA . You are receiving this because you commented.Message ID: @.***>

duffenterprises avatar Apr 18 '24 21:04 duffenterprises

It appears that, in rare instances, users can hit the "Could not find virtual camera" error despite the extension being installed AND running. This appears to be due to some sort of bundle lookup failure in systemextensionsctl, and persists through logout/in as well as reboot, though the one user that's run into it resolved it by reinstalling OBS.

This is the output of systemextensionsctl list when that error is encountered (via a user in support on macOS 14.4.1):

2 extension(s)
--- com.apple.system_extension.cmio
enabled    active    teamID    bundleID (version)    name    [state]
2024-05-15 20:17:20.523 systemextensionsctl[1237:19638] Cannot getLocalizedStringForKey: Completely failed to resolve bundle info, returning empty results
*    *    2MMRE5MTB8    com.obsproject.obs-studio.mac-camera-extension (30.1.2/8576208847)        [activated enabled]
2024-05-15 20:17:20.523 systemextensionsctl[1237:19638] Cannot getLocalizedStringForKey: Completely failed to resolve bundle info, returning empty results
*    *    Y93VXCB8Q5    com.elgato.CameraHub.CameraExtension (1.1/4)    [activated enabled]

Posting for the sake of public tracking in case this is of interest to any Apple people reading. No users in this thread or #9912 appear to have hit this specific failure mode and posted documentation.

jcm93 avatar May 16 '24 04:05 jcm93

Hey, I'm a developer working on another macOS app that creates CMIO System Extension, like OBS does. During development I've also ran into an issue that might be similar to what people experience here, in case of OBS extension.

Skipping the details I've eventually realised that if the extension process runs after the host app started AVCaptureDeviceDiscoverySession app won't be able discover extension device (even though extension process eventually starts and runs without problems). During fresh install and usual run it's usually not an issue, but it floats in case when the extension has to update. Even though replacement process completes successfully and OSSystemExtensionRequest completes it does not mean that extension process is already up and running. If you then run device discovery session based on delegate method result it may not find the extension yet.

That's just a quick summary, if it makes any sense for you and could be helpful I'm open to share more details and help with some debugging.

niczyja avatar Jul 10 '24 13:07 niczyja

Had this issue appear after updating to 30.2.0 via the built-in updater. On macOS 14.4 23E214. Doing a clean re-install alone did NOT fix the issue. Logging in & out after the re-install did fixed the issue. No security permissions were requested or changed at any time.

appenz avatar Jul 19 '24 15:07 appenz

WORKAROUND/ALTERNATIVE: use NDI Tools Virtual Camera and OBS NDI output plugin over the loopback interface.

I've had a lot of problems with the OBS virtual camera. It works for me most of the time, but randomly stops working - often mid-meeting, embarrassingly exposing my green-screen for all to see. OBS still seems to think it's working, but other applications stop seeing the virtual camera. This was frustrating enough that I was looking for hardware loopback solutions when I stumbled upon using NDI as an alternative. I've been using it for about a week, and so far, it's been rock solid.

risacher avatar Jul 21 '24 19:07 risacher