Aura Camera is our open-source project for browser-based video calls. The extension replaces your webcam background with an image, blurs it, or fills it with a solid color. Processing runs on the user’s computer, while the site keeps working with the regular camera. We released version 0.4.2 for free, with source code under the MIT License.
Goal
The user needs a clean background for a web meeting without setting up OBS, installing a virtual camera system driver, or selecting a new device on every site. At the same time, they want to control the effect before the call: preview the result, choose an algorithm, and reduce the load if the computer can’t keep up.
We set clear boundaries for the project: a desktop Chrome extension that works on HTTP/HTTPS pages, including Google Meet. It should not claim to replace the camera in individual apps or guarantee compatibility with every site. Installation must remain reproducible from an open repository.
Solution
We built a Chrome extension that connects to the browser video pipeline and passes the page processed frames from the regular camera. No separate “Aura Camera” device appears in the system. In the interface, users can choose an image, blur, or color; eight built-in backgrounds are available, along with the ability to upload a custom image.
You can test the camera in a preview before the meeting. The extension includes separate toggles for regular sites and Google Meet, quality settings, a “For Call” load mode, and a quick Selfie profile. By default in version 0.4.2, SelfieMulticlass + RGB is selected. Additional algorithms — RVM, MODNet, and the experimental MiDaS depth correction — are loaded separately by the user if needed.
How Processing Works
A segmentation model builds a person mask. Then the local pipeline composites the original person image with the selected background. An RGB filter on WebAssembly is used to refine the outline; a JavaScript fallback is provided. Optional anti-flicker smoothing reduces small edge fluctuations between frames. Its strength can be lowered or turned off if the outline starts lagging behind movement.
Models and libraries are prepared by the prepare.pyscript. After the first download, they are read from the extension folder. Installation requires desktop Chrome 119+ and Python 3.10+; the user does not need Node.js, a separate pip installation, or a WASM build. The extension is loaded into Chrome as unpacked.
Data and Privacy Boundaries
Frames and masks are processed in the browser memory and are not sent to a separate Aura Camera server. Settings and the image selected by the user are stored in Chrome local storage. During setup, the script downloads models and libraries from external sources, but does not send them camera video.
That does not make the video call itself local: the site receives the final video according to its own rules. The extension also does not protect against a malicious page that may request the camera in another way. We described these limitations directly in the data processing policy.
Testing and Results
For version 0.4.2, the repository published a report on 227 passed automated checks: logic, interface, mask temporal stabilization, browser video pipeline, setup, and updates. Some checks use synthetic frames and controlled model substitutions. This confirms tested code paths, but does not measure the quality of every real call and does not promise a specific FPS on any computer.
The result of the project is the public Aura Camera 0.4.2 test build with source code, installation instructions, a data policy, change history, and reproducible tests. Users can download it for free, test the background before a meeting, and choose the balance of quality and load for their device.
Aura Camera source code on GitHub · Step-by-step installation guide