Virtual background for Google Meet on MacOS using OBS

Share this:

If you haven’t notice yet, this is my third post on my WFH (work from home) hacks, specifically on the best web conferencing setup I can get. If you have been trying to get a good setup for enabling virtual background for Google Meet, read on.

A quick background: Google Meet is the corporate standard at my workplace and we have recently been advised not to use Snap Camera for all those fancy virtual background effects. I’ve previously used CamTwist to power my iPhone webcam setup but it has a rather poor Chroma Key plugin. After some Google-fu, I came across a working virtual camera plugin for OBS that works on MacOS!

Therefore, I now think I have the best setup for MacOS users to present yourself over a virtual background on Google Meet. To make this work, you do need to buy a green screen to make this work as it is not an fully software option.

This will be a pretty long article with lots of photos and screenshots. However, the result is really good.

Virtual backgrounds using OBS for Google Meet video conferencing
Using a virtual background on Google Meet using OBS

1. Get a green screen for your virtual background on Google Meet

If you don’t already know, chroma key compositing the technique of removing backgrounds of a subject in the video. Chroma (colour hue) because the technique involves keying in on a range of colours that it would composite over with another image or video.

This is the reason why you will need to a green screen setup. Technically, you don’t really need it to be green, though that is usually the best colour unless you like to dress in green. 🤨 But a clear white or solid colour wall may work too, depending on your attire.

There are two main parts to the green screen setup. The stand and the green screen material. which is usually some type of fabric. I personally went with an entry level, low cost setup as this really is just for web conferences. I didn’t really see a point spending too much on this whole setup.

The green screen stand

I bought a cheap cross bar stand to hold up the green screen backdrop. This version stands on a single pole and will wobble a little. However, it is still steady enough when used indoors.

Back view of green screen stand
Back view of green screen stand

Even a entry level setup like the one I have will suffice

The green screen backdrop

As for the green screen backdrop, I went with a cheap non-woven fabric version. It’s very light and will flap around if you have airflow in the room from a ceiling fan.

Using a green non-woven fabric as the green screen
Using a green non-woven fabric as the green screen

Creases appears on the green screen backdrop when I hang it off the cross bar stand. This is because the fabric was folded when delivered.

Creases on the green screen
Creases on the green screen

I tried using an iron to remove the creases but as you can see, it’s not easy to get it flat. Remember to use very low temperatures (settings for silk at most!) as non-woven materials would melt under high temperature settings meant for fabrics made of cotton.

There are better and more complete green screen setups you can find on Amazon. Just go for one that fits best in your room or home. The point I wanted to make here on my article is even a entry level setup like the one I have will suffice.

2. Install OBS (Open Broadcaster Software) and its virtual camera plugin

Head over to https://obsproject.com/ and download OBS Studio for MacOS. Installing it is as simple as opening the dmg file and dragging the app into the Applications folder.

Installing OBS
Installing OBS

Next, you will need the OBS virtual camera plugin for MacOS. You can find the latest release on via this link.

Updated: The latest version of OBS already has the virtual camera plugin built in!

Once you have installed it, its time to start up OBS. You will see the following default view on your desktop.

OBS default main screen
OBS default main screen

3. Recommended OBS settings for video conferencing use

You would usually use OBS to broadcast live streams to popular video sharing platforms like YouTube or Twitch. You could also use it to create recordings like the ones you see on TV studios.

However, if you are looking to use this just for video conferencing, I would recommend tuning down the output quality to reduce the processing load on your Mac. This is especially important because Google Meet utilises a whole lot of CPU processing power. So you will want to save up as much video processing load on OBS as it composites the virtual background for use on Google Meet.

Using the Apple hardware encoder

By default, OBS uses a software x264 encoder. But hidden in the advanced settings is the option to use the Apple VT H264 hardware encoder. To enable it, go to the OBS Output settings and switch to the advanced settings.

Switching to the OBS output advanced settings
Switching to the OBS output advanced settings

There, select the Apple VT H264 Hardware Encoder as the Encoder’s option. This will take off the load of processing the video output from the CPU.

Using the Apple VT H264 Hardware Encoder on OBS
Using the Apple VT H264 Hardware Encoder on OBS

Disable audio on OBS (optional)

I use a Jabra Speak 510 as my mic input. This feeds directly as an input to Google Meet. Therefore, we will not be using OBS to process the audio. To disable it, go to OBS settings and disable all the audio devices in the audio settings.

Disabling audio on OBS
Disabling audio on OBS

Update: I’ve recently considered using OBS to also process the audio to solve the audio/video sync issue. I’ve posted another article how you can get the OBS audio output on Zoom or Google Meet.

Lower the video resolution and fps

Next, you will also want to reduce the video resolutions and the frame rates (fps). I recommend keeping the base resolution to the lowest settings of 1280×720 and making sure the output is also the same to remove any need of it to reprocess the video. Then set the FPS value from 60 to 30.

Editing the OBS video output settings to 720p and 30fps
Editing the OBS video output settings to 720p and 30fps

Once you applied the settings, the main window should reflect the changes to the audio devices and the video FPS. You can right click on the Audio Mixer panel and remove it from the main window if you want.

Reset view of the OBS main window without audio and video at 30fps
New view of the OBS main window without audio and video at 30fps

Now, its time to setup your OBS scene to create a virtual background for use on Google Meet.

4. Creating the OBS virtual background scene for Google Meet.

Add the webcam on OBS

The first thing to do is to add your webcam as video input source on OBS. On the Sources panel, click on the + button and add a new Video Capture Device. Create a new source and give it a name.

Adding a video device layer on OBS
Adding a video device layer on OBS
Adding a new video device on OBS
Adding a new video source on OBS

The screen shots below shows how I added my iPhone as the video source. You can also use webcams like the Logitech C920s or the built-in FaceTime HD Camera if that is what you are using as your webcam.

Selecting my iPhone as the video source on OBS
Selecting my iPhone as the video source on OBS
The iPhone video presets on OBS
The iPhone video presets on OBS

You will also be able to set the resolutions of the video sources. I recommend selecting the same resolution as the base canvas resolution to reduce any additional video processing.

I’ve had a few readers asked me how I got a nice clean feed from the iPhone. I wrote about this my a previous article using Camtwist instead of OBS. But I realised now didn’t mention it at all here. You can actually find a few apps on the App Store that provides a clean camera feed. These apps will provide a clean camera feed on your iPhone without any distractions and will also keep the iPhone it from auto-locking. The specific app I’m using is called Clean Camera Feed.

Update: I used to use an app called Clean Camera Feed. But I’ve just come across this app called Overviewer that also provides a clean camera feed. While its been designed specifically to function as an overhead projector, it functions just like any other clean camera feed apps. Best of all is the developer has made it a free download to everyone! I will be testing and using Overviewer moving forward and see how it works better than Clean Camera Feed.

Overviewed app
Overviewer app

There are also other options like Shoot – Clean Camera Feed and Clean Camera for Stream Feed, but do note that like Clear Camera Feed, these are also paid apps. So if you want to go zero cost, try out Overviewer first. 😄

Setting up the green screen for use with OBS
Setting up the green screen for use with OBS

The video should show up now on OBS. MacOS would also prompt you to grant OBS access to the cameras if its not already done. At this point in time, you can also adjust your green screen backdrop and your camera’s position so that it covers the whole background of the video feed.

Adding the virtual background image

On the Source panel, click + again and now choose to add an image.

Add an image layer to the scene on OBS
Add an image layer to the scene on OBS
Add a new image on OBS
Add a new image on OBS

Then, select the image you intend to use and add it to the scene.

Adding an image file on OBS
Adding an image file on OBS

Resize the virtual background to the canvas size

When you add the image, you will likely notice that the image is larger that the video’s resolution. What you now need to do is to resize the image to fit the screen.

I’ve also found it useful to resize the preview to show the actual canvas size rather than to scale along with the OBS window. This allows me to move things around off the canvas when you need to.

Scale the OBS preview to the canvas size
Scale the OBS preview to the canvas size
OBS preview resized to canvas size
OBS preview resized to canvas size

To resize it, right click on the image layer on the Sources panel and select the Transform -> Fit to Screen option.

Transform the image layer to fit to screen on OBS
Transform the image layer to fit to screen on OBS
Fitting the image to the canvas size on OBS
Fitting the image to the canvas size on OBS

5. Adding the Chroma Key effect to the webcam video

First, we will need to re-arrange the Sources layers so that the webcam video source is on top. To do that, click on the up/down arrow buttons or simply drag and drop the sources around.

Dragging the layers to rearrange them on OBS
Dragging the layers to rearrange them on OBS

Adding the chroma key effect filter

When your webcam video source is back on top, right click on it at the Sources panel and click on Filters.

Edit filters of the video source on OBS
Edit filters of the video source on OBS

I found the default settings to work well enough even when there are some creases on the green screen backdrop

This will bring you to the Filters panel where you can add the Chroma Key effect filter.

Adding a Chroma Key effect for the video source
Adding a Chroma Key effect for the video source
Chroma key filter in action
Chroma key filter in action

The best settings depends on the overall lighting and how uniform the shade of green on the green screen backdrop is. I found the default settings to work well enough even when there are some creases on the green screen backdrop as you’ve seen in my photo above.

I just have to adjust a little on the Key Color Spill Reduction to minimise a little bit of green bordering myself in the video.

Chroma key filter in action on OBS
Chroma key filter in action on OBS

Voila! Once you’ve adjusted and applied the filter, you will see yourself in front of the virtual background on the preview window.

6. Impress your viewers with your virtual background on Google Meet 🙂

All you need to do now is start the OBS Virtual Camera and you will be able to use it with Google Meet.

Starting the OBS Virtual Camera plugin
Starting the OBS Virtual Camera plugin
Using the OBS Virtual Camera on Google Meet
Using the OBS Virtual Camera on Google Meet
Using a virtual background on Google Meet using OBS
Using a virtual background on Google Meet using OBS

If you need to flip your video feed, you can use the Transform -> Flip Horizontal option. Note that while Google Meet previews your video flipped to you, your viewers actually see the same video that is being streamed by OBS.

Flipping the image horizontally on OBS so it shows up correctly on Google Meet
You can flip the video horizontally on OBS if you need to do so.

Final notes

This setup has been fairly stable thus far. However, it does use up quite a fair bit of CPU processing power.

CPU utilization of OBS and Google Meet
CPU utilisation of OBS and Google Meet

On my own 2017 MacBook Pro that has a 2.9 GHz Quad-Core Intel Core i7 CPU, OBS takes up about 23% of CPU utilisation. You can see that almost half of my MacBook’s CPU processing goes to getting me a virtual background on Google Meet. 😀 And on my work’s 13″ MacBook pro with a dual-core Intel Core i5 CPU, this setup takes up about 60% CPU utilisation on average.

So, I would recommend not doing too many things in parallel when running this setup as OBS may crash mid-way if it does not get sufficient juice to process the video composite in real time.

Hope this has been helpful to you! If it has been, please support the running of this blog by buying me a coffee. Thanks!

Share this:

You may also like...

2 Responses

  1. Michael says:

    Hi Ken; I’m intrigued with how you’re using OBS here, but I don’t seem to be able to get google meet to “see” my OBS virtual camera. I have followed every instruction you laid out here, but when I go to google meet, and it asks to see my camera, the only option it gives me is my facetime HD camera. Even though I’ve started the OBS virtual camera in OBS, and then booted up Firefox, google meet still won’t see the virtual camera option. This post of yours isn’t that old… could google have already disallowed using a virtual camera? Is it still working for you? I’m on a macbook pro running Mojave.

  2. Ken Ng says:

    Hi Michael, that is actually surprising considering Chrome is actually the easier one to manage with virtual cameras. Have you restarted your MacBook Pro after installing the virtual camera? You can also confirm if the OBS Virtual Camera file “obs-mac-virtualcam.plugin” has been installed correctly at the “/Library/CoreMediaIO/Plug-Ins/DAL” location.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.