I’ve been wanting to level up my meeting look and sound for a while. I’ve been hearing about how you can output OBS Studio as a virtual camera so that you can use it as your webcam in Microsoft Teams. So, here are my notes on how I set it all up.
Installing Virtual Camera
First, I Installed the loopback camera module from the Ubuntu repository:
sudo apt install v4l2loopback-dkms
Originally, I had some issues with the plugin installation, so I might have taken a few extra steps here. But, it works, so I don’t have any complaints.
To make it automatically load on boot, I added this line to the end of /etc/modules:
sudo bash -c 'echo v4l2loopback >> /etc/modules'
Then, I added this line to the modprobe conf file:
sudo bash -c 'echo options v4l2loopback video_nr=5 card_label="vcam" > /etc/modprobe.d/v4l2.conf'
Finally, to use it the first time (without having to reboot), I ran the modprobe command. I’m not sure if this was necessary.
sudo modprobe v4l2loopback
Now, the OBS plugin makes starting and stopping the stream easier. I downloaded the plugin deb package from the github release page. Then, I installed the deb from the commandline:
sudo apt install ~/Downloads/obs-v4l2sink.deb
For some reason, the Deb package apparently places the files in the wrong place. I copied the files into my user plugins directory (which I had to create first).
cd ~/.config/obs-studio
mkdir plugins
cd plugins
cp -r /usr/share/obs/obs-plugins/v4l2sink/ .
mkdir -p $HOME/.config/obs-studio/plugins/v4l2sink/bin/64bit
cp /usr/lib/obs-plugins/v4l2sink.so $HOME/.config/obs-studio/plugins/v4l2sink/bin/64bit
After that, the plugin shows up in the tools menu.
DroidCam OBS
On my new setup, I have my laptop off to the side. That means that the webcam built into the laptop isn’t in the best position. Instead, I’d like to use the camera on my phone as the camera for the meeting. The best way I found is with the DroidCam app/plugin.
First, I installed the app on my phone. it’s DroidCam on the play store.
I downloaded the plugin from Dev47Apps. I extracted the zip file to $HOME/.config/obs-studio/plugins
After installing, you can add a “DroidCam OBS” source to your scene.
OBS Setup
To make it work, I opened two different instances of OBS. The bottom is for the webcam, and the top is for desktop sharing.
On the bottom one, I opened a Windowed projector. I right clicked on the preview, and selected “Windowed Projector”.
Then, in the top window, I was able to add a “Window Capture” source.
Then, I started the virtual camera on the bottom window so that Teams could use that one. You can find it in the menu at Tools > v4l2loopback.
You just have to hit Start and then you can close this window.
Finally, in the Teams device settings, I selected “vcam” as my Camera device. That pulls in the output from OBS:
Lastly, Teams has not given me the option to share a single window. It only allows me to select one of my desktops. So, I can use the top OBS window to control what shows. I just output that OBS on my 3rd screen that I can share on the Teams call. I can do that by right clicking on the preview window and selecting Fullscreen Projector (Preview) > Display 3.