Skip to content

aadi-joshi/cam3

Repository files navigation

cam3

cam3

GLB on your webcam. Virtual camera out to Meet and Zoom.

Python 3.10+ Windows macOS Linux MIT


Run it (30 seconds)

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.


What it does

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.py

Flags: --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.


Tray

Transform controls Move / rotate / scale / animate panel
Load model .glb in models/
Wireframe cube Default on startup
None Webcam only
Lock / Reset / Exit

Demo Video

demo.mp4
Demo model: V1 from ULTRAKILL on Sketchfab (CC BY). Character by Hakita / New Blood Interactive. Not included in the repo.
https://sketchfab.com/3d-models/v1-ultrakill-d951a08a8f50412d84e262bad887b285

License

MIT © Aadi Joshi

About

Directly render 3d models in your camera using OBS

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages