OBS Virtual Camera Not Showing Up? Here's How to Fix It
You clicked Start Virtual Camera in OBS, switched to Zoom, and the camera is not in the list. This is one of the most common OBS problems, and it is almost always one of five causes. They are ordered below by how often they turn out to be the culprit.
1. The other app was already running
This is the answer most of the time. Zoom, Teams, Discord and Chrome build their camera list when they start. If OBS's virtual camera was not running at that moment, the app simply does not know it exists.
Quit the video app completely — check the system tray on Windows and use Cmd+Q on macOS, because closing the window often leaves it running — then start OBS, click Start Virtual Camera, and open the video app afterwards.
2. The virtual camera was never installed (Windows)
OBS registers its virtual camera during installation. If you used a portable build, or the installer could not write to the registry, the device never got registered.
Reinstall OBS with the regular installer and accept the elevation prompt. Registration writes to HKLM, so it needs administrator rights — an install that ran without them will produce an OBS that works perfectly except for its virtual camera.
3. macOS has not been granted permission, or the plugin is blocked
On macOS, OBS installs a system extension for its camera. The first time you start the virtual camera, macOS asks for approval, and that prompt is easy to miss.
Open System Settings → Privacy & Security and look for a message about blocked system software near the bottom. Approve it, then restart OBS. If you recently updated macOS, the extension may need re-approving.
4. Linux is missing v4l2loopback
On Linux, OBS does not create a camera device by itself. It writes into a loopback device provided by the v4l2loopback kernel module, and OBS will not install that for you.
sudo apt install v4l2loopback-dkms
sudo modprobe v4l2loopback
Check it loaded with lsmod | grep v4l2loopback. Note that modprobe does not survive a reboot unless you add the module to /etc/modules-load.d/. If you installed OBS as a Flatpak there is an additional step — the sandbox has no device access until you grant it:
flatpak override --user --device=all com.obsproject.Studio
Our v4l2loopback guide covers this in more detail, including how to make it persistent.
5. Another app is holding the camera
Most cameras can only be opened by one application at a time. If a browser tab, Teams or a background app already has the virtual camera open, the next app may show it greyed out or skip it. Close anything else that could be using a camera and try again.
Still nothing?
Test outside your video app: open a webcam test page in a browser and see whether the virtual camera appears there. If it does, the problem is the video app's device list — restart it. If it does not, the problem is the virtual camera itself, and steps 2 to 4 are where to look.
If you only wanted to play a video
OBS is a broadcasting suite. If your goal is simply to play a video file as your camera, most of what OBS asks you to configure — scenes, sources, encoders, profiles — is overhead you do not need, and on Linux you still have to set up v4l2loopback by hand.
CamLooper does only that one job: pick a video, start the camera. It installs its own driver on Windows, and the Linux packages install and load v4l2loopback for you, so the device is ready as soon as installation finishes. It is free, and nothing you load ever leaves your machine.