Use this guide when you want lower-level control over camera-based heart rate in a browser app. For the recommended high-level API, start with rPPG in a browser app.
What this guide covers
This guide shows how to:- capture webcam frames in the browser
- detect a face and extract a face region
- feed samples into the rPPG processor
- read live BPM and signal quality
- improve estimates with Muse PPG when available
Before you start
You need:@elata-biosciences/rppg-web- a browser with camera access (
getUserMedia) and WebAssembly support https://orlocalhost
rPPG works best when the face is well lit, mostly still, and fully visible in frame.
Choose a starting point
Start from a demo
Scaffold a working browser app if you want the fastest path to a reference implementation.
rPPG Web getting started
Learn the package entry points and the higher-level browser API.
Frame sources
See the lower-level camera and face-detection primitives used in this guide.
Calibration and fusion
Add Muse-based calibration when you want stronger estimates.
Quick integration with DemoRunner
DemoRunner handles frame capture, face detection, ROI extraction, and processing in one flow, while leaving you in control of the processor.
Manual pipeline
Use the manual path when you want tighter control over face tracking, sampling, or how your app renders intermediate results.1
Load the face model and create a frame source
2
Create the processor
3
Push samples from the face ROI
4
Start the camera and read metrics
Add Muse calibration
If a Muse device is available, you can use its PPG as a reference signal to improve camera-based estimates.For a fuller fusion workflow, including
MuseFusionCalibrator and calibration models, continue to /sdk/rppg-web/calibration.Quality checklist
Use this checklist before debugging the pipeline:- keep lighting even across the face
- reduce head movement
- wait 5 to 10 seconds before trusting early BPM output
- make sure a face ROI is actually being detected
- enable
useSkinMaskwhen you useDemoRunner
Where to go next
rPPG Web getting started
Learn the package surface and the higher-level browser session API.
Frame sources
Understand the camera and face-detection primitives in more detail.
Calibration and fusion
Improve estimates with Muse-based calibration and multi-source fusion.
create-elata-demo
Start from a working reference app if you want a faster onboarding path.