-
Notifications
You must be signed in to change notification settings - Fork 180
My solution to missing necessary steps to have virtual camera on browsers (chromium+firefox) on Debian13 #304
Description
I am happy to finally have droidcam working on my system! Writing this report so that the instructions can be updated for more user friendliness.
My system:
Thinkpad T480s, Debian 13 KDE, iphone13pro.
flatpak route:
I followed all 3 steps and installed the v4l2loopback module. All via the terminal, but still no "start virtual camera" option. OBS and DroidCam client detects my phone fine. But without the virtual camera, it's not useful.
Debian 13 repo route:
- install OBS studio
- in the terminal run
ffmpeg -version. Here I found out that debian 13 comes with ffmpeg 7.1.3 - I then proceed to the release history of OBS droidcam plugin linked here https://github.com/dev47apps/droidcam-obs-plugin/releases, do a
ctrl+ffor "ffmpeg". The release version that uses ffmpeg7 is v2.4.1. - I then download this and run the automatic install
sudo chmod +x ./install.shthen./install.sh - install the v4l2loopback module
- VIOLA! "Start virtual camera" is now in OBS!!
- BUT!! when I start it, I was having this error
Starting the output failed. Please check the log for details.
Note: If you are using the NVENC or AMD encoders,
make sure your video drivers are up to date.
-
Then I figured out that I have to run this code to enable the v4l2loopback
sudo modprobe v4l2loopback[1] -
YESS!! the virtual webcam is running!!!! Tests were done with this site https://webcamtests.com/mirror
-
The virtual webcam registers in firefox (zen browser) BUT NOT in chrome!!
-
Figured out that I have to run
sudo modprobe v4l2loopback exclusive_caps=1[2] -
Chrome (and helium browser) now detects the virtual webcam!!!
-
BUT!!! when I restart, it doesn't work again! I have to run the modprobe thing always.
-
Permanent solution (with the help of AI, duck.ai/chat):
-
disable any running session
sudo modprobe -r v4l2loopback -
Create this file
sudo nano /etc/modprobe.d/v4l2loopback.conf -
Inside the file, paste this
options v4l2loopback exclusive_caps=1 card_label="Virtual Webcam" devices=1 video_nr=21. -
save and exit
-
reload the v4l2loopback
sudo modprobe v4l2loopbackor reboot your system.It should run now by default and your browsers will see the virtual webcam
Important note: this approach works with DroidCam linux client without issues. No need for OBS studio.
Hope it saves you 3 hours of headache.
References:
[1] https://community.frame.work/t/i-cant-start-the-virtual-camera-in-obs-ubuntu-framework-13/57388/23
[2] https://stackoverflow.com/questions/68433415/using-v4l2loopback-virtual-cam-with-google-chrome-or-chromium-on-linux-while-hav