obsproject / obs-studio

OBS Studio - Free and open source software for live streaming and screen recording
https://obsproject.com
GNU General Public License v2.0
57.22k stars 7.72k forks source link

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

Open zine999 opened 3 months ago

zine999 commented 3 months ago

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?

No response

dx8ug commented 3 months ago

I confirm the problem with virtual camera

RytoEX commented 3 months ago

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.

zine999 commented 3 months ago

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.

dx8ug commented 3 months ago

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

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

RytoEX commented 3 months ago

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?

dx8ug commented 3 months ago

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

trying to do a fresh install

zine999 commented 3 months ago

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.

dx8ug commented 3 months ago

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

jcm93 commented 3 months ago

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?

Voxinator commented 3 months ago

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

RytoEX commented 3 months ago

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.

risacher commented 3 months ago

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

RytoEX commented 3 months ago

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 commented 3 months ago

@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.

duffenterprises commented 3 months ago

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.)
jcm93 commented 3 months ago

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?

duffenterprises commented 3 months ago

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

Screenshot 2024-03-25 at 7 44 47 PM
jcm93 commented 3 months ago

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.

duffenterprises commented 3 months ago

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

jcm93 commented 3 months ago

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.

RytoEX commented 3 months ago

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.
dx8ug commented 2 months ago

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 commented 2 months ago

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

RytoEX commented 2 months ago

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.

tommyderami commented 2 months ago

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?

duffenterprises commented 2 months ago

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: @.***>

jcm93 commented 1 month ago

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.