Webcamize
Use (almost) any camera as a webcam
Install / Use
/learn @cowtoolz/WebcamizeREADME
<br/> <div align="center"> <img src="./doc/assets/header.svg"> <div id="user-content-toc" align="center"> <ul> <summary><h1>webcamize</h1></summary> <summary><h2>Use (almost) any camera as a webcam!</h2></summary> </ul> </div> <!-- <strong> <samp> [English](readme.md) · [简体中文](localized/readme.zh-CN.md) · [繁體中文](localized/readme.zh-TW.md) · [한국어](localized/readme.ko.md) </samp> </strong> --> <div> <img alt="Language badge: C 100%" src="https://img.shields.io/github/languages/top/cowtoolz/webcamize?style=flat-square"> <img alt="License badge: License BSD-2-Clause" src="https://img.shields.io/github/license/cowtoolz/webcamize?style=flat-square"> <br> <br> </div> </div>[!IMPORTANT] Progress is underway towards full support for both macOS and Windows. Significant help is needed in testing on these platforms.
Webcamize allows you to use basically any modern camera as a webcam on Linux—your DSLR, mirrorless, camcorder, point-and-shoot, and even some smartphones/tablets. It also gets many webcams that don't work out of the box on Linux up and running in a flash.
<div align="center" width="33%"> <br> <img src="./doc/assets/demo.gif" style="width:75%;"> </div> <br> <div align="center" width="33%">There's literally only two steps...
1. Plug in your camera
2. Run the webcamize command
Now your camera is a webcam! 🎉
</div> <div align="center"> <br>Using webcamize
<img src="./doc/assets/usage.svg"> </div> <br>Webcamize is designed to be as easy to use as possible. Just plug in your camera, turn it on, then run the webcamize command:
$ webcamize
In the vast majority of cases, that's all you'll need to do. You might be asked to enter your password to enable and configure the video device.
View the list of supported cameras and devices.
Advanced Usage
$ webcamize --help
Usage: webcamize [OPTIONS...]
-s, --status Print a status report for webcamize and quit
-c, --camera NAME Specify a camera to use by its name; autodetects by default
-f, --file [PATH] Output to a file; if no argument is passed, output to stdout
-w, --wait Daemonize the process, preventing it from exiting
-x, --no-convert Don't convert from input format before writing
-p, --fps VALUE Specify the maximum frames per second (default: 60)
-l, --log-level LEVEL Set the log level (DEBUG, INFO, WARN, FATAL; default: INFO)
--no-color Disable the use of colors in the terminal
-v, --version Print version info and quit
-H, --help Show this help message
<div align="center">
<br>
Installation
<img src="./doc/assets/installation.svg"> </div>Package Managers
<div align="right"> </div>[!NOTE] Webcamize is a small hobby project and probably not available via your distribution's package manager (yet)—if you want to support the project by maintaining a package for webcamize, I'd be eternally grateful.
Arch Linux (AUR)
Webcamize is available from the Arch User Repository as webcamize
$ yay -S webcamize
<!-- #### Nix & NixOS (Nixpkgs)
Webcamize can be found in [Nixpkgs](https://aur.archlinux.org/packages/webcamize) as `webcamize`
```console
$ nix-env -iA webcamize
``` -->
Building From Source
Webcamize has a few additional dependencies that you should make sure are installed before beginning:
- libgphoto2
- ffmpeg (libavutil, libavcodec, libavformat, libswscale)
- v4l2loopback DKMS
- libkmod
- Linux headers
These should be available from your package manager.
1. To get started, clone this repo somewhere
$ git clone https://github.com/cowtoolz/webcamize && cd webcamize
You don't have to, but you should check out a tag. To checkout the latest tag automatically:
$ git checkout $(git describe --tags $(git rev-list --tags --max-count=1))
2. Build Webcamize
Webcamize doesn't require any configuration; you can just run make.
$ make
2. Install Webcamize
If ~/.local/bin/ is on your path, you can use the install-local target—otherwise, use the normal install target:
$ echo $PATH | grep -q ~/.local/bin && make install-local || sudo make install
Webcamize can be uninstalled with the uninstall-local and uninstall targets respectively, but if you installed it from source you should be able to safely rm $(which webcamize).
That's all; you're ready to go! 🎉🎉
<!-- --> <div align="center"> <br>Issues & Contributing
<img src="./doc/assets/issues.svg"> </div> <br>This project follows the following philosophy:
- If this project is not helping you, then there is a bug
- If you are having a bad time using this project, then there is a bug
- If the documentation is confusing, then the documentation is buggy
- If there is a bug in this project, then we can work together to fix it.
If you find yourself stumped, find a bug, have a bad time using webcamize, or have a suggestion that could make webcamize better, please open an issue in the issue tracker—noobs welcome!
<div align="center"> <br>Cheers!
<img src="./doc/assets/cheers.svg"> </div> <br>Webcamize does little more than orchestrate other open source software; the software it depends on is where the real magic happens. With that being said, a big thanks goes out from me to:
- Michael Niedermayer and other contributors to ffmpeg for their incredible work on the absolute behemoth that is ffmpeg.
- Marcus Meissner, Hans Niedermann, and the other contributors to libgphoto2. This project is underrated given the insane quality and scope.
- You, the reader! Thank you for using, supporting, and contributing to webcamize; without you, this project would not be possible.
Related Skills
qqbot-channel
349.7kQQ 频道管理技能。查询频道列表、子频道、成员、发帖、公告、日程等操作。使用 qqbot_channel_api 工具代理 QQ 开放平台 HTTP 接口,自动处理 Token 鉴权。当用户需要查看频道、管理子频道、查询成员、发布帖子/公告/日程时使用。
docs-writer
100.4k`docs-writer` skill instructions As an expert technical writer and editor for the Gemini CLI project, you produce accurate, clear, and consistent documentation. When asked to write, edit, or revie
model-usage
349.7kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
Design
Campus Second-Hand Trading Platform \- General Design Document (v5.0 \- React Architecture \- Complete Final Version)1\. System Overall Design 1.1. Project Overview This project aims t
