We don't all have a working webcam and purchasing one to use occasionally is not always a wise decision.
If you've got an Android 12+ device with a built-in camera and a PC/laptop running Linux, you're all set! scrcpy (pronounced screen copy) enables the mirroring of an Android device's camera as a webcam, among other features.
Install scrcpy
To get started, follow these instructions to install scrcpy on your system.
Install Video4Linux
Install v4l2loopback-dkms on your system so that your Android device can send the video stream to a virtual v4l2 loopback device. You can find the installation steps for your Linux distro online.
Create a virtual video device
Create a virtual video device to stream your Android device camera's feed to:
sudo modprobe v4l2loopback
List video devices
List all video devices on your system to check whether the virtual video device has been created (the following command should output /dev/videoN, where N is an integer):
v4l2-ctl --list-devices
Enable USB debugging
Enable USB debugging on your Android device.
Connect Android device
Connect your Android device to your PC/laptop, preferably via USB.
Stream video
For the sake of simplicity, let's say your virtual video device is /dev/video0 and your Android device camera's resolution is 1920x1080. Stream your camera feed (if a window pops up on your Android device, prompting you to allow USB debugging, allow it):
scrcpy --v4l2-sink=/dev/video0 --video-source=camera --camera-facing=front --no-audio --camera-size=1920x1080 --orientation=flip0
Detach the virtual video device
You can delete the virtual video device after you've disconnected your Android device from your PC/laptop:
sudo modprobe v4l2loopback -r
References
This article was inspired by Abish Vijayan's article.