Obs-mac-virtualcam: Choppy output to Skype when sending a non-30fps framerate

Created on 1 May 2020  路  23Comments  路  Source: johnboiles/obs-mac-virtualcam

OBS output to Skype (version 8.59.0.77 - most recent as of time of writing) works, but is choppy for me. The output freezes about every second for roughly 250ms.

Tested with QuickTime and it works well there.

I built OBS (from master, 2d14ee3e60497646edb3305084e9ae5e921d0a38) and the plugin (from master, 1c5693ad1bacf3747791a94418ce5f93ba349fc2) myself according to the readme.

I'm running macOS Catalina 10.15.4 (most recent as of time of writing).

What i already tried:

  • Reboot
  • Clean reinstall of skype (including removing a bunch of stuff from ~/Library)
  • Updating all OBS dependencies with brew and rebuilding

I made sure to quit Skype, open OBS, start the virtual camera, start Skype.
The problem does not occur when i use my Macbooks webcam directly with Skype.

bug performance

All 23 comments

To me it seems like this is an issue with your Skype then, not with the plugin.
Could you please add further information?

Sure, what do you need to know?

The problem does not occur when i use my Macbooks webcam directly with Skype.

I updated the original post with some additional information.

If there's anything else I can provide, let me know.

Related discussion in #55

Hmm, I'm not sure if #55 is related to this.

I have a 2018 MBP with an i9, so there shouldn't be a CPU bottleneck.
Output to console after I stop the virtualcam also doesn't show any lag frames, example:

info: Output 'virtualcam_output': Total frames output: 2556
info: Output 'virtualcam_output': Total drawn frames: 2558

OBS itself also runs fine and isn't choppy or anything, as well as output to QuickTime. I just now tested again with Chrome and that generally works fine as well (not choppy at all). A normal OBS recording to file also works quite normally.

What colorspace are you using in OBS? 601 or 709?
image

I saw the that comment in the other thread too. I tried with both, no changes.

Ok cool, good to know. Then yeah I agree this is probably a separate issue from #55

Huh. I played a bit with different OBS settings. I had FPS in Video Settings set to 60.

I decreased it to 30 and now Skype works fine! Skype probably just can't handle 60 fps input?

Thank you for the input though. Please feel free to close this issue if you want to.

Ooh great find! Yeah i think the DAL plugin advertises itself as 30 FPS, so if we told Skype to expect 30 FPS and then we send 60 FPS it's maybe not surprising Skype would be confused! Interesting!

I wonder what the right thing to do is here. Is there an easy way in OBS to convert between framerates like there is between pixel formats? Or maybe we just fix the advertising in the DAL plugin to properly expose whatever OBS is set to.

To me, fix the advertising in the DAL seems the obviously correct thing to do.

I always set OBS to 25FPS because that's what my cameras are set to, because I live in a PAL country.

Probably the next thing to try here would be to pass along the FPS with each frame, and the DAL plugin can adjust what it's advertising. I'm not sure if changing FPS mid stream is going to make Skype unhappy but it's worth a shot.

I implemented this in #148.

@marconett could you download this version and give it a try with 60fps and see if it improves things for you?

Hi John, nice to see that there's a package now and that it's supposed to run with the release version of obs.

But unfortunately, there seems to be a problem with the build. After installing the package, the "Start/Stop Virtual Camera" Menu entry shows up and I can toggle it on and off in obs, but there's no virtual camera in either Skype or Quick Time showing up.

It's a bit weird, as I got it to work in Skype once (after uninstalling the plugin and then reinstalling), but couldn't reproduce this after multiple attempts to reinstall the plugin.

The one time it was working in Skype, it seems to work fine. Checking the FPS settings, it seems to have lowered itself from 60 to 48 fps?

I also got the camera to show up in Quick Time once (but at the same time, not in Skype), although it only showed the test card, even though the camera was enabled.

I'm using OBS Studio 25.0.8.

Sorry for the diffuse error description, but I couldn't really find reproducible behavior.

Should I maybe try building the plugins myself again?

Try deleting the DAL plugin manually and then installing the package. I had the version set wrong initially which makes it so that the pkg doesn't overwrite early builds (that had a higher version number). Also try a restart. Not sure why this is but sometimes this seems to help.

Yes, that's what i meant by "reinstalling". I already tried that by deleting the DAL and OBS plugins as described in the readme.

I'll try rebooting a bit later.

The latest release shows the version number on the bottom of the test card. @marconett could you install that and see if your issue is fixed. If it is not could you verify that the test card shows 1.2.0 on the bottom of the test card?
image

I installed the release version and rebooted.

With the release version, I now always see the the virtual camera in Quick Time and "Starting/Stopping Virtual Camera" in OBS now works as expected. The test card now shows 1.2.0.
I tested Chrome and Firefox as well and it works fine there too. I just can't get the camera to show up in Skype anymore, even after a clean Skype reinstall.

I went ahead and tried a version of the plugin I built myself a month ago (the same version that worked with Skype before, albeit choppy) and couldn't get that to show up in Skype anymore either.. pretty frustrating, but it has to be a Skype or macOS issue.

So as of now, I can not help you with confirming if the problem is fixed or not.

@marconett Skype seems to have blocked DAL plugins now as well, could you check this conversation and report back?

I used sudo codesign --remove-signature /Applications/Skype.app/Contents/Frameworks/Skype\ Helper\ \\(Renderer\\).app and now the camera shows up. It's also not choppy anymore with OBS set to 60 fps!

Nice!

Yay! Glad to hear it!! Thanks for following up

Was this page helpful?
0 / 5 - 0 ratings

Related issues

lisaross picture lisaross  路  9Comments

harrisrobin picture harrisrobin  路  9Comments

wookayin picture wookayin  路  3Comments

TheLocehiliosan picture TheLocehiliosan  路  9Comments

mkarliner picture mkarliner  路  11Comments