Add filters (background blur, etc) to your webcam on Linux.

Video conferencing applications tend to either lack video effects altogether or support only a limited set of capabilities on Linux (e.g. Zoom [1], Google Meets [2]).

Goal here is to provide a virtual webcam via v4l2loopback with a common set of filters that can be used everywhere.


Passthrough (no-op):

$ webcam-filters --input-dev /dev/video0 --output-dev /dev/video3

Blur background:

$ webcam-filters --input-dev /dev/video0 --output-dev /dev/video3 --background-blur 150


Other than the Python dependencies that can be automatically installed by Pip, there are a few system dependencies that require manual attention.


v4l2loopback kernel module is required to emulate a virtual webcam. See your distro's docs or v4l2loopback on how to install and set it up (e.g.

You'll probably want to create at least one loopback device (that's persistent on boot):

$ sudo tee /etc/modprobe.d/v4l2loopback.conf << "EOF" # /dev/video3 options v4l2loopback video_nr=3 options v4l2loopback card_label="Virtual Webcam" options v4l2loopback exclusive_caps=1 EOF $ sudo modprobe v4l2loopback $ v4l2-ctl --device /dev/video3 --info



You can either use pipx or pip. Pipx is recommend to keep dependencies isolated.

Latest stable:

$ pipx install --system-site-packages webcam-filters $ # Or $ pip install --user webcam-filters

Latest pre-release:

$ pipx install --system-site-packages --pip-args='--pre' webcam-filters $ # Or $ pip install --user --pre webcam-filters


$ url="git+" $ pipx install --system-site-packages "$url" $ # Or $ pip install --user "$url"

[1]Zoom desktop client supports background blur as of version 5.7.6. Zoom on web does not.
[2]Google Meets supports background blur only on Chrome.


GitHub - breakdowns/drive-searchbot: Google Drive file searcher
Google Drive file searcher. Contribute to breakdowns/drive-searchbot development by creating an account on GitHub.