In this video we’re setting up a virtual camera in OBS on Linux. You can use this to send your OBS output to applications like Skype, Zoom, Discord, Teams, and Jitsi.
Checking OBS version
The first thing we want to do is check our OBS version. You can do this from the menu Help > About. You will need OBS version 26.1 or higher.
Installing v4l2loopback
This allows you to create “virtual video devices” for OBS. Normal (v4l2) applications will read these devices as if they were ordinary video devices.
Debian / Ubuntu
sudo apt install linux-headers-$(uname -r) v4l2loopback-dkms
Fedora
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm sudo dnf install kernel-headers v4l2loopback
Arch / Manjaro
pacman -S linux-headers v4l2loopback-dkms
OpenSUSE
sudo zypper install kernel-devel v4l2loopback v4l2loopback-autoload
Note: remember to reboot the system after installing v4l2loopback.
Starting the OBS virtual camera
Once you’ve rebooted the system and launched OBS you should see a new menu item labeled Start Virtual Camera. Click on it and enter your super user password.
Selecting the OBS virtual camera
In your video application you should now have the option to select the OBS Virtual Camera.
Controlling OBS Virtual Camera output
Anything shown in the OBS preview window will be sent to the virtual camera. The video will be mirrored (this is normal) but will be displayed correctly on the receiving end.
Final words
Having a virtual camera built into OBS is really neat and easy to set up. I’ve used it for game night and video conferencing. If you have any questions leave a comment on the YouTube. Like what we do? Support our shenanigans on Patreon.