git clone https://github.com/aadi-joshi/cam3.git
cd cam3| OS | Command |
|---|---|
| Windows | Double-click run.bat or .\run.bat in PowerShell |
| macOS / Linux | chmod +x run.sh && ./run.sh |
First run creates .venv and installs deps. Tray icon appears. Left-click for transform controls.
Before that (once per machine):
| OS | Virtual camera |
|---|---|
| Windows / macOS | Install OBS. Start Virtual Camera, stop, quit OBS. |
| Linux | ./scripts/setup-linux-vcam.sh |
In Meet or Zoom, select the virtual camera (OBS Virtual Camera or the cam3 loopback device), not your normal webcam.
Webcam → OpenCV → pyrender (.glb overlay) → pyvirtualcam → virtual cam.
Drop models in models/. Tray → Load model → Refresh list.
# manual run (same as run.sh / run.bat)
python -m venv .venv
source .venv/bin/activate # Windows: .\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python main.py --check
python main.pyFlags: --list-cameras --camera 1 --model path/to/file.glb --vcam-device /dev/video10 (Linux)
Linux headless 3D: export CAM3_GL=egl or CAM3_GL=osmesa
CAM3_MIRROR=0 if the screen pad feels flipped.
Animate tab: spin, wiggle, bob, orbit, breathe, float, or a custom draggable wave loop.
| Transform controls | Move / rotate / scale / animate panel |
| Load model | .glb in models/ |
| Wireframe cube | Default on startup |
| None | Webcam only |
| Lock / Reset / Exit |
