Skip to content

Advanced Microsoft Teams setup at home office

The Modern Workplace supports the demand to work from anywhere. There are companies today operating mainly from home offices. How much technology is acceptable to use for hiding in the home office?

I have been experimenting with knowledge from the photography business and technology from youtuber’s in the gaming industry to enrich my Microsoft Teams meetings from my home office. The goal has been to have high quality video conferencing with a simplified and quick operation. This attempt is presented in the following low cost one shot video.

Technical rundown

There has been some questions related to this setup on Twitter, so I decided to make a technical rundown of the setup.


In order to have a good picture with studio portrait quality, I need good lights. After exploring different options I ended up ordering an Elgato Key Light Air as my main light. This choice was a combination of price and lamp design and features. This lamp has a great stand, it connects wirelessly to my computer, it is cool and brightness and color can easily be controlled.
In addition I am using some Phillips Hue light sources. I have one color light source behind my monitors for ambience light, and in the ceiling I have a ledbar from IKEA which has been equipped with Hue GU10 white ambience light bulbs. I have created some scenes in the Hue system for my video conferencing setup. Two of the GU10 lights in the ceiling are pointed at the green screen trying to make an even light all over the screen. These lights has a cold temperature set in order to make the color of the green screen stand out. I have also pointed one of the GU10 hue lights towards my head to make a hair light for background separation. This light as a warmer tone set. I don’t think I need any more fill lights for my current setup.
Workplace with hue ambient light

Workplace with hue ambient light and key light

Hue fill lights for green screen and hair light for background separation

Hue ambient light behind monitor
The Hue scene used for videoconferencing.

Green screen

I have considered several types of green screens. Based on my experiences in studio photography I wanted a solid type to avoid folds which in turn can be troublesome related to lighting and chroma key processing. I had my eyes on the roll-up versions from Elgato and Nebula. These are around 148 cm wide, and they seem easy to fold up an down. These can easily be found cheap on second hand webshops since there are a lot of fading youtube stars out there. I read some reviews and found them to require some floor space. They could in some circumstances also be wider. Some where experimenting with two of these to get enough width on the background – this is kind of tricky in order to get a perfect faded overlapping background.
I finally found the 190 cm wide Elgato Green Screen MT which can be easily mounted in the ceiling. This one will cover my entire bookshelf without taking up any space on the floor. I had some concerns related to the weight when mounted in the ceiling, but in practice this was not a problem. Unfortunately no Elgato Green Screen MT was found on second hand marketplaces, but it wasn’t the most expensive one. When bought as new, I also got first class packaging and shipping. I certainly do not regret this choice.
Bookshelf and guitars with Green Screen MT rolled up in the ceiling

Bookshelf and guitars hidden behind Green Screen MT rolled down from the ceiling

Detail from the mounting of the Green Screen MT in the ceiling

Green Screen processing

In order to do a chroma key processing of the green screen, I am using the OBS Studio freeware. This is a software primarily made for streaming to Twitch, YouTube and other services. In this project I am using the VirtualCam function found in the Tools menu. This sends the output mix from OBS to Windows as a virtual camera driver and can therefore be selected as source in Microsoft Teams. The VirtualCam has been set to AutoStart.

Configuration of the VirtualCam in OBS
OBS-Camera selected as Camera in Teams – Settings – Devices – Camera

In OBS I have configured different scenes and scene transitions. Each scene can consist of a mix of several sources, including physical cameras attached to the computer, images, media sources and more. As a webcam I am currently using a Logi HD Pro WebCam C920. Inside OBS I have added a Chroma Key effect filter to this camera source in order to make a transparent background from the green screen. This combined with some environmental photos can make some exciting scenes. The OBS software has a lot of advanced opportunities, and you can easily find information and inspiration on this on YouTube.

1: Scenes, 2: Sources used in scenes, 3: Scene transitions, 4: Filters used on sources in scene
1: Add the Chroma Key filter, 2: Adjust the different variables, 3: Pay attention to the edge transitions


OBS has a rich pallette of options and third party plugins. One great valueadd to OBS studio is the StreamFX pluging which has a couple of great filters to enrich your setup. Alpha Gaming is giving a nice overview of this in his YouTube channel. I use the Blur filter from this package to add a small amount of blur on my background image. This technique can be used to imitate a picture with a shallow depth of view often seen by using DSLR’s with pricy optics connected through Elgato Cam Link.

StreamFX Blur plugin applied to my background image


When working on the different backgrounds, it is allways funny and effective to have props to put on your self in order to enhance the effect. A couple of examples in the following images.
Having a good time at my cottage

Having a good time at my home office, aka “jammekontor”

Having a rough time out in the field

Control Panel

In order to operate these technologies quick and easy, I am using a Stream Deck from Elgato. This system with all of its plugins has innumerable opportunities regarding automation and control. I have created many functions that support me throughout the day in the office. 
Elgato Stream Deck located under my monitors
In order to easily do a Microsoft Teams meeting, I have set up a Multi Action button with 10 actionpoints [1: Launch OBS Studio, 2: Pause Spotify, 3: Set Hue scene for videoconferencing, 4: Turn on KeyLight, 5: Set Key Light temperature, 6: Set Key Light brightness, 7: Select OBS Scene, 8: Move Microsoft Teams to full screen, 9: Delay for 3s 10: Go to Calendar in Teams].
Configuration of the Multi Action button for starting a Teams meeting

Actions included in the Multi Action button for starting a Microsoft Teams meeting

In the same way I have created a Multi Action button with 4 actions to use when ending a Micreosoft Teams meeting [1: Play Spotify, 2: Set Hue scene for normal office work, 3: Turn off Key Light, 4: Minimize Microsoft Teams 4: End OBS Studio]

Actions included in the Multi Action button for ending a Microsoft Teams meeting

During a Teams meeting I have found it handy to have some special actions available. These are located in a separate folder containing a new set of buttons. Today I am using these to switch between the different scenes in OBS. These scenes includes different backgrounds, screensharing with talking head etc. I have also made a button for muting the microphone.

Stream Deck with OBS Scene controls and Mic mute
OBS Scenes with corresponding buttons for toggling sources on and off

Teams meeting with OBS VirtualCam

Teams meeting with OBS VirtualCam and Background Blur in Microsoft Teams

Teams meeting with OBS Scene in with screen sharing and talking head

The talking head challenge

I do experience some blured image quality on screensharing through OBS Virtual Camera plugin to Microsoft Teams meeting. I have tried to figure this out without any success yet. In a regular Teams meeting with VirtualCam, I don’t think screensharing through OBS and VirtualCam is a good idea.

I have found a working setup for sharing your screen with a talking head directly to a Teams meeting. This requires multiple monitors. In my example I have a 3 monitor setup. This setup will give sufficient quality on the content shared into the meeting.

  • Monitor#1 is used as a stage, running OBS in fullscreen projection. I have a scene with content from Monitor#2 and a talking head overlay. I will share Monitor#1 into the Teams meeting. 
  • Monitor#2 will be the workspace for content shared to the meeting. All content on this monitor will be shared to the meeting (powerpoints etc). A pro tip would be to place the cam and the workspace monitor in such a way that your head is looking inbound to the monitor in the shared window when working.
  • Monitor#3 is my Teams management monitor used to control the Teams meeting, OBS settings etc. This should be the main monitor for popups etc.
Three monitor setup for sharing screen with talking head into Teams
Right click in the preview and select Fullscreen Projector

Stream Timer 

In some cases, a counter is desirable. This is often done with the help of a third party software updating a txt file which is added as a text layer in OBS. There are many free providers, some simple while others are more advanced. One example is which can do both count down and count up in addition to have a leading text and a separate ending text. This can even be triggered directly from Stream Deck! Another simple one is the free Countdown Timer v2.0.
My Stream Timer implemented in OBS

Teams Live Events

Luca Vitali has described a routine for using OBS as a source to Microsoft Teams and Stream Live Events. This routine is not using the VirtualCam, but OBS is streaming directly to the Teams Live Event. In such cases I guess the scene with screensharing and talking head is Ok.

The Pomodoro challenge

I got challenged by Ståle Hansen to include his Pomodoro powershell script into the Stream Deck. This has been testet and found Ok. I had some initial problems when using the “advanced launcher” plugin loading “C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -file Start-SimplePomodoro.ps1”. This powershell session didn’t find the “presentationsettings” command. I had to use the “Super Macro” plugin instead. Now I have a separate button on my Stream Deck for launching 20 minutes of focus with no distractions.

Pomodoro powershell added as a button in my Stream Deck.

Alternative Pomodoro routine created with actions in Stream Deck

Embrava Busy Light

After the korona virus breakout, I have had my house full of three kids since the norwegian schools and kindergardens where closed. In order to let the kids know my working status at the home office, I have extended my home office setup with an Embrava Blynclight. This light indicates when I am “on air”. This gives a better experience to my calls and meetings run from the home office during this pandemy.
Busy light on my monitor before it was moved next to the door leading to the home office.
PS! After a quick computer reset (windows autopilot), I had a problem connecting the blynclight to Microsoft Teams. This got solved after installing the Skype for Business client (the Office installation came without SFB client which I needed for customer support). Embrava support has investigated this issue and found that the Office 365 installation suite some times corrupting the registry keys required for Office Chat API interface. If such registry keys are corrupted then the Office Chat API interface won’t work. A re-install or repair of the Office installation are often fixing this issue. In my case, the installation of the Skype for Business Client did. Embrava is working on a new driver version connecting directly to the Microsoft Teams server in order to get arround this problem. My guess is that they will use the Microsoft Graph API.

Snap Camera

Snapchat has lauched the Snap Camera application for Windows and MAC, bringing the magic of lenses to the video chats on PC & Mac. This can be used directly into Teams, and it can also be included in the OBS Studio. Could be kind of funny in some situations, but mostly annoying. It is also annoying that Snap Camera requires exclusive access to the webcams on your computer.

Webcamera as source

In the new Windows 10 2004 update (build 18995), it is possible for users to associate network cameras to their PC, enabling photo capture and streaming of video in camera applications. Currently Windows only supports ONVIF Profile S compliant cameras*, which are standards-compliant network cameras optimized for real-time streaming video capture. Windows provides support for discovery, pairing, configuration and streaming via WinRT APIs. These settings are described in this website. I can’t wait to use a live webcamera as a source in my OBS setup!

Logitech Capture

Logitech Capture is an alternative software for managing multiple content, talking head etc. I have done some small tests, but it will not replace my usage of OBS studio. It does not integrate into the Elgato Setup, and the chroma key functions are poor compared to OBS.

Testing Logitech Capture.

Teams Customized Backgrounds

Microsoft is rolling out customized backgrounds as part of the native Teams experience. This means you now can replace the background directly in Microsoft Teams. You will find this option as part of the background blur in your Teams client. This is a nice lowcost feature, but it does not compare to a full green screen setup, and all the features you have in OBS studio – for instance add a background video.

Microsoft will sooon release the option to upload your personal images. You can however do this manually by copying your photos to the following folder: %APPDATA%MicrosoftTeamsBackgroundsUploads

Select background blur and pick your preferred background.
I have added a screenshot of my normal background with me present. Now I can walk away from the meeting but still be present 🙂

Use with other video systems

I have used this OBS Studio setup with the virtual camera plugin with other video systems as well – even Skype for Business. This proves that this setup is universal to all systems utilizing a webcamera on the computer.

End notes

Is this acceptable use of technology or is it overkill? Is this something you could imagine in your office or home office? Microsoft has announced a customized background feature in Microsoft Teams comming later this year. Could it be a good idea to paint a wall in your office green and install a key light for better quality during Microsoft Teams Meetings?

Published inAutomationPowershellScriptTeamsVoice


  1. Love the setup and thanks for all the ideas! Think I have most of them up and operational in my "COVID19-MSTEAMS-STUDIO"

  2. Hi Simon
    Great setup!

    When you run a PP presentation trough Teams, do you then get the talking head at the same time when you present?
    I sruggle a little with my OBS studio and the PP presentation because I cant find any option for PP in OBS menu. Did you solve that issue?

    Best regards,


  3. Fantastic setup! Thanks for sharing all these details. Very inspiring.

    Quick question: You mentioned you have a button to mute your microphone. Is this muting your mic in Teams or elsewhere? And how did you accomplish this? Thx!

  4. I haven't found a good solution for that in a traditional Teams meeting. When sharing the way described above, it will appear in the video feed with a terrible quality. It could maybe be performed by running your ppt show on one monitor which is captured in OBS studio with talking head on a second monitor which is then shared in your Teams meeting – havent tried it, but it might work.
    If you are running Teams Live Event, you can however stream directly to the meeting from OBS Studio. This would be the best option for the talking head I guess.

  5. How did you program the steam deck to open the current meeting directly trough Teams…and how did you program the steam deck to open the PP to present in that meeting?

  6. Great setup Simon. Thanks for sharing. Any way that you can export and import those streamdeck 'scripts".

  7. Simon, I am trying to opened MS Team, but when I tried to pushed the Team App it goes doesn’t app but instead start listing dos command line ?

  8. Hi Simon,
    great article.

    However I am curious:
    as far as I understand, if you push a stream into MS Teams as a virtual camera, it will always display it to you (locally) mirrored. So if you stream a PPT or anything with text (like a caption or so) that will be displsplayed incorrectly.
    That basically means that I can not use a virtual cam at all right now for content that includes any text; which is a big drawback.

    How do you cope with this?

Leave a Reply

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

The reCAPTCHA verification period has expired. Please reload the page.