Virtual background for Google Meet on MacOS using OBS
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.
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.
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.
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.
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.
Once you have installed it, its time to start up OBS. You will see the following default view on your desktop.
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.
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.
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.
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.
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.
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.
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.
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.
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. 😄
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.
Then, select the image you intend to use and add it to the scene.
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.
To resize it, right click on the image layer on the Sources panel and select the Transform -> Fit to Screen option.
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.
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.
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.
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.
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.
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.
This setup has been fairly stable thus far. However, it does use up quite a fair bit of CPU processing power.
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!