Open tejasthy opened 4 years ago
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 https://github.com/johnboiles/obs-mac-virtualcam/issues/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:
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 :thinking:
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: https://github.com/johnboiles/obs-mac-virtualcam/issues/160#issuecomment-671118838
-- 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:
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!
Hi John,
I am very busy this week. I check this out next week, if it helps You. If others did the job, please let me know ;-)
CU
Klaus
Am 21.10.2020 um 21:00 schrieb John Boiles notifications@github.com:
@tejasftc https://github.com/tejasftc @TayKangSheng https://github.com/TayKangSheng @mgw-sbic https://github.com/mgw-sbic @saipanman95 https://github.com/saipanman95 @wesalvaro https://github.com/wesalvaro @stevewww https://github.com/stevewww @truncj https://github.com/truncj @mdmarein https://github.com/mdmarein @dmckinno https://github.com/dmckinno @wengzilla https://github.com/wengzilla @MarkusTiede https://github.com/MarkusTiede @KlausHB https://github.com/KlausHB @GuitarKat https://github.com/GuitarKat @kushaldas https://github.com/kushaldas @pixelass https://github.com/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:
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. Install the latest v1.2.1 release https://github.com/johnboiles/obs-mac-virtualcam/releases/tag/v1.2.1. It has a change that hopefully fixes this bug. 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. 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 https://github.com/PatTheMav is doing some great work https://github.com/obsproject/obs-studio/pull/3492 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!
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/johnboiles/obs-mac-virtualcam/issues/160#issuecomment-713806186, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACR62MM6HNGY772FDKPBD4TSL4VVJANCNFSM4NR52XYA.
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
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
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)
@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
Desktop (please complete the following information):
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.
Describe the issue When I run the OBS Virtual Camera for Mac, I get some weird output.
To Reproduce Steps to reproduce the behavior:
Behavior The virtual camera is showing a weird image in Google Meet.
Screenshots
Desktop (please complete the following information):
OS version: 10.15.5
Application (if applicable): Chrome
Virtualcam version: 1.2.0
OBS version: 25.0.8
Additional context Add any other context about the problem here.