johnboiles/obs-mac-virtualcam

Skewed Output

Opened this issue ยท 90 comments

Describe the issue
When I run the OBS Virtual Camera for Mac, I get some weird output.

To Reproduce
Steps to reproduce the behavior:

  1. I downloaded the package with the latest version
  2. I went to OBS and selected "Start Virtual Camera"
  3. I went to Google Meet and switched my camera input to the virtual camera

Behavior
The virtual camera is showing a weird image in Google Meet.

Screenshots

Desktop (please complete the following information):

  • OS version: 10.15.5

Screen Shot 2020-06-03 at 11 29 20 AM

Screen Shot 2020-06-03 at 11 30 18 AM

  • Application (if applicable): Chrome
  • Virtualcam version: 1.2.0
  • OBS version: 25.0.8

Additional context
Add any other context about the problem here.

Uhhmm... That should have been fixed ๐Ÿ˜„
Are you sure you are running 1.2.0?
If so, it should show "1.2.0" at the bottom of the test card. Please report back if it does.
Bildschirmfoto 2020-06-03 um 21 33 11

I don't see the test card either since it is also showing a skewed image. How do I totally uninstall it totally? I tried uninstalling using what was online but I am wondering if I am missing something. Here's a screenshot of what my test card looks like:
Screen Shot 2020-06-03 at 1 06 48 PM

I don't see the test card either since it is also showing a skewed image. How do I totally uninstall it totally? I tried uninstalling using what was online but I am wondering if I am missing something. Here's a screenshot of what my test card looks like:
Screen Shot 2020-06-03 at 1 06 48 PM

Is there another way to check the version?

Insert this command into Terminal.app:
cat /Library/CoreMediaIO/Plug-Ins/DAL/obs-mac-virtualcam.plugin/Contents/Info.plist | grep -a1 CFBundleVersion and post the results. It should say the version number in there

image
Hereโ€™s what I got

Have you rebooted your mac?

Yes I tried that.

Could you attach an OBS log of when the problem occurred? That would help understand the problem

Yeah sure. Here it is:
2020-06-03 13-06-27.txt

Very interesting. I thought we had this solved. I see this in the logs

13:06:27.539: 	base resolution:   1440x900
13:06:27.539: 	output resolution: 860x538

If you change both resolutions to 1280x720 does that fix things?

image

To be clear, any resolution should work. So this is definitely a bug.

Very interesting. I thought we had this solved. I see this in the logs

13:06:27.539: 	base resolution:   1440x900
13:06:27.539: 	output resolution: 860x538

If you change both resolutions to 1280x720 does that fix things?

image

To be clear, any resolution should work. So this is definitely a bug.

I tried changing the resolution as well. Here's what I got:
Screen Shot 2020-06-04 at 2 40 17 PM
2020-06-04 14-38-13.txt

Thanks for your help by the way.

Hmm. I also see

14:38:13.948: NV12 texture support not available

Could you try using a different format (I think this is in the advanced settings page iirc.

It worked! Thanks a lot for your help!
Screen Shot 2020-06-04 at 3 44 26 PM

Very interesting I wonder if this is an obs bug or if I'm doing something wrong with converting pixel formats. @dodgepong have you seen anything like this in other issues on OBS? Seems like @tejasftc had the format set to NV12 even though his computer reported that it wasn't supported. This then seemed to break the pixel format conversion to yuv422 that my plugin does

I've never heard of any issue like this before, no.

The NV12 texture not supported message is for whether full NV12 textures are supported, which is a Windows-specific thing at the moment. It doesn't affect OBS' usage of NV12. OBS will just use shaders to implement NV12 if NV12 textures aren't available, and if there was a bug with that, then you would see it in all outputs because it's the default format.

For format conversion, we usually use FFmpeg. So that shouldn't be in our territory either.

When the base and output resolutions don't match, it uses the GPU to scale, but there isn't any known issue with that either, otherwise it would affect all outputs and not just virtualcam.

Without having a full grasp on all your code I can't really say anything substantive, but I don't think OBS would be giving bad NV12 data, because NV12 is a very high frequency code path (it's the default). It would also produce on Windows in that case. Personally, I'd just check the memory of the data at all parts of the pipeline after you download it from the GPU to figure out where it's coming from. I'd recommend using a test image that would make comparing scanlines of the image more simple when checking for errors.

It looks like a bad linesize/pitch value somewhere.

Do the other formats cause the output use more CPU Power? It really slowed down my computer so I couldnโ€™t really use it.

OBS takes a lot of power in general, I'm afraid a dual core i5 processor (according to your log file) may not be enough to do lot of things simultaneously.
I'd like to put your log into the OBS analyzer and look if it is a problem, but I don't know how to :D

NV12 probably uses the least amount of CPU processing. It uses the least data.

@jp9000 thank you for chiming in! This is the whole of my pixel format conversion code in the plugin:

    obs_get_video_info(&videoInfo);
    struct video_scale_info conversion = {};
    conversion.format = VIDEO_FORMAT_UYVY;
    conversion.width = videoInfo.output_width;
    conversion.height = videoInfo.output_height;
    obs_output_set_video_conversion(output, &conversion);
    if (!obs_output_begin_data_capture(output, 0)) {
        return false;
    }

That should make it so that the output's raw_video method always gets a framebuffer with the pixel format VIDEO_FORMAT_UYVY right? Is it correct to say that this shouldn't depend on the current 'Color Format' setting? I'm trying to understand what about the OBS 'Color Format' setting could mess up the framebuffer I receive since I have this conversion in place.

Are you able to reproduce this @johnboiles?

Unfortunately no, so im flying blind

Hm, I wonder what's going on. At some point I'll test this myself and try to debug. My guess is that the client application itself is using the wrong format or seeing it as the wrong format. I'm just kind of overburdened with my own stuff at the moment (and let's not forget the 115 pull requests on main) so I don't really feel comfortable spending time on this right at the moment.

By the way, is there a reason why you're converting to UYVY rather than just using NV12?

@jp9000 to my knowledge UYVY is used because it worked and others didn't, but that was back when this was just a proof of concept and it just stayed.

@jp9000 yes not urgent at all; this doesn't seem to be a widespread problem. Your time is probably best spent working on main! Feel free to drop off the conversation here and we won't be offended :)

What @gxalpha says is correct, UYVY was the first thing I was able to make work and I just ran with it. I spent a little bit of time investigating further in #102 and I don't think Apple's Core Media APIs support NV12 as a camera format. I also tried to get I444 to work (using kCMVideoCodecType_AppleProRes4444) but that didn't seem to work either. Perhaps RGB could be made to work. Obviously if I can match a pixel format that OBS supports natively with a format that works directly as a Core Media IO DAL plugin format then we can avoid the pixel format conversion which should significantly lower CPU usage I think. This is the list of formats I think I have to pick from on the CoreMedia side. It might also be possible to use something from this list of pixel formats though I'm not exactly sure how.

I am also facing the same problem. It only started maybe 2 weeks - 1 month back.

  1. This is supposed to be the test card
    Screen Shot 2020-06-29 at 2 05 28 PM

  2. and this is when the virtual cam is started.
    Screen Shot 2020-06-29 at 2 05 11 PM

I am using a mac, but not sure how to get to the logs. if someone can let me know how to get to the logs, i would love to provided it here.

I tried changing the resolution and also color format in advanced settings. Both didn't work. The warpping looks a bit different though.

@TayKangSheng There are two logs needed:

  • The mac logs from the mac console: For this, open Console.app, search for obs-mac-virtualcam, reproduce the problem and check for any error outputs or just taker a screenshot and post it here
  • The OBS logs: Restart OBS, reproduce the problem and then go to Help -> Log Files -> Upload current log files. Post the link you get here.

Also please insert cat /Library/CoreMediaIO/Plug-Ins/DAL/obs-mac-virtualcam.plugin/Contents/Info.plist | grep -a1 CFBundleVersion into Terminal.app and post the result here.

I'm having a similar thing, just trying it today. It was working fine initially. I wanted more virtual cams, so I duplicated OBS.app to OBS1.app and turned on both virtual cameras. Now, the video is always like the others. Even after stopping an restarting both OBS and Chrome. Is there a separate process running to implement the virtual camera, or some settings file it relies on that could be corrupted when trying two virtual cams?

cat /Library/CoreMediaIO/Plug-Ins/DAL/obs-mac-virtualcam.plugin/Contents/Info.plist | grep -a1 CFBundleVersion
1.2.0
CFBundleVersion
1.2.0

One of the system.log entries:
Jun 30 14:07:55 Michaels-Mac-Pro com.apple.xpc.launchd[1] (com.apple.xpc.launchd.domain.user.501): Service "com.obsproject.obs-studio.28124" tried to register for endpoint "com.johnboiles.obs-mac-virtualcam.server" already registered by owner: com.apple.xpc.launchd.oneshot.0x10000005.obs

Due to the way the virtual camera works, only one virtual camera can be used.

Could you try uninstalling and then reinstalling the virtual camera? (https://github.com/johnboiles/obs-mac-virtualcam/wiki/Installing)

Due to the way the virtual camera works, only one virtual camera can be used.

Could you try uninstalling and then reinstalling the virtual camera? (https://github.com/johnboiles/obs-mac-virtualcam/wiki/Installing)

I didn't know how to uninstall so I just reinstalled, with no effect.

Just reinstalling often times does nothing with the DAL-Plugin. The uninstalling tutorial is here: https://github.com/johnboiles/obs-mac-virtualcam/wiki/Installing#uninstalling

OK I uninstalled (thanks for the help!) and reinstalled, the title card is skewed as the others:
Screen Shot 2020-06-30 at 2 37 24 PM

One of the system.log entries:
Jun 30 14:07:55 Michaels-Mac-Pro com.apple.xpc.launchd[1] (com.apple.xpc.launchd.domain.user.501): Service "com.obsproject.obs-studio.28124" tried to register for endpoint "com.johnboiles.obs-mac-virtualcam.server" already registered by owner: com.apple.xpc.launchd.oneshot.0x10000005.obs

When I turn on the virtual camera I get:
Screen Shot 2020-06-30 at 2 39 59 PM

I didn't do anything.. but its fixed now ๐Ÿค” ๐Ÿคท

@johnboiles I haven't looked at your code but make sure to check for race conditions. "I didn't do anything but it magically fixed itself" and "I can't seem to reproduce" is a big sign of race conditions. I initially had a race condition in my Windows implementation with the memory two processes would share and it caused some incorrect output. Not saying that is the problem, but just throwing it out there as an item for your checklist.

The output these people are reporting makes me think the sender/receiver processes have desynchronized dimension values. Not entirely sure if that's the case but it's another thing for the checklist.

For the people experiencing this problem: see how changing OBS' resolution affects the skew, and report back. Larger resolutions versus smaller resolutions. You'd want to change the "Output/Scaled Resolution" in OBS' video settings to test that.

@TayKangSheng @mgw-sbic what version of macOS are y'all on? Can y'all attach the log from OBS (from the OBS help menu) as well?

@jp9000 thanks for thinking about this. Certainly does seem like the resolutions are somehow desynchronized, especially because the colors seem to be intact (which rules out pixel format differences I think). It's weird though because I send the resolution along with every frame, so I'm not sure how it could have gotten out of sync.

Hi All,
I just downloaded this plugin and it worked momentarily and now it doesn't. It is producing the same errors but it only happened after I closed down my google meet stream and attempted to reopen it. It worked fine with video format initially now nothing.

  1. I changed the base resolution from 1920x1080 to 1080x1080
  2. Enabled the virtual camera
  3. Virtual cam showed up cropped in Hangouts
  4. I quit Chrome
  5. I started Chrome
  6. Virtual cam showed up skewed in Hangouts

I opened Snap Camera and set its input to the OBS virtual camera...
This seems like it may be a clue: The snap camera preview accurately shows the demo card.

Screen Shot 2020-07-09 at 12 36 35 PM

Based on that, I restored the resolution to 1920x1080 and restarted.
Hangouts in Chrome now accurately shows OBS.

@gxalpha Now I have this problem with one macbook and don't have this problem with my other macbook. I hope the details below help..

These are the logs from starting OBS + starting virtualcam.
console-obs.txt

These are the logs when i am at google meet before starting virtualcam and after starting virtual cam.
console-chrome.txt

This is what it looks like before virtualcam is started
Screen Shot 2020-07-16 at 5 55 04 PM

This is what it looks like after virtualcam is started
Screen Shot 2020-07-16 at 5 55 10 PM

This is the output from cat /Library/CoreMediaIO/Plug-Ins/DAL/obs-mac-virtualcam.plugin/Contents/Info.plist | grep -a1 CFBundleVersion

	<string>1.2.0</string>
	<key>CFBundleVersion</key>
	<string>1.2.0</string>

This is the Video settings screen
Screen Shot 2020-07-16 at 5 57 12 PM

This is the Advanced settings screen
Screen Shot 2020-07-16 at 5 57 06 PM

This is my macOS version
Screen Shot 2020-07-16 at 5 58 27 PM

Update

Literally 25 minutes later after I put my mac to sleep.. and now its working..

  1. I had OBS, camera live and chrome (google meet waiting screen) open,
  2. Put my mac to sleep (close the lid)
  3. Open my mac again
  4. open chrome again.. now its working.

I had the same issue with the OBS virtual camera displaying in Google Meet (Chrome browser). I tried multiple resolution settings within OBS to change the behavior and a full uninstall and reinstall of both OBS and the virtual camera and rebooting the Mac. None of those steps resolved things. In the end I followed @wesalvaro lead and installed Snap Camera to experiment with a different application and it did not exhibit the issue at all. I then went back to test again in Google Meet and the skew problem was gone. I'll be on the look out for this resurfacing and better prepared to identify any triggers. HTH.

I had the same issue with the OBS virtual camera displaying in Google Meet (Chrome browser). I tried multiple resolution settings within OBS to change the behavior and a full uninstall and reinstall of both OBS and the virtual camera and rebooting the Mac. None of those steps resolved things. In the end I followed @wesalvaro lead and installed Snap Camera to experiment with a different application and it did not exhibit the issue at all. I then went back to test again in Google Meet and the skew problem was gone. I'll be on the look out for this resurfacing and better prepared to identify any triggers. HTH.

Same exact situation on my side. Changing OBS resolution, restarting Chrome, restarting MacOS... none of these fixed the problem. Installing Snap Camera fixed the issue even when it isn't running.

Hello everyone, I had the same problem.
Here are the steps that I followed to correct it:

  1. Close chrome
  2. open OBS.
  3. Verify that Virtual camera is off.
  4. Go to Preferences in OBS> Video.
  5. Base (canvas) and Output (sacled) resolution have to be the same.
  6. Apply.
  7. Close all, restart OSX

It worked for me.

I can confirm that @mdmarein's steps fixed the same issue for me as well. I'm pulling a video stream from a Sony a6300 through the Sony Remote app and streaming that window. 640x480 and 1280x720 both work for me.

@gxalpha, maybe the team automatically match base and output resolutions when virtual camera is triggered?

Confirmed that @mdmarein's steps fixed my issue as well...

I'm also affected by this issue - things I've noticed so far:

  • @mdmarein steps don't work for me
  • skewed output is present all the time: if OBS | virtual webcam is running or not
  • initially it's been working exactly once

Hi!

in my setup i unchecked the deactivation of macOS v-sync and everything works now :-))

Klaus

Changing the resolution to be a proper ratio to the input canvas really helped and fixed my issue (this was OBS mac virtual cam for streamlabs). I would check there. It might have changed the resolution of the output when I ran the optimization on it. This was for all applications - not just chrome, but any other output program using the virtual cam.

Thanks for the help guys!

Very interesting I wonder if this is an obs bug or if I'm doing something wrong with converting pixel formats. @dodgepong have you seen anything like this in other issues on OBS? Seems like @tejasftc had the format set to NV12 even though his computer reported that it wasn't supported. This then seemed to break the pixel format conversion to yuv422 that my plugin does

I just now had to move to a different format to make it working. I chose RGB. MacOS 10.15.7 here with 1.2.0 release.

Maybe a stupid question, but has this issue happened anywhere but Google Meet? Because I tried all kinds of weird resolutions and also different aspect ratios between base and output resolution, etc. and a simple WebRTC page in Chrome and can't get the issue to appear.

Would be interesting if someone who can reproduce the issue check if it also affects this test page at the same time: https://webrtc.github.io/samples/src/content/getusermedia/gum/

Seems like yes #192
Edit: also I'm sure I've had somebody have this in Quicktime as well, can't find it at the moment though, would need to search all duplicate-labeled issues

@gxalpha That looks like Google Meet again, or did I overlook something?

Anyway one thing I was just able to find was that Chrome doesn't seem to "notice" that I changed the output resolution:

  • Set Output to 1080p
  • Set Canvas to any weird resolution
  • Join Google Meet
  • Observe cropped output
  • Stop VirtualCam output
  • Change canvas resolution to 1280x720
  • Start VirtualCam output
  • Join Google Meet
  • Observe output is still cropped

Checking the output with Quicktime player at the same time showed the proper 720p image. So I don't know why Chrome doesn't pick up the new resolution even though the DAL plugin obviously did.

He said Google Meet and other platforms like that webcamtest.

Interesting find though! As far as I remember some apps need restarts after a resolution is changed (Skype if I remember correctly, that was the reason the test card got it's variable resolution), can't remember Chrome was one of them ๐Ÿค”

Restarting Chrome makes it pick up the new resolution. Interestingly the issue appears even when OBS is not in the mix (as demonstrated by the test card being skewed as well).

Now the test card either picks up the 720p defaults or the last frame setup received from the Mach Server (OBS) as stored in the NSUserDefaults which would also explain why the issue persists across restarts and "overwriting" the plugin.

So whatever the DAL plugin received "broke" the output. The values are stored in the Plist for the app where the DAL plugin was used, so e.g. for Chromium the values are stored in ~/Library/Preferences/org.chromium.Chromium.helper.plugin.plist (there should be a similar file for "normal" Chrome). Would be interesting to see what those values are for people that do have the skewed output.

@pixelass could you please check the values in a file called something similar to ~/Library/Preferences/com.google.Chrome.helper.plugin.plist and post them in a comment?

@PatTheMav I got it fixed by following the comments/suggestions of #224
Would the content of that file still help you?

@pixelass Which suggestions fixed it for you?

@PatTheMav sorry, I linked the wrong issue: It was THIS issue, specifically this comment: #160 (comment)

-- EDIT --
The output dimensions were already correct in my case (no changes applied).
I'm unsure why it worked since I tried restarting several times.

Thanks, yeah the weird thing is that I can't replicate the issue with all kinds of aspect ratios, resolutions and even different combinations of aspect ratios and resolutions between output and canvas resolutions. Without a Chrome restart the browser will always pick up the "last known" resolution, but the resulting image is then just cut appropriately while "native" apps pick up the new resolutions just fine.

@tejasftc @TayKangSheng @mgw-sbic @saipanman95 @wesalvaro @stevewww @truncj @mdmarein @dmckinno @wengzilla @MarkusTiede @KlausHB @GuitarKat @kushaldas @pixelass

Sorry for the wide ping but I need y'all's help to see if I've fixed this issue. I've never been able to reproduce it myself so I have no way of knowing if I've fixed it without your help. Here's what you can do to help:

  1. Try to reproduce the issue with the version of the plugin you have installed (<=1.2.0). Try to do the opposite of whatever you did to resolve the solution (e.g. change resolutions to something weird, disable v-sync, etc). If you're able to reproduce the original skewed output issue, continue to the following steps.
  2. Install the latest v1.2.1 release. It has a change that hopefully fixes this bug.
  3. Open up your host app of choice (e.g. Google Meet/Chrome, QuickTime, etc) and select OBS Virtual Camera as the source. Look at the blue test card to make sure it renders correctly. While you're there, double check that it says '1.2.1' at the bottom.
  4. Open up OBS and start the virtual camera (Tools -> Start Virtual Camera), and make sure whatever is in your OBS renders correctly in your host app.

Let me know if you are able to repro and if my fix solved it! @PatTheMav is doing some great work to get this all merged into the core OBS app, and it'd be great to have this hammered out before it's bundled by default with OBS. Thanks!

I'm on v1.2.1 and had this issue - reboot didn't help, and changing the Video->Base Resolution & Output Resolution to be the same didn't help. After reviewing comments and settings in this thread, the thing that fixed it was changing the setting: Advanced -> Video : Color Format from NV12 to something else (RGB) fixed it. Then I changed it back to NV12 and it was fine.

@mikehatch thanks for the data point! Did you see the issue both in the test card and the video from OBS, or just one of those?

@mikehatch thanks for the data point! Did you see the issue both in the test card and the video from OBS, or just one of those?

Yes, both the output and the test card were showing the skewed output as shown in this thread.

So futzing around with the colour space might be another factor in triggering it? Will give it a whirl this weekend..

Yeah potentially anything that could change or recreate the pixel buffers on OBS or in the DAL plugin seems like a likely candidate.

What I still try to wrap my head around is how even the test card will appear skewed, as reported by some people. The test card is created/rendered entirely within the DAL plugin with no input from OBS (where a different colour space would be set-up) and iirc only resolution and frame rate are stored in UserDefaults. Of course if the DAL plugin instance stays "alive" with bad settings, it won't recover, but I'm under the assumption that e.g. Chrome's plugin host runs its own instance of the DAL plugin and when Chrome is closed that one should be torn down as well. ๐Ÿค”

Yeah it's very mysterious. It's a good point about the test card -- that's probably the place to start. It will be a more self contained problem to understand why the test card is skewed. And once we understand that maybe we can reason about why changing settings in OBS sometimes fixes it.

I'd start with looking at the creation of the CVPixelBuffer. But without having a developer that can reproduce, all we can do is read and check the code. Hopefully your eyes will see something mine haven't.

I'm having the same issue with OBS 1.2.1 on rockoutloud.live
https://imgur.com/a/I8JiFrV
Screen Shot 2020-11-10 at 2 03 06 PM

I am having the same issues for some time now - anything I could provide to help you better understand the issue?

There's not much to understand right now. Nobody really seems to know why this happens. Your best bet would be to follow the suggestions and if you notice a step that solved it for you, then mention it here so contributors can check for reproducibility.

Not sure why but updating to Chrome 87.0.4280.66 (Official Build) (x86_64) fixed it for me in Google Meet. it's been working great in Zoom so must have been a Chrome issue. Not sure if anything in the update log helps with the detective work? https://chromereleases.googleblog.com/

@worst-Ness
following settings worked for me with Jitsi and Chrome facing the same issue before

grafik

grafik

I also have this issue. Switching to Colour Format RGB does resolve the tearing but the frame rate drop makes it unusable. With NV12 color format the frame rate is fine (though of course there's the tearing..)

I am reproing in Firefox/Chrome. I'm just googling webcam tests and picking from the top sites. Don't have Zoom or other meeting applications installed so haven't tested there.

Plugin Version 1.2.1, used Package installer
OBS 26.0.2 (mac)

Firefox - 83.0 (64-bit)
Chrome - 87.0.4280.67 (Official Build) (x86_64)

Specs (Yes I know):
MacBook Air 11" Mid-2013
macOS 11.0.1 Beta
1.3 GHz Dual-Core Intel Core i5
8 GB memory
Intel HD Graphics 5000 1636 MB

Please let me know if I can provide any additional information. I don't really need this for anything, it's just for fun, but happy to help if I can!

I'm having the same problem. Tried every suggestion in the thread but nothing works. I still get the skewed image.

The data card is also skewed.

I installed this release obs-mac-virtualcam-4bd5852-v1.2.1.pkg
and that fixed the problem!!!! Thanks a lot John!!!!

This bug is not fixed for me unfortunately. Exactly the same issue
OS Version 11.0.1
Plugin 1.3.1 (I tried with 1.2.1 as well)
OBS - 26.02
The skewed video is there even when I have the virtual camera turned off and I have of course restarted etc
EDIT: MacBook Pro (16-inch, 2019)

Screenshot 2020-11-27 at 12 20 46 pm

@medwingADMIN what are your resolution + color space + color format settings (see @capital-G's post above)

I wonder if this could be the same underlying cause as #228 and #233 (attempted fix in #241). It seems that something goes wrong with sending and/or saving the FPS value from the OBS plugin to the DAL plugin. Totally possible the same thing could be happening for the width / height, which could potentially cause this issue.

The "current" values for the plugin should be stored in the plist of the host application. So if this happens in Chrome, it should be set in ~/Library/Preferences/com.google.Chrome.helper.plugin.plist or similar.

If this is a similar issue as #228 and #233, I added some logs in d11f17eba that might help diagnose this. Go download the pkg-installer and try it out while looking at the Console.app logs? https://github.com/johnboiles/obs-mac-virtualcam/runs/1465076120

You're looking for the logs that start with:

Saving frame info
Setting default resolution
Loaded resolution from NSUserDefaults
Setting default framerate
Loaded framerate from NSUserDefaults

@PatTheMav that's super helpful! Anyone who is experiencing this issue could you post your plist files (like the one @PatTheMav mentions). These should contain the saved defaults from the plugins.

Posting my case too:

Describe the bug
Installed the plugin, the plugin worked fine on Google Chrome, Google Meet : I was able to seen my OBS diffusion on Google Meet.

But after a restart of Chrome, the stream is full blurred, skewed.

To Reproduce
Trying to reproduce the bug, reinstalling the plugin, restart my computer, full reinstall OBS, the plugin, but nothing works again.

Expected behavior
Just see my diffusion in Google Meet.

Screenshots

Capture dโ€™eฬcran 2020-11-23 aฬ€ 17 21 17

Desktop (please complete the following information):

  • OS version: [macOS Big Sur 11.0.1]
  • Application: [Chrome, Google Meet]
  • Virtualcam version: [1.2.1]
  • OBS version: [26.0.2]

Having the same issue with:
Color Format: NV12
Color Space: 709
Color Range: Partial
x Disable macOS V-Sync
x Reset macOS V-Sync on Exit

Base Resolution: 1792 x 1120
Output Resolution: 1192 x 746
Downscale Filter: Bicubic
Common FPS Value: 25 PAL

OS: 10.15.7
OBS: 26.0.2
Virtual Cam: 1.3.1
Google Chrome: 87.0.4280.88

Solved it by: (Don't forget to restart Google Chrome after changing the settings in OBS!)
Base Resolution: 1792 x 1120
Output Resolution: 1792 x 1120
(other resolutions are working too, but must be the same for both settings)

Scaled output resolution seems not to be working.