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
60.14k stars 7.96k forks source link

Virtual Camera does not work with Cisco Webex #3453

Closed curya closed 3 years ago

curya commented 4 years ago

Platform

Operating system and version: Windows 10 OBS Studio version: 26 rc2

Expected Behavior

Virtual camera should work.

Current Behavior

Cisco Webex allows you to select OBS Camera, but once you do you get an error. The error states that it cannot connect to the webcam. It asks if the webcam is in use by another application or installed correctly.

Steps to Reproduce

  1. Start Virtual Camera in OBS.
  2. Select OBS Camera in Cisco Webex.
  3. Error.

Additional information

flaeri commented 4 years ago

I can confirm Cisco Webex just displaying a black screen on RC2. The old plugin seems to work.

Fenrirthviti commented 4 years ago

We checked in to this, but are not sure exactly what the issue is. It will take some more investigation, but we are not going to hold up the release for this. Moving this to 26.1 milestone for now.

WizardCM commented 4 years ago

Per feedback in the beta-testing channel on Discord, it seems Korean chat app KakaoTalk also has the same issue - it just shows black, regardless of whether the placeholder image is active or the camera has been launched. I have verified this myself.

Fenrirthviti commented 4 years ago

We have engaged with Cisco to determine what the issue is, and will update as soon as we have more to share.

rafaelugim commented 4 years ago

My OBS version is 25.0.8 and Webex updated at 24/10/2020. I had the same problem, but i think it resolvs easily reinstalling the webex app.

Fenrirthviti commented 4 years ago

OBS v25 doesn't have a built-in virtual camera, so I am unsure that is related to this issue.

s-celles commented 3 years ago

I also noticed that virtual cam doesn't work with desktop client Webex Meetings, but works properly with Cisco webex web client.

stozk commented 3 years ago

Same problem here, 26.0.2 doesn't work with the Webex Desktop Client (40.8.4.7 / Windows 10). It works in MS Teams and other applications without problems.

I can select it in the Webex app, but when I press on "start video" nothing happens.

Fujitsu-LiveTalk commented 3 years ago

This issue only occurs with WebEx Apps. If you use WebEx WebApps, you can use the footage from OBS Virtual Cam as camera footage. OBS Studio 26.0.2

Fenrirthviti commented 3 years ago

That is expected, because browser-based tools will use the browser's camera interface (I.e. chrome's) which works fine with VirtualCam.

nitantsharma commented 3 years ago

Hi, what is the old plugin called? Thank you.

digitalentropy commented 3 years ago

Just tested this on 26.1 RC2 and confirmed that this bug still exists with latest WebEx desktop app. I get an error from WebEx that it "Can't connect to the camera."

WizardCM commented 3 years ago

Thanks for confirming. I'm moving this to be re-explored for 26.2.

digitalentropy commented 3 years ago

Fingers crossed. Will have to re-install old OBS virtual cam plugin for now (which does work fine).

Any info about what the new built-in driver does differently that WebEx doesn't like?

WizardCM commented 3 years ago

The built in camera is essentially built up from scratch to be more efficient, and therefore certain functions that apps like WebEx use might not exist, or might not return the correct data. It's just a matter of figuring out what's needed and adding it.

digitalentropy commented 3 years ago

Understood. Thank you for the very helpful response. I'm glad there was more focus placed on efficiency. Looking forward to testing new changes as we figure out what it needs.

Did Cisco ever respond to questions?

FreddyFuchur commented 3 years ago

Hello there, maybe i have the same issue, but with another software. i used virtualcam many times. After the update to OBS 26... This plugin doesn't work with the software vidyo. My company is using this software. I removed the virtualcam and now i'm using the bulit in solution in OBS. I still have the same problem. All other VC-Software like Skype and Zoom are working fine. FYI: https://www.vidyo.com/

steinerlein commented 3 years ago

Just confirming that I'm having this problem too. Also, all sources I may want to use in webex are not available as long as OBS is open.

stuartaw commented 3 years ago

Not sure if this is the best place for this, however I am seeing a very similar issue with vmix (yes.. unfortunately I have to...) - I can see the OBS virutal camera, however get nothing but black.

stuartpittaway commented 3 years ago

Confirmed as NOT working in WebEx and OBS 26.1.0, webex reports camera is in use or fault.

image

jp9000 commented 3 years ago

If there's any developer out there who has an idea of what might be going on here we'd probably be grateful for some help. Because I have no idea why it's not working with this particular software.

stuartpittaway commented 3 years ago

It does still work with the older virtualcam plugin, so something much be different in the handsake between the two drivers

ccvca commented 3 years ago

I can only guess...

If there's any developer out there who has an idea of what might be going on here we'd probably be grateful for some help. Because I have no idea why it's not working with this particular software.

@jp9000 As Webex says "Webcam not connected", I guess that there are some checks before even try to access the video feed. Can you see anything about the connection attempt in the obs-webcam-driver? Does webex do any settings-request? If so, whats the last request? Is there anything requested, which is not implemented at the moment?

digitalentropy commented 3 years ago

An interesting but potentially frustrating update...

Yesterday my WebEx client was updated, and the new integrated OBS VirtualCam now appears to be working with it, so it looks like they made some changes.

Unfortunately, it doesn't resolve a couple of questions:

  1. The underlying incompatibility in OBS's implementation has not been resolved. There still remains a technical difference in interface that OBS provides that is different from what most hardware webcams provide, and different from what the old OBS plugin provides.
  2. There are likely other applications that remain incompatible due to the same technical limitation that prevented older versions of WebEx from working.

If anyone has been in discussion with anyone on the Cisco WebEx side and could provide more details, that would be helpful.

ccvca commented 3 years ago

Yesterday my WebEx client was updated, and the new integrated OBS VirtualCam now appears to be working with it, so it looks like they made some changes.

I cannot confirm this, I'm using Webex Meeting 40.12.5.14 and webex doesn't show me any updates, but the Webcam does not work. What Version do you use?

digitalentropy commented 3 years ago

I am running WebEx Client 41.1.1.17.

KRiusd commented 3 years ago

Today I got a Webex update from 41.1.1.17 to 41.1.2.16. With OBS 26.1.1 it is now working fine.

jp9000 commented 3 years ago

Oh nice. Maybe they changed something on their end. I still wonder what it was though. Can anyone else confirm whether the webex 41.1.2 update works?

wilk-polarny commented 3 years ago

@KRiusd @jp9000 I cannot confirm that it's working for OBS 26.1.1 and Cisco Webex Meetings 41.1.2.16. I'm still getting the message telling me to check whether the camera is connected and enabled.

I will try to raise an issue with Cisco once I'm back in the office.

jkrentz commented 3 years ago

Working for me now in Cisco Webex Meetings desktop client 41.1.3.11

ccvca commented 3 years ago

I can also confirm, that this is working on 41.13.11 now. I didn't had luck on my previous version (something >= 41.12.16 and <41.13.11), but after the update today it seems fine. PS: Windown 10 1909 and OBS 26.1.1

wilk-polarny commented 3 years ago

I tried 41.1.3.11 today, and the video signal (placeholder) only appeared once - while OBS was not active. Once OBS Studio started, it stopped working again and there's no way to recover (system restarted, WebEx restarted, OBS restarted). So no, at least for me it's still failing.

digitalentropy commented 3 years ago

I am now on 41.1.3.11.

I have had intermittent failings with it and OBS 26.1.1. Sometimes it works, sometimes it doesn't. It looks like there's still a few inconsistencies and bugs. I think we need to continue looking at the OBS side of the problem.

wilk-polarny commented 3 years ago

It also fails with Cisco Jabber, which has a different behaviour: It just takes the video feed from the next available camera, although the OBS Virtual Camera is selected.

Funny thing is determining the WebEx version, as the Main GUI and the Meetings GUI seem to have different versions: image

digitalentropy commented 3 years ago

Just a follow-up here. In some applications, the still preview that is supposed to show up before the virtual cam is started doesn't show, but instead only a grey screen is displayed.

This is also an opportunity for improvement in the driver.

digitalentropy commented 3 years ago

FWIW, I am unable to get it to work with the current version of Teams (1.2.00.34662). I saw earlier that someone had it working fine, but I've never had it work.

xlVBAer commented 3 years ago

FWIW, I am unable to get it to work with the current version of Teams (1.2.00.34662). I saw earlier that someone had it working fine, but I've never had it work.

I’m on macOS. Teams desktop client will not pickup OBS virtual cam. But if I use the teams web app, it will work with teams. You might try that on windows.

wilk-polarny commented 3 years ago

Looks like it's working again since WebEx Meetings 41.1.3.11 kicked in with the automatic update (updating manually only did a partial update?!).

jp9000 commented 3 years ago

Seems this is pretty much resolved.

digitalentropy commented 3 years ago

Seems this is pretty much resolved.

It's still broken for Microsoft Teams on my end here, likely due to the very same issue that prevented it from working with WebEx. There still seem to be significant issues with the new virtual webcam driver.

The original issue in this ticket may have manifested from WebEx, but clearly applies to multiple applications.

dodgepong commented 3 years ago

It's still broken for Microsoft Teams on my end here, likely due to the very same issue that prevented it from working with WebEx.

That "likely" is doing a lot of work, here. We have absolutely no way to know if it's likely the same reason. I would argue that it's likely not the same reason. Also the virtual camera is working fine on Teams for Windows here.

Regardless, feel free to open a separate issue about Teams.

digitalentropy commented 3 years ago

It's still broken for Microsoft Teams on my end here, likely due to the very same issue that prevented it from working with WebEx.

That "likely" is doing a lot of work, here. We have absolutely no way to know if it's likely the same reason. I would argue that it's likely not the same reason. Also the virtual camera is working fine on Teams for Windows here.

Regardless, feel free to open a separate issue about Teams.

I understand your position, and while I agree that there is no way to know with 100% certainty, I base my conjecture on a good deal of experience and with what I feel is a fairly good understanding of the history of how problems regarding OBS's new native implementation of VirtualCam have manifested.

In particular, I feel comfortable about the validity of the following data points:

Finally, the behavior observed in teams is identical to what I was observing in WebEx from a UX standpoint. Webcam shows up at an option, but attempting to enable it or open the device results in no success, and no image whatsoever. Zoom, Discord, WebEx, and Skype are currently working fine. Teams is working fine with a number of hardware webcams and devices. The behavior is specific to the OBS implementation.

Since there were no actual changes on the OBS side that would have "fixed" this for WebEx, I don't think it's unreasonable to assume the issue is related, and in my opinion there is plenty of anecdotal evidence to support this.

WizardCM commented 3 years ago

An important distinction is that OBS' virtual camera does not include a driver, it is a virtual DirectShow device, nothing more. This means that the implementation in OBS has to do all the weird edge case handling for apps.

digitalentropy commented 3 years ago

An important distinction is that OBS' virtual camera does not include a driver, it is a virtual DirectShow device, nothing more. This means that the implementation in OBS has to do all the weird edge case handling for apps.

That definitely highlights a point of ignorance on my end, and I apologize for the poor word choice.

I also don't want to take away from the fact that all of the maintainers and developers that have contributed code to the project have been doing phenomenal work on this project, and it's deeply appreciated.

More than anything else, I was just disheartened by the fact that we still don't seem to know why the DirectShow device that OBS presents causes so many inconsistent behaviors, or why it wasn't working with WebEx and others in the first place.

WizardCM commented 3 years ago

More than anything else, I was just disheartened by the fact that we still don't seem to know why the DirectShow device that OBS presents causes so many inconsistent behaviors, or why it wasn't working with WebEx and others in the first place.

The main reason for this is that DirectShow is not a pleasant API to work with. The original developer of the third party plugin basically went silent, so we can't use their experience with it to help fix issues. When Jim added the feature natively, he stripped down the code for improved performance and latency, but clearly there were bits that helped with compatibility. Jim is also incredibly busy, and as there are workarounds for a number of apps (including using the third party plugin), fixing issues haven't been high on the priority list.

We completely understand the frustration, and we'll definitely look into it when time allows.

digitalentropy commented 3 years ago

More than anything else, I was just disheartened by the fact that we still don't seem to know why the DirectShow device that OBS presents causes so many inconsistent behaviors, or why it wasn't working with WebEx and others in the first place.

The main reason for this is that DirectShow is not a pleasant API to work with. The original developer of the third party plugin basically went silent, so we can't use their experience with it to help fix issues. When Jim added the feature natively, he stripped down the code for improved performance and latency, but clearly there were bits that helped with compatibility. Jim is also incredibly busy, and as there are workarounds for a number of apps (including using the third party plugin), fixing issues haven't been high on the priority list.

We completely understand the frustration, and we'll definitely look into it when time allows.

Totally understandable from a dev perspective, and I certainly don't have a great deal of room to complain about a fairly advanced software suite that is made available completely free to the community at large. I am in the unfortunate position of knowing enough to know software development can be a monumental and time-consuming task, but not knowing enough to be able to help directly.

Accordingly I try to provide as much useful feedback as I can from a user perspective to help drive the UX towards something better.

Since this appears to all be related to a general handling of the DirectShow implementation, does it make sense to open a completely new ticket that focuses on the problem as a whole instead of one specific end-user application?

dodgepong commented 3 years ago

From a maintainer's perspective, I would prefer that people submit reports for different apps, and once it is determined which apps are not working due to the same root causes, we can merge those issues together to make a single issue that encompasses all apps that are not working due to a specific root problem. This may result in 2-3 different "root" issues that different apps boil down to.

digitalentropy commented 3 years ago

From a maintainer's perspective, I would prefer that people submit reports for different apps, and once it is determined which apps are not working due to the same root causes, we can merge those issues together to make a single issue that encompasses all apps that are not working due to a specific root problem. This may result in 2-3 different "root" issues that different apps boil down to.

Understood. I will try to collect more actionable information regarding the Teams problem. For what it's worth, I just re-tested with the same version I've been running for the past week, and it appears to work. I have made no changes to my configuration of OBS or Teams.

Once I identify enough information to try to make it more reproducible (if I can) I will open a new issue.

Big thanks to @dodgepong @WizardCM @jp9000 and everyone else who have tried so hard to make things break less.

dead-lee commented 2 years ago

Dear all, I'd like to report my issue for using OBS and WebEx. Machine: MacBook Pro (16-inch, 2019) OS: macOS Monterey v12.5.1 OBS v28.0.0 mac. WebEx: 42.8.7.8 If I choose OBS Virtual Camera from WebEx, I will only get a green screen there. It works fine, if I start Zoom in the same time, and choose OBS Virtual Camera from Zoom as input.

image
RytoEX commented 2 years ago

Dear all, I'd like to report my issue for using OBS and WebEx. Machine: MacBook Pro (16-inch, 2019) OS: macOS Monterey v12.5.1 OBS v28.0.0 mac. WebEx: 42.8.7.8 If I choose OBS Virtual Camera from WebEx, I will only get a green screen there. It works fine, if I start Zoom in the same time, and choose OBS Virtual Camera from Zoom as input.

image

The Windows Virtual Camera and the macOS Virtual Camera are completely different code paths. Please submit a separate Issue.