I used to use my Android smartphone as webcam for Zoom / Skype / Google Meet / etc because my laptop’s webcam is so bad. This is possible thanks to the Droidcam app.
But sometimes there are problems, like the wifi got interference so the video would slow down or freeze for a while. And for long conference / meeting, it got my phone pretty hot because sometimes I have to charge it. And of course I can’t use my phone while it’s being used as webcam.
So I bought Logitech C920 Pro webcam, and started using it instead. In Linux it’s recognized and can bs used straight away.
But you may need to tweak its image quality a bit using guvcview before being used for work.
The picture quality is not as good as my smartphone’s , because my smartphone is heavily processing the images, so it came out even with HDR quality, in real-time. But as a daily work webcam, this Logitech webcam is good enough.
Then I need to start using Green screen as well with this webcam. There’s one problem – my Green screen is not wide enough to cover the webcam’s wide angle.
With Droidcam, this is not a problem, there’s a “Zoom” feature. So I just Zoom-in, until the green screen fills the view.
But since Logitech does not provide any kind of software for this webcam on Linux, I use OBS instead.
Using OBS, I can set up green screen in it, so we don’t need to use Zoom’s green screen / Virtual Background feature. And also that means all other software (Google Meet, Skype, etc) will automatically got the already green screened video from OBS.
To zoom-in in OBS, I just enlarge the webcam’s image box, until the green screen fill the view.
To activate green screen, I use the Chroma key filter.
To make OBS become a video source, we’ll need to install obs-v4l2sink : https://github.com/CatxFish/obs-v4l2sink
Turned out there are a few problems installing it in Ubuntu 20.04 , we’ll discuss here the workaround for those:
# Another possible solution is using Snap's version of OBS, # which already include v4l2loopback kernel module # & obs-v4l2sink plugin # sudo snap install obs-studio. # sudo modprobe v4l2loopback video_nr=10 card_label=”OBS Video Source” exclusive_caps=1 # If by any reason you can't use this Snap-based solution, # then continue : # download needed software for compilation sudo apt-get update ; sudo apt-get install -y install obs-studio git cmake build-essential libobs-dev ffmpeg qtbase5-dev cd /tmp ; mkdir myobscode ; cd myobscode # get OBS' source code git clone --recursive https://github.com/obsproject/obs-studio.git # get plugin's source code git clone https://github.com/CatxFish/obs-v4l2sink # compile the OBS plugin cd ~/obs-v4l2sink mkdir build && cd build cmake -DLIBOBS_INCLUDE_DIR="../../obs-studio/libobs" -DCMAKE_INSTALL_PREFIX=/usr .. make -j4 sudo make install sudo cp v4l2sink.so /usr/lib/obs-plugins/ sudo cp /usr/lib/obs-plugins/v4l2sink.so /usr/lib/x86_64-linux-gnu/obs-plugins/ # Turned out we need to compile and build v4l2loopback by ourselves - this is because the Ubuntu's version is too old # Thanks to user jplandrain : # https://github.com/CatxFish/obs-v4l2sink/issues/54#issuecomment-722966599 cd .. sudo apt-get remove v4l2loopback-dkms git clone --branch v0.12.5 https://github.com/umlaeute/v4l2loopback.git cd v4l2loopback make && sudo make install # make v4l2loopback automatically loaded by kernel after reboot echo "v4l2loopback" >> /etc/modules-load.d/modules.conf echo 'options v4l2loopback video_nr=2' >> /etc/modprobe.d/v4l2loopback.conf echo 'options v4l2loopback card_label="VirtualCam"' >> /etc/modprobe.d/v4l2loopback.conf echo 'options v4l2loopback exclusive_caps=1' >> /etc/modprobe.d/v4l2loopback.conf # load the loopback module into kernel now sudo modprobe v4l2loopback video_nr=10 card_label="OBS Video Source" exclusive_caps=1 # start OBS - now there should be a new menu : # Tools - V4L2 Video Output # also you'll need to tick "Autostart" option after choosing that menu obs &