Skip to main content

Overview

This guide walks through the complete rPPG flow: capture webcam frames, detect a face with MediaPipe, extract the green channel from the face ROI, and produce a real-time heart rate estimate.

Prerequisites

  • @elata-biosciences/rppg-web installed
  • Browser with camera access (getUserMedia) and WebAssembly support
  • HTTPS or localhost for development

Quick Start with DemoRunner

The fastest path uses DemoRunner which handles frame capture, face detection, ROI extraction, and processing:

Manual Integration

For full control over the pipeline:

With Muse PPG Fusion

If a Muse headband is connected, use its PPG as ground truth to calibrate camera estimates:

Architecture


Tips

  • Lighting matters — rPPG works best with even, consistent lighting on the face
  • Minimize motion — head movement degrades signal quality
  • Wait 5-10 seconds — the processor needs a full window of data before producing reliable estimates
  • Check quality — only display BPM when metrics.quality exceeds your threshold (e.g., > 0.5)
  • Use skin masking — set useSkinMask: true in DemoRunner for better signal extraction