@elata-biosciences/rppg-web.
The core idea is simple: let createRppgSession() own the browser runtime,
video processing loop, and diagnostics while your app owns the UI.
What You Will Build
You will:- install
@elata-biosciences/rppg-web - request camera access
- attach the stream to a
videoelement - start
createRppgSession() - read metrics and diagnostics
- stop the session during cleanup
Step 1: Install The Package
Step 2: Prepare A Video Element
Your app needs avideo element that can receive the camera stream.
autoplayso playback can start once the stream is attachedplaysinlinefor mobile browser behaviormutedto keep autoplay rules out of the way
Step 3: Acquire Camera Access
Step 4: Start createRppgSession()
- packaged WASM backend init
- frame capture
- ROI/session orchestration
- diagnostics emission
- cleanup support
Step 5: Read Metrics In Your UI
Step 6: Clean Up Correctly
When the component, route, or page is leaving, stop the session and release the camera stream:What To Do With Diagnostics
The quickest useful app behavior is:- show whether the session is
running,degraded, orfailed - display human-readable guidance when
issuesappear - block publishing or scoring until your app has enough stable samples
createManagedRppgSession()createRppgAppAdapter()createRppgAppMonitor()
createRppgSession() first.
Common Problems
session.getDiagnostics().backendModeisunavailable: your app is likely not serving packagedpkg/assets correctly- Camera access fails: check browser permissions and
getUserMediasupport - The session reaches terminal
failed: recreate the session instead of trying to keep using the same poisoned processor - You are trying to debug lower-level generated bindings first: start with
createRppgSession()unless you are intentionally debugging the SDK itself
Next Steps
- rPPG package reference: rppg-web
- Shorter integration guide: rPPG In A Browser App
- Best first-time setup path: Build Your First Elata App