opensourceprojects.dev

A broadsheet for software that doesn't ask for your email

Turn any camera into a Linux webcam with a single command
GitHub RepoImpressions3

Project Description

View on GitHub

Turn Any Camera Into a Linux Webcam with One Command

Ever wish you could use that old DSLR, a GoPro, or even a phone camera as a proper webcam on Linux without installing a mountain of drivers or fighting with V4L2 loopback? Turns out, there's a tool that makes this stupid simple.

Meet webcamize — a single-command utility that turns virtually any camera into a Linux webcam. No kernel modules to compile, no USB gadget mode hacks, just a clean pipe from your camera to a virtual video device.

What It Does

Webcamize is a lightweight Go tool that creates a /dev/videoX device (a virtual webcam) from any camera that supports a streamable URL or an rtsp/rtmp source. Under the hood, it uses ffmpeg to capture frames and pipes them into a V4L2 loopback device.

The basic usage? Something like:

webcamize rtsp://192.168.1.100:8554/stream

Or if you have an Android phone over ADB:

webcamize adb://

It automatically detects available cameras, sets up the correct resolution and framerate, and then drops you a working /dev/videoN that apps like Zoom, OBS, or Firefox can use immediately.

Why It’s Cool

A few things make webcamize stand out:

  • No dependencies beyond ffmpeg and v4l2loopback. You probably already have both installed.
  • It works with RTSP, RTMP, HTTP streams, and even ADB over USB. That includes IP cameras, GoPros (RTSP source), or your phone via scrcpy-style ADB.
  • Zero configuration. No YAML files, no flag soup. The tool auto-detects resolution and framerate from the source stream.
  • Respects system resources. It’s optimized to handle variable bitrate streams without hogging CPU, unlike running ffmpeg raw in a loop.

For developers, this is especially handy for:

  • Testing video pipelines with various camera inputs
  • Creating reproducible webcam setups for CI or headless devices
  • Streaming from remote cameras to local apps

How to Try It

Getting started is straightforward:

  1. Install dependencies:

    sudo apt install ffmpeg v4l2loopback-dkms
    sudo modprobe v4l2loopback
    
  2. Grab the binary from GitHub releases:

    wget https://github.com/cowtoolz/webcamize/releases/latest/download/webcamize-linux-amd64
    chmod +x webcamize-linux-amd64
    
  3. Point it at a camera:

    ./webcamize-linux-amd64 rtsp://192.168.1.101:554/stream1
    
  4. Open your video call app and select the new webcam device (usually /dev/video2 or similar).

That’s it. No reboot, no package conflicts.

Final Thoughts

Webcamize is one of those tools that makes you wonder why nobody built it sooner. It’s not flashy, but it solves a genuinely annoying problem (Linux webcam support) with the simplest possible interface. If you’re a dev who regularly works with video streams or just wants to use a real camera for meetings without buying a dedicated USB webcam, give it a shot.

And hey, if you want to dig into the code or contribute, it’s all open source at the repo below.


Found this on @githubprojects

Back to Projects
Project ID: fe59bdd0-13ce-4c99-b505-9812ee65de96Last updated: July 7, 2026 at 02:44 AM